Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 17 Jun 2009 08:19:16 GMT
From:      svn-freebsd-gecko@chruetertee.ch
To:        freebsd-gecko@freebsd.org
Subject:   [SVN-Commit] r39 - in trunk/devel: . nspr nspr/files
Message-ID:  <200906170819.n5H8JGJ5023647@trillian.chruetertee.ch>

next in thread | raw e-mail | index | archive | help
Author: miwi
Date: Wed Jun 17 08:19:15 2009
New Revision: 39

Log:
- Add devel/nspr and update to 4.8

Submitted by:	gahr@

Added:
   trunk/devel/
   trunk/devel/nspr/
   trunk/devel/nspr/Makefile
   trunk/devel/nspr/distinfo
   trunk/devel/nspr/files/
   trunk/devel/nspr/files/patch-..::config::autoconf.mk.in
   trunk/devel/nspr/files/patch-..::configure
   trunk/devel/nspr/files/patch-..::pr::src::pthreads::ptio.c
   trunk/devel/nspr/files/patch-.._pr_include_md__freebsd.cfg
   trunk/devel/nspr/files/patch-.._pr_include_md__freebsd.h
   trunk/devel/nspr/files/patch-.._pr_src_misc_prsystem.c
   trunk/devel/nspr/files/patch-.._pr_tests_Makefile
   trunk/devel/nspr/files/patch-config-nsprc.pc.in
   trunk/devel/nspr/files/patch-libtests
   trunk/devel/nspr/files/patch-pthread_t
   trunk/devel/nspr/files/patch-tests
   trunk/devel/nspr/files/patch-warnings
   trunk/devel/nspr/pkg-descr
   trunk/devel/nspr/pkg-plist

Added: trunk/devel/nspr/Makefile
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ trunk/devel/nspr/Makefile	Wed Jun 17 08:19:15 2009	(r39)
@@ -0,0 +1,82 @@
+# Ports collection Makefile for:	nspr
+# Date created:				18 December 2001
+# Whom:					Maxim Sobolev <sobomax@FreeBSD.org>
+#
+# $FreeBSD: ports/devel/nspr/Makefile,v 1.36 2008/04/03 16:50:42 ahze Exp $
+#    $MCom: ports-experimental/devel/nspr/Makefile,v 1.6 2008/03/12 13:06:56 ahze Exp $
+
+PORTNAME=	nspr
+DISTVERSION=	4.8
+CATEGORIES=	devel
+#MASTER_SITES=	LOCAL/ahze
+MASTER_SITES=	${MASTER_SITE_MOZILLA}
+MASTER_SITE_SUBDIR=	nspr/releases/v${PORTVERSION}/src
+
+MAINTAINER=	gnome@FreeBSD.org
+COMMENT=	A platform-neutral API for system level and libc like functions
+
+WRKSRC=		${WRKDIR}/${DISTNAME}/mozilla/nsprpub/build
+
+USE_LDCONFIG=	yes
+USE_GMAKE=	yes
+GNU_CONFIGURE=	yes
+CONFIGURE_SCRIPT=../configure
+CONFIGURE_ARGS=	--disable-debug \
+		--with-pthreads
+CONFIGURE_ENV=	BSD_PTHREAD_LIBS=${PTHREAD_LIBS}
+
+MAKE_ENV=	DIST=${WRKSRC}/dist
+
+LIBS=		libnspr4.so.1 libplc4.so.1 libplds4.so.1
+
+.include <bsd.port.pre.mk>
+
+post-patch:
+	@${REINPLACE_CMD} -e 's,-lpthread,${PTHREAD_LIBS},g ; s,echo aout,echo elf,g' ${WRKSRC}/${CONFIGURE_SCRIPT}
+.if ${OSVERSION} < 601104
+	@${REINPLACE_CMD} -e 's|pthread_cond_wait|_pthread_cond_wait|g' \
+	    	${WRKSRC}/../pr/src/md/unix/pthreads_user.c \
+		${WRKSRC}/../pr/src/pthreads/ptsynch.c
+.endif
+
+do-install:
+	${MKDIR} ${PREFIX}/include/nspr
+	${TAR} -C ${WRKSRC}/dist/include --dereference -cf - . | \
+		${TAR} -C ${PREFIX}/include -xf -
+	${TAR} -C ${WRKSRC}/dist/lib --dereference -cf - . | \
+		${TAR} -C ${PREFIX}/lib -xf -
+	${INSTALL_SCRIPT} ${WRKSRC}/config/nspr-config ${PREFIX}/bin
+	${MKDIR} ${PREFIX}/libdata/pkgconfig
+	${INSTALL_DATA} ${WRKSRC}/config/nspr.pc ${PREFIX}/libdata/pkgconfig
+.for lib in ${LIBS}
+	${LN} -sf ${lib} ${PREFIX}/lib/${lib:R}
+.endfor
+
+prtests:
+	env PTHREAD_LIBS="${PTHREAD_LIBS}" ${GMAKE} -C ${WRKSRC}/pr/tests
+	${LN} -sf libmy.so.1 ${WRKSRC}/pr/tests/dll/libmy.so
+	cd ${WRKSRC}/pr/tests && ../../../pr/tests/runtests.sh
+
+libtests:
+	${GMAKE} -C ${WRKSRC}/lib/tests
+	${WRKSRC}/lib/tests/string
+	${WRKSRC}/lib/tests/base64t
+	# The test below is commented out, because arena requires
+	# command-line arguments. If you can provide reasonable values
+	# for it, please contact ${MAINTAINER}. Thank you.
+	#	${WRKSRC}/lib/tests/arena
+	#
+
+test: libtests prtests
+
+#.if defined(PACKAGE_BUILDING)
+#post-build: test
+#.else
+post-build:
+	#
+	# Please, consider running ``make test'' to find any
+	# possible build problems.
+	#
+#.endif
+
+.include <bsd.port.post.mk>

Added: trunk/devel/nspr/distinfo
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ trunk/devel/nspr/distinfo	Wed Jun 17 08:19:15 2009	(r39)
@@ -0,0 +1,3 @@
+MD5 (nspr-4.8.tar.gz) = e0916a72bcc6c427551ea262183fdb26
+SHA256 (nspr-4.8.tar.gz) = a2de84aa21a7bbabd93c4f172123d58c6432c2358807bb260ac338b2dc61dbfe
+SIZE (nspr-4.8.tar.gz) = 1170419

Added: trunk/devel/nspr/files/patch-..::config::autoconf.mk.in
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ trunk/devel/nspr/files/patch-..::config::autoconf.mk.in	Wed Jun 17 08:19:15 2009	(r39)
@@ -0,0 +1,11 @@
+--- ../config/autoconf.mk.in.orig	Wed Oct 17 02:31:02 2001
++++ ../config/autoconf.mk.in	Thu Aug  8 19:22:44 2002
+@@ -17,7 +17,7 @@
+ dist_includedir = @dist_includedir@
+ dist_libdir	= @dist_libdir@
+ 
+-DIST		= $(dist_prefix)
++DIST		?= $(dist_prefix)
+ 
+ RELEASE_OBJDIR_NAME = @RELEASE_OBJDIR_NAME@
+ OBJDIR_NAME	= @OBJDIR_NAME@

Added: trunk/devel/nspr/files/patch-..::configure
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ trunk/devel/nspr/files/patch-..::configure	Wed Jun 17 08:19:15 2009	(r39)
@@ -0,0 +1,31 @@
+--- ../configure.orig	2009-05-08 15:12:31.000000000 +0200
++++ ../configure	2009-06-17 09:18:56.000000000 +0200
+@@ -3508,7 +3508,7 @@
+     CFLAGS="$CFLAGS $(DSO_CFLAGS) -ansi -Wall"
+     MOZ_OBJFORMAT=`test -x /usr/bin/objformat && /usr/bin/objformat || echo elf`
+     if test "$MOZ_OBJFORMAT" = "elf"; then
+-        DLL_SUFFIX=so
++        DLL_SUFFIX=so.1
+     else
+         DLL_SUFFIX=so.1.0
+     fi
+@@ -5649,11 +5649,6 @@
+ #define _THREAD_SAFE 1
+ EOF
+ 
+-	    	    if test "$ac_cv_have_dash_pthread" = "yes"; then
+-	        _PTHREAD_LDFLAGS="-pthread"
+-	    else
+-	        _PTHREAD_LDFLAGS="-lc_r"
+-	    fi
+ 	    ;;
+     *-netbsd*)
+ 	    if test "$ac_cv_have_dash_pthread" = "yes"; then
+@@ -6037,6 +6032,7 @@
+ config/nsprincl.mk
+ config/nsprincl.sh
+ config/nspr-config
++config/nspr.pc
+ lib/Makefile 
+ lib/ds/Makefile 
+ lib/libc/Makefile 

Added: trunk/devel/nspr/files/patch-..::pr::src::pthreads::ptio.c
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ trunk/devel/nspr/files/patch-..::pr::src::pthreads::ptio.c	Wed Jun 17 08:19:15 2009	(r39)
@@ -0,0 +1,20 @@
+--- ../pr/src/pthreads/ptio.c.orig	Mon Feb  2 10:41:43 2004
++++ ../pr/src/pthreads/ptio.c	Mon Feb  2 10:44:49 2004
+@@ -3470,6 +3470,17 @@
+                     &on, sizeof(on));
+         }
+ #endif
++#if (defined(_PR_INET6_PROBE) || defined(_PR_INET6)) && \
++	defined(__FreeBSD__) && defined(IPV6_V6ONLY)
++		if (domain == PR_AF_INET6) {
++			int opt = 0;
++			if (setsockopt(osfd, IPPROTO_IPV6, IPV6_V6ONLY,
++			    &opt, sizeof(opt))) {
++				close(osfd);
++				return NULL;
++			}
++		}
++#endif  
+         fd = pt_SetMethods(osfd, ftype, PR_FALSE, PR_FALSE);
+         if (fd == NULL) close(osfd);
+     }

Added: trunk/devel/nspr/files/patch-.._pr_include_md__freebsd.cfg
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ trunk/devel/nspr/files/patch-.._pr_include_md__freebsd.cfg	Wed Jun 17 08:19:15 2009	(r39)
@@ -0,0 +1,54 @@
+--- ../pr/include/md/_freebsd.cfg
++++ ../pr/include/md/_freebsd.cfg
+@@ -283,6 +283,51 @@
+ #define PR_ALIGN_OF_POINTER 8
+ #define PR_ALIGN_OF_WORD    8
+ 
++#elif defined(__powerpc__)
++
++#undef  IS_LITTLE_ENDIAN
++#define IS_BIG_ENDIAN    1
++
++#define PR_BYTES_PER_BYTE   1
++#define PR_BYTES_PER_SHORT  2
++#define PR_BYTES_PER_INT    4
++#define PR_BYTES_PER_INT64  8
++#define PR_BYTES_PER_LONG   4
++#define PR_BYTES_PER_FLOAT  4
++#define PR_BYTES_PER_DOUBLE 8
++#define PR_BYTES_PER_WORD   4
++#define PR_BYTES_PER_DWORD  8
++
++#define PR_BITS_PER_BYTE    8
++#define PR_BITS_PER_SHORT   16
++#define PR_BITS_PER_INT     32
++#define PR_BITS_PER_INT64   64
++#define PR_BITS_PER_LONG    32
++#define PR_BITS_PER_FLOAT   32
++#define PR_BITS_PER_DOUBLE  64
++#define PR_BITS_PER_WORD    32
++
++#define PR_BITS_PER_BYTE_LOG2   3
++#define PR_BITS_PER_SHORT_LOG2  4
++#define PR_BITS_PER_INT_LOG2    5
++#define PR_BITS_PER_INT64_LOG2  6
++#define PR_BITS_PER_LONG_LOG2   5
++#define PR_BITS_PER_FLOAT_LOG2  5
++#define PR_BITS_PER_DOUBLE_LOG2 6
++#define PR_BITS_PER_WORD_LOG2   5
++
++#define PR_ALIGN_OF_SHORT   2
++#define PR_ALIGN_OF_INT     4
++#define PR_ALIGN_OF_LONG    4
++#define PR_ALIGN_OF_INT64   8
++#define PR_ALIGN_OF_FLOAT   4
++#define PR_ALIGN_OF_DOUBLE  8
++#define PR_ALIGN_OF_POINTER 4
++#define PR_ALIGN_OF_WORD    4
++
++#define PR_BYTES_PER_WORD_LOG2   2
++#define PR_BYTES_PER_DWORD_LOG2  3
++
+ #else
+ 
+ #error "Unknown CPU architecture"

Added: trunk/devel/nspr/files/patch-.._pr_include_md__freebsd.h
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ trunk/devel/nspr/files/patch-.._pr_include_md__freebsd.h	Wed Jun 17 08:19:15 2009	(r39)
@@ -0,0 +1,28 @@
+--- ../pr/include/md/_freebsd.h
++++ ../pr/include/md/_freebsd.h
+@@ -57,6 +57,8 @@
+ #define _PR_SI_ARCHITECTURE "ia64"
+ #elif defined(__amd64__)
+ #define _PR_SI_ARCHITECTURE "amd64"
++#elif defined(__powerpc__)
++#define _PR_SI_ARCHITECTURE "powerpc"
+ #else
+ #error "Unknown CPU architecture"
+ #endif
+@@ -106,6 +108,16 @@
+ #define _PR_IPV6_V6ONLY_PROBE
+ #endif
+ 
++#if (__FreeBSD_version >= 700016) || (__FreeBSD_version < 700000 && __FreeBSD_version >= 601103)
++#if defined(_PR_PTHREADS)
++#define _PR_HAVE_GETPROTO_R
++#define _PR_HAVE_5_ARG_GETPROTO_R
++#define _PR_HAVE_GETHOST_R
++#define _PR_HAVE_GETHOST_R_INT
++#define _PR_HAVE_THREADSAFE_GETHOST
++#endif
++#endif
++
+ #define USE_SETJMP
+ 
+ #ifndef _PR_PTHREADS

Added: trunk/devel/nspr/files/patch-.._pr_src_misc_prsystem.c
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ trunk/devel/nspr/files/patch-.._pr_src_misc_prsystem.c	Wed Jun 17 08:19:15 2009	(r39)
@@ -0,0 +1,22 @@
+--- ../pr/src/misc/prsystem.c.orig	Fri May  6 20:35:58 2005
++++ ../pr/src/misc/prsystem.c	Sun Dec  4 22:09:51 2005
+@@ -352,6 +352,19 @@ PR_IMPLEMENT(PRUint64) PR_GetPhysicalMem
+         odm_terminate();
+     }
+ 
++#elif defined(__FreeBSD__)
++
++    int mib[2];
++    unsigned long physmem;
++    size_t len;
++    
++    mib[0] = CTL_HW;
++    mib[1] = HW_PHYSMEM;
++    len = sizeof(physmem);
++    if(sysctl(mib, 2, &physmem, &len, NULL, 0) == 0
++        && len == sizeof(physmem))
++      bytes = physmem;
++
+ #else
+ 
+     PR_SetError(PR_NOT_IMPLEMENTED_ERROR, 0);

Added: trunk/devel/nspr/files/patch-.._pr_tests_Makefile
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ trunk/devel/nspr/files/patch-.._pr_tests_Makefile	Wed Jun 17 08:19:15 2009	(r39)
@@ -0,0 +1,11 @@
+--- ../../nsprpub/pr/tests/Makefile.in.orig	Mon Apr 26 00:01:02 2004
++++ ../../nsprpub/pr/tests/Makefile.in	Tue Nov 28 11:08:14 2006
+@@ -418,7 +418,7 @@
+ 
+ ifeq ($(OS_ARCH),FreeBSD)
+ ifeq ($(USE_PTHREADS),1)
+-LDOPTS += -pthread
++LDOPTS += ${PTHREAD_LIBS}
+ endif
+ LDOPTS += -Xlinker -R $(ABSOLUTE_LIB_DIR)
+ endif

Added: trunk/devel/nspr/files/patch-config-nsprc.pc.in
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ trunk/devel/nspr/files/patch-config-nsprc.pc.in	Wed Jun 17 08:19:15 2009	(r39)
@@ -0,0 +1,13 @@
+--- ../config/nspr.pc.in.orig	Thu Aug  4 21:38:50 2005
++++ ../config/nspr.pc.in	Thu Aug  4 21:38:59 2005
+@@ -0,0 +1,10 @@
++prefix=@prefix@
++exec_prefix=@exec_prefix@
++libdir=@libdir@
++includedir=@includedir@
++
++Name: NSPR
++Description: The Netscape Portable Runtime
++Version: @MOD_MAJOR_VERSION@.@MOD_MINOR_VERSION@.@MOD_PATCH_VERSION@
++Libs: -L${libdir} -lplds@MOD_MAJOR_VERSION@ -lplc@MOD_MAJOR_VERSION@ -lnspr@MOD_MAJOR_VERSION@ @OS_LIBS@
++Cflags: -I${includedir}

Added: trunk/devel/nspr/files/patch-libtests
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ trunk/devel/nspr/files/patch-libtests	Wed Jun 17 08:19:15 2009	(r39)
@@ -0,0 +1,611 @@
+--- ../lib/tests/string.c	Sun Apr 25 11:00:46 2004
++++ ../lib/tests/string.c	Mon Jul 25 20:14:12 2005
+@@ -160,5 +160,5 @@
+         if( array[i].rv != rv )
+         {
+-            printf("FAIL %d: (0x%x, %s)->0x%x\n", i, array[i].dest,
++            printf("FAIL %d: (%p, %s)->%p\n", i, array[i].dest,
+                    array[i].str ? array[i].str : "(null)", rv);
+             return PR_FALSE;
+@@ -270,6 +270,6 @@
+         if( array[i].rv != rv )
+         {
+-            printf("FAIL %d: (0x%x, %s, %lu)->0x%x\n", i, array[i].dest,
+-                   array[i].str ? array[i].str : "(null)", array[i].len, rv);
++            printf("FAIL %d: (%p, %s, %u)->%p\n", i, array[i].dest,
++                   array[i].str ? array[i].str : "(null)", (unsigned)array[i].len, rv);
+             return PR_FALSE;
+         }
+@@ -396,6 +396,6 @@
+         if( array[i].rv != rv )
+         {
+-            printf("FAIL %d: (0x%x, %s, %lu)->0x%x\n", i, array[i].dest,
+-                   array[i].str ? array[i].str : "(null)", array[i].len, rv);
++            printf("FAIL %d: (%p, %s, %u)->%p\n", i, array[i].dest,
++                   array[i].str ? array[i].str : "(null)", (unsigned)array[i].len, rv);
+             return PR_FALSE;
+         }
+@@ -448,5 +448,5 @@
+         if( (char *)0 == rv )
+         {
+-            printf("FAIL %d: 0x%x -> 0\n", i, array[i]);
++            printf("FAIL %d: %p -> 0\n", i, array[i]);
+             return PR_FALSE;
+         }
+@@ -532,6 +532,6 @@
+         if( (char *)0 == rv )
+         {
+-            printf("FAIL %d: %s,%lu -> 0\n", i, 
+-                   array[i].str ? array[i].str : "(null)", array[i].len);
++            printf("FAIL %d: %s,%u -> 0\n", i, 
++                   array[i].str ? array[i].str : "(null)", (unsigned)array[i].len);
+             return PR_FALSE;
+         }
+@@ -717,8 +717,8 @@
+             if( (char *)0 != rv )
+             {
+-                printf("FAIL %d: %s+%s/%lu -> %.32s, not zero\n", i,
++                printf("FAIL %d: %s+%s/%u -> %.32s, not zero\n", i,
+                        array[i].first ? array[i].first : "(null)",
+                        array[i].second ? array[i].second : "(null)",
+-                       array[i].length, rv);
++                       (unsigned)array[i].length, rv);
+                 return PR_FALSE;
+             }
+@@ -728,8 +728,8 @@
+             if( (char *)0 == rv )
+             {
+-                printf("FAIL %d: %s+%s/%lu -> null, not %s\n", i,
++                printf("FAIL %d: %s+%s/%u -> null, not %s\n", i,
+                        array[i].first ? array[i].first : "(null)",
+                        array[i].second ? array[i].second : "(null)",
+-                       array[i].length, array[i].result);
++                       (unsigned)array[i].length, array[i].result);
+                 return PR_FALSE;
+             }
+@@ -743,8 +743,8 @@
+                     if( *a != *b )
+                     {
+-                        printf("FAIL %d: %s+%s/%lu -> %.32s, not %s\n", i,
++                        printf("FAIL %d: %s+%s/%u -> %.32s, not %s\n", i,
+                                array[i].first ? array[i].first : "(null)",
+                                array[i].second ? array[i].second : "(null)",
+-                               array[i].length, rv, array[i].result);
++                               (unsigned)array[i].length, rv, array[i].result);
+                         return PR_FALSE;
+                     }
+@@ -758,8 +758,8 @@
+                     if( (char)0 != *b )
+                     {
+-                        printf("FAIL %d: %s+%s/%lu -> not nulled\n", i,
++                        printf("FAIL %d: %s+%s/%u -> not nulled\n", i,
+                                array[i].first ? array[i].first : "(null)",
+                                array[i].second ? array[i].second : "(null)",
+-                               array[i].length);
++                               (unsigned)array[i].length);
+                         return PR_FALSE;
+                     }
+@@ -769,8 +769,8 @@
+                     if( (char)0 == *b )
+                     {
+-                        printf("FAIL %d: %s+%s/%lu -> overrun\n", i,
++                        printf("FAIL %d: %s+%s/%u -> overrun\n", i,
+                                array[i].first ? array[i].first : "(null)",
+                                array[i].second ? array[i].second : "(null)",
+-                               array[i].length);
++                               (unsigned)array[i].length);
+                         return PR_FALSE;
+                     }
+@@ -847,8 +847,8 @@
+             if( (char *)0 != rv )
+             {
+-                printf("FAIL %d: %s+%s/%lu -> %.32s, not zero\n", i,
++                printf("FAIL %d: %s+%s/%u -> %.32s, not zero\n", i,
+                        array[i].first ? array[i].first : "(null)",
+                        array[i].second ? array[i].second : "(null)",
+-                       array[i].length, rv);
++                       (unsigned)array[i].length, rv);
+                 return PR_FALSE;
+             }
+@@ -858,8 +858,8 @@
+             if( (char *)0 == rv )
+             {
+-                printf("FAIL %d: %s+%s/%lu -> null, not %s\n", i,
++                printf("FAIL %d: %s+%s/%u -> null, not %s\n", i,
+                        array[i].first ? array[i].first : "(null)",
+                        array[i].second ? array[i].second : "(null)",
+-                       array[i].length, array[i].result);
++                       (unsigned)array[i].length, array[i].result);
+                 return PR_FALSE;
+             }
+@@ -873,8 +873,8 @@
+                     if( *a != *b )
+                     {
+-                        printf("FAIL %d: %s+%s/%lu -> %.32s, not %s\n", i,
++                        printf("FAIL %d: %s+%s/%u -> %.32s, not %s\n", i,
+                                array[i].first ? array[i].first : "(null)",
+                                array[i].second ? array[i].second : "(null)",
+-                               array[i].length, rv, array[i].result);
++                               (unsigned)array[i].length, rv, array[i].result);
+                         return PR_FALSE;
+                     }
+@@ -1105,8 +1105,8 @@
+         }
+ 
+-        printf("FAIL %d: %s-%s/%ld -> %d, not %d\n", i,
++        printf("FAIL %d: %s-%s/%d -> %d, not %d\n", i,
+                array[i].one ? array[i].one : "(null)",
+                array[i].two ? array[i].two : "(null)",
+-               array[i].max, rv, array[i].sign);
++               (int)array[i].max, rv, array[i].sign);
+         return PR_FALSE;
+     }
+@@ -1327,8 +1327,8 @@
+         }
+ 
+-        printf("FAIL %d: %s-%s/%ld -> %d, not %d\n", i,
++        printf("FAIL %d: %s-%s/%d -> %d, not %d\n", i,
+                array[i].one ? array[i].one : "(null)",
+                array[i].two ? array[i].two : "(null)",
+-               array[i].max, rv, array[i].sign);
++               (int)array[i].max, rv, array[i].sign);
+         return PR_FALSE;
+     }
+@@ -1400,6 +1400,6 @@
+             if( (char *)0 == rv )
+             {
+-                printf("FAIL %d: %s,%c -> null, not +%lu\n", i, array[i].str,
+-                       array[i].chr, array[i].off);
++                printf("FAIL %d: %s,%c -> null, not +%u\n", i, array[i].str,
++                       array[i].chr, (unsigned)array[i].off);
+                 return PR_FALSE;
+             }
+@@ -1407,6 +1407,6 @@
+             if( &array[i].str[ array[i].off ] != rv )
+             {
+-                printf("FAIL %d: %s,%c -> 0x%x, not 0x%x+%lu\n", i, array[i].str,
+-                       array[i].chr, rv, array[i].str, array[i].off);
++                printf("FAIL %d: %s,%c -> %p, not %p+%u\n", i, array[i].str,
++                       array[i].chr, rv, array[i].str, (unsigned)array[i].off);
+                 return PR_FALSE;
+             }
+@@ -1480,6 +1480,6 @@
+             if( (char *)0 == rv )
+             {
+-                printf("FAIL %d: %s,%c -> null, not +%lu\n", i, array[i].str,
+-                       array[i].chr, array[i].off);
++                printf("FAIL %d: %s,%c -> null, not +%u\n", i, array[i].str,
++                       array[i].chr, (unsigned)array[i].off);
+                 return PR_FALSE;
+             }
+@@ -1487,6 +1487,6 @@
+             if( &array[i].str[ array[i].off ] != rv )
+             {
+-                printf("FAIL %d: %s,%c -> 0x%x, not 0x%x+%lu\n", i, array[i].str,
+-                       array[i].chr, rv, array[i].str, array[i].off);
++                printf("FAIL %d: %s,%c -> %p, not %p+%u\n", i, array[i].str,
++                       array[i].chr, rv, array[i].str, (unsigned)array[i].off);
+                 return PR_FALSE;
+             }
+@@ -1555,6 +1555,6 @@
+             if( (char *)0 != rv )
+             {
+-                printf("FAIL %d: %s,%c/%lu -> %.32s, not zero\n", i, array[i].str,
+-                       array[i].chr, array[i].max, rv);
++                printf("FAIL %d: %s,%c/%u -> %.32s, not zero\n", i, array[i].str,
++                       array[i].chr, (unsigned)array[i].max, rv);
+                 return PR_FALSE;
+             }
+@@ -1564,6 +1564,6 @@
+             if( (char *)0 == rv )
+             {
+-                printf("FAIL %d: %s,%c/%lu -> null, not +%lu\n", i, array[i].str,
+-                       array[i].chr, array[i].max, array[i].off);
++                printf("FAIL %d: %s,%c/%u -> null, not +%u\n", i, array[i].str,
++                       array[i].chr, (unsigned)array[i].max, (unsigned)array[i].off);
+                 return PR_FALSE;
+             }
+@@ -1571,6 +1571,6 @@
+             if( &array[i].str[ array[i].off ] != rv )
+             {
+-                printf("FAIL %d: %s,%c/%lu -> 0x%x, not 0x%x+%lu\n", i, array[i].str,
+-                       array[i].chr, array[i].max, rv, array[i].str, array[i].off);
++                printf("FAIL %d: %s,%c/%u -> %p, not %p+%u\n", i, array[i].str,
++                       array[i].chr, (unsigned)array[i].max, rv, array[i].str, (unsigned)array[i].off);
+                 return PR_FALSE;
+             }
+@@ -1639,6 +1639,6 @@
+             if( (char *)0 != rv )
+             {
+-                printf("FAIL %d: %s,%c/%lu -> %.32s, not zero\n", i, array[i].str,
+-                       array[i].chr, array[i].max, rv);
++                printf("FAIL %d: %s,%c/%u -> %.32s, not zero\n", i, array[i].str,
++                       array[i].chr, (unsigned)array[i].max, rv);
+                 return PR_FALSE;
+             }
+@@ -1648,13 +1648,13 @@
+             if( (char *)0 == rv )
+             {
+-                printf("FAIL %d: %s,%c/%lu -> null, not +%lu\n", i, array[i].str,
+-                       array[i].chr, array[i].max, array[i].off);
++                printf("FAIL %d: %s,%c/%u -> null, not +%u\n", i, array[i].str,
++                       array[i].chr, (unsigned)array[i].max, (unsigned)array[i].off);
+                 return PR_FALSE;
+             }
+ 
+-            if( &array[i].str[ array[i].off ] != rv )
++            if( &array[i].str[ array[i].off ] != rv)
+             {
+-                printf("FAIL %d: %s,%c/%lu -> 0x%x, not 0x%x+%lu\n", i, array[i].str,
+-                       array[i].chr, array[i].max, rv, array[i].str, array[i].off);
++                printf("FAIL %d: %s,%c/%u -> %p, not %p+%u\n", i, array[i].str,
++                       array[i].chr, (unsigned)array[i].max, rv, array[i].str, (unsigned)array[i].off);
+                 return PR_FALSE;
+             }
+@@ -1735,8 +1735,8 @@
+             if( (char *)0 == rv )
+             {
+-                printf("FAIL %d: %s,%s -> null, not +%lu\n", i,
++                printf("FAIL %d: %s,%s -> null, not +%u\n", i,
+                        array[i].str ? array[i].str : "(null)",
+                        array[i].chrs ? array[i].chrs : "(null)", 
+-                       array[i].off);
++                       (unsigned)array[i].off);
+                 return PR_FALSE;
+             }
+@@ -1744,8 +1744,8 @@
+             if( &array[i].str[ array[i].off ] != rv )
+             {
+-                printf("FAIL %d: %s,%s -> 0x%x, not 0x%x+%lu\n", i,
++                printf("FAIL %d: %s,%s -> %p, not %p+%u\n", i,
+                        array[i].str ? array[i].str : "(null)",
+                        array[i].chrs ? array[i].chrs : "(null)", 
+-                       rv, array[i].str, array[i].off);
++                       rv, array[i].str, (unsigned)array[i].off);
+                 return PR_FALSE;
+             }
+@@ -1826,8 +1826,8 @@
+             if( (char *)0 == rv )
+             {
+-                printf("FAIL %d: %s,%s -> null, not +%lu\n", i,
++                printf("FAIL %d: %s,%s -> null, not +%u\n", i,
+                        array[i].str ? array[i].str : "(null)",
+                        array[i].chrs ? array[i].chrs : "(null)", 
+-                       array[i].off);
++                       (unsigned)array[i].off);
+                 return PR_FALSE;
+             }
+@@ -1835,8 +1835,8 @@
+             if( &array[i].str[ array[i].off ] != rv )
+             {
+-                printf("FAIL %d: %s,%s -> 0x%x, not 0x%x+%lu\n", i,
++                printf("FAIL %d: %s,%s -> %p, not %p+%u\n", i,
+                        array[i].str ? array[i].str : "(null)",
+                        array[i].chrs ? array[i].chrs : "(null)", 
+-                       rv, array[i].str, array[i].off);
++                       rv, array[i].str, (unsigned)array[i].off);
+                 return PR_FALSE;
+             }
+@@ -1912,8 +1912,8 @@
+             if( (char *)0 != rv )
+             {
+-                printf("FAIL %d: %s,%s/%lu -> %.32s, not null\n", i, 
++                printf("FAIL %d: %s,%s/%u -> %.32s, not null\n", i, 
+                        array[i].str ? array[i].str : "(null)",
+                        array[i].chrs ? array[i].chrs : "(null)", 
+-                       array[i].max, rv);
++                       (unsigned)array[i].max, rv);
+                 return PR_FALSE;
+             }
+@@ -1923,8 +1923,8 @@
+             if( (char *)0 == rv )
+             {
+-                printf("FAIL %d: %s,%s/%lu -> null, not +%lu\n", i,
++                printf("FAIL %d: %s,%s/%u -> null, not +%u\n", i,
+                        array[i].str ? array[i].str : "(null)",
+                        array[i].chrs ? array[i].chrs : "(null)", 
+-                       array[i].max, array[i].off);
++                       (unsigned)array[i].max, array[i].off);
+                 return PR_FALSE;
+             }
+@@ -1932,8 +1932,8 @@
+             if( &array[i].str[ array[i].off ] != rv )
+             {
+-                printf("FAIL %d: %s,%s/%lu -> 0x%x, not 0x%x+%lu\n", i,
++                printf("FAIL %d: %s,%s/%u -> %p, not %p+%u\n", i,
+                        array[i].str ? array[i].str : "(null)",
+                        array[i].chrs ? array[i].chrs : "(null)", 
+-                       array[i].max, rv, array[i].str, array[i].off);
++                       (unsigned)array[i].max, rv, array[i].str, array[i].off);
+                 return PR_FALSE;
+             }
+@@ -2018,8 +2018,8 @@
+             if( (char *)0 != rv )
+             {
+-                printf("FAIL %d: %s,%s/%lu -> %.32s, not null\n", i, 
++                printf("FAIL %d: %s,%s/%u -> %.32s, not null\n", i, 
+                        array[i].str ? array[i].str : "(null)",
+                        array[i].chrs ? array[i].chrs : "(null)", 
+-                       array[i].max, rv);
++                       (unsigned)array[i].max, rv);
+                 return PR_FALSE;
+             }
+@@ -2029,8 +2029,8 @@
+             if( (char *)0 == rv )
+             {
+-                printf("FAIL %d: %s,%s/%lu -> null, not +%lu\n", i,
++                printf("FAIL %d: %s,%s/%u -> null, not +%u\n", i,
+                        array[i].str ? array[i].str : "(null)",
+                        array[i].chrs ? array[i].chrs : "(null)", 
+-                       array[i].max, array[i].off);
++                       (unsigned)array[i].max, array[i].off);
+                 return PR_FALSE;
+             }
+@@ -2038,8 +2038,8 @@
+             if( &array[i].str[ array[i].off ] != rv )
+             {
+-                printf("FAIL %d: %s,%s/%lu -> 0x%x, not 0x%x+%lu\n", i,
++                printf("FAIL %d: %s,%s/%u -> %p, not %p+%u\n", i,
+                        array[i].str ? array[i].str : "(null)",
+                        array[i].chrs ? array[i].chrs : "(null)", 
+-                       array[i].max, rv, array[i].str, array[i].off);
++                       (unsigned)array[i].max, rv, array[i].str, array[i].off);
+                 return PR_FALSE;
+             }
+@@ -2137,8 +2137,8 @@
+             if( (char *)0 == rv )
+             {
+-                printf("FAIL %d: %s,%s -> null, not 0x%x+%lu\n", i,
++                printf("FAIL %d: %s,%s -> null, not %p+%u\n", i,
+                        array[i].str ? array[i].str : "(null)",
+                        array[i].sub ? array[i].sub : "(null)",
+-                       array[i].str, array[i].off);
++                       array[i].str, (unsigned)array[i].off);
+                 return PR_FALSE;
+             }
+@@ -2146,8 +2146,8 @@
+             if( &array[i].str[ array[i].off ] != rv )
+             {
+-                printf("FAIL %d: %s,%s -> 0x%x, not 0x%x+%lu\n", i, 
++                printf("FAIL %d: %s,%s -> %p, not %p+%u\n", i, 
+                        array[i].str ? array[i].str : "(null)",
+                        array[i].sub ? array[i].sub : "(null)",
+-                       rv, array[i].str, array[i].off);
++                       rv, array[i].str, (unsigned)array[i].off);
+                 return PR_FALSE;
+             }
+@@ -2245,8 +2245,8 @@
+             if( (char *)0 == rv )
+             {
+-                printf("FAIL %d: %s,%s -> null, not 0x%x+%lu\n", i,
++                printf("FAIL %d: %s,%s -> null, not %p+%u\n", i,
+                        array[i].str ? array[i].str : "(null)",
+                        array[i].sub ? array[i].sub : "(null)",
+-                       array[i].str, array[i].off);
++                       array[i].str, (unsigned)array[i].off);
+                 return PR_FALSE;
+             }
+@@ -2254,8 +2254,8 @@
+             if( &array[i].str[ array[i].off ] != rv )
+             {
+-                printf("FAIL %d: %s,%s -> 0x%x, not 0x%x+%lu\n", i, 
++                printf("FAIL %d: %s,%s -> %p, not %p+%u\n", i, 
+                        array[i].str ? array[i].str : "(null)",
+                        array[i].sub ? array[i].sub : "(null)",
+-                       rv, array[i].str, array[i].off);
++                       rv, array[i].str, (unsigned)array[i].off);
+                 return PR_FALSE;
+             }
+@@ -2364,8 +2364,8 @@
+             if( (char *)0 != rv )
+             {
+-                printf("FAIL %d: %s,%s/%lu -> %.32s, not null\n", i,
++                printf("FAIL %d: %s,%s/%u -> %.32s, not null\n", i,
+                        array[i].str ? array[i].str : "(null)",
+                        array[i].sub ? array[i].sub : "(null)",
+-                       array[i].max, rv);
++                       (unsigned)array[i].max, rv);
+                 return PR_FALSE;
+             }
+@@ -2375,8 +2375,8 @@
+             if( (char *)0 == rv )
+             {
+-                printf("FAIL %d: %s,%s/%lu -> null, not 0x%x+%lu\n", i,
++                printf("FAIL %d: %s,%s/%u -> null, not %p+%u\n", i,
+                        array[i].str ? array[i].str : "(null)",
+                        array[i].sub ? array[i].sub : "(null)",
+-                       array[i].max, array[i].str, array[i].off);
++                       (unsigned)array[i].max, array[i].str, (unsigned)array[i].off);
+                 return PR_FALSE;
+             }
+@@ -2384,8 +2384,8 @@
+             if( &array[i].str[ array[i].off ] != rv )
+             {
+-                printf("FAIL %d: %s,%s/%lu -> 0x%x, not 0x%x+%lu\n", i, 
++                printf("FAIL %d: %s,%s/%u -> %p, not %p+%u\n", i, 
+                        array[i].str ? array[i].str : "(null)",
+                        array[i].sub ? array[i].sub : "(null)",
+-                       array[i].max, rv, array[i].str, array[i].off);
++                       (unsigned)array[i].max, rv, array[i].str, (unsigned)array[i].off);
+                 return PR_FALSE;
+             }
+@@ -2496,8 +2496,8 @@
+             if( (char *)0 != rv )
+             {
+-                printf("FAIL %d: %s,%s/%lu -> %.32s, not null\n", i,
++                printf("FAIL %d: %s,%s/%u -> %.32s, not null\n", i,
+                        array[i].str ? array[i].str : "(null)",
+                        array[i].sub ? array[i].sub : "(null)",
+-                       array[i].max, rv);
++                       (unsigned)array[i].max, rv);
+                 return PR_FALSE;
+             }
+@@ -2507,8 +2507,8 @@
+             if( (char *)0 == rv )
+             {
+-                printf("FAIL %d: %s,%s/%lu -> null, not 0x%x+%lu\n", i,
++                printf("FAIL %d: %s,%s/%u -> null, not %p+%u\n", i,
+                        array[i].str ? array[i].str : "(null)",
+                        array[i].sub ? array[i].sub : "(null)",
+-                       array[i].max, array[i].str, array[i].off);
++                       (unsigned)array[i].max, array[i].str, (unsigned)array[i].off);
+                 return PR_FALSE;
+             }
+@@ -2516,8 +2516,8 @@
+             if( &array[i].str[ array[i].off ] != rv )
+             {
+-                printf("FAIL %d: %s,%s/%lu -> 0x%x, not 0x%x+%lu\n", i, 
++                printf("FAIL %d: %s,%s/%u -> %p, not %p+%u\n", i, 
+                        array[i].str ? array[i].str : "(null)",
+                        array[i].sub ? array[i].sub : "(null)",
+-                       array[i].max, rv, array[i].str, array[i].off);
++                       (unsigned)array[i].max, rv, array[i].str, (unsigned)array[i].off);
+                 return PR_FALSE;
+             }
+@@ -2615,8 +2615,8 @@
+             if( (char *)0 == rv )
+             {
+-                printf("FAIL %d: %s,%s -> null, not 0x%x+%lu\n", i,
++                printf("FAIL %d: %s,%s -> null, not %p+%u\n", i,
+                        array[i].str ? array[i].str : "(null)",
+                        array[i].sub ? array[i].sub : "(null)",
+-                       array[i].str, array[i].off);
++                       array[i].str, (unsigned)array[i].off);
+                 return PR_FALSE;
+             }
+@@ -2624,8 +2624,8 @@
+             if( &array[i].str[ array[i].off ] != rv )
+             {
+-                printf("FAIL %d: %s,%s -> 0x%x, not 0x%x+%lu\n", i, 
++                printf("FAIL %d: %s,%s -> %p, not %p+%u\n", i, 
+                        array[i].str ? array[i].str : "(null)",
+                        array[i].sub ? array[i].sub : "(null)",
+-                       rv, array[i].str, array[i].off);
++                       rv, array[i].str, (unsigned)array[i].off);
+                 return PR_FALSE;
+             }
+@@ -2723,8 +2723,8 @@
+             if( (char *)0 == rv )
+             {
+-                printf("FAIL %d: %s,%s -> null, not 0x%x+%lu\n", i,
++                printf("FAIL %d: %s,%s -> null, not %p+%u\n", i,
+                        array[i].str ? array[i].str : "(null)",
+                        array[i].sub ? array[i].sub : "(null)",
+-                       array[i].str, array[i].off);
++                       array[i].str, (unsigned)array[i].off);
+                 return PR_FALSE;
+             }
+@@ -2732,8 +2732,8 @@
+             if( &array[i].str[ array[i].off ] != rv )
+             {
+-                printf("FAIL %d: %s,%s -> 0x%x, not 0x%x+%lu\n", i, 
++                printf("FAIL %d: %s,%s -> %p, not %p+%u\n", i, 
+                        array[i].str ? array[i].str : "(null)",
+                        array[i].sub ? array[i].sub : "(null)",
+-                       rv, array[i].str, array[i].off);
++                       rv, array[i].str, (unsigned)array[i].off);
+                 return PR_FALSE;
+             }
+@@ -2842,8 +2842,8 @@
+             if( (char *)0 != rv )
+             {
+-                printf("FAIL %d: %s,%s/%lu -> %.32s, not null\n", i,
++                printf("FAIL %d: %s,%s/%u -> %.32s, not null\n", i,
+                        array[i].str ? array[i].str : "(null)",
+                        array[i].sub ? array[i].sub : "(null)",
+-                       array[i].max, rv);
++                       (unsigned)array[i].max, rv);
+                 return PR_FALSE;
+             }
+@@ -2853,8 +2853,8 @@
+             if( (char *)0 == rv )
+             {
+-                printf("FAIL %d: %s,%s/%lu -> null, not 0x%x+%lu\n", i,
++                printf("FAIL %d: %s,%s/%u -> null, not %p+%u\n", i,
+                        array[i].str ? array[i].str : "(null)",
+                        array[i].sub ? array[i].sub : "(null)",
+-                       array[i].max, array[i].str, array[i].off);
++                       (unsigned)array[i].max, array[i].str, (unsigned)array[i].off);
+                 return PR_FALSE;
+             }
+@@ -2862,8 +2862,8 @@
+             if( &array[i].str[ array[i].off ] != rv )
+             {
+-                printf("FAIL %d: %s,%s/%lu -> 0x%x, not 0x%x+%lu\n", i, 
++                printf("FAIL %d: %s,%s/%u -> %p, not %p+%u\n", i, 
+                        array[i].str ? array[i].str : "(null)",
+                        array[i].sub ? array[i].sub : "(null)",
+-                       array[i].max, rv, array[i].str, array[i].off);
++                       (unsigned)array[i].max, rv, array[i].str, (unsigned)array[i].off);
+                 return PR_FALSE;
+             }
+@@ -2974,8 +2974,8 @@
+             if( (char *)0 != rv )
+             {
+-                printf("FAIL %d: %s,%s/%lu -> %.32s, not null\n", i,
++                printf("FAIL %d: %s,%s/%u -> %.32s, not null\n", i,
+                        array[i].str ? array[i].str : "(null)",
+                        array[i].sub ? array[i].sub : "(null)",
+-                       array[i].max, rv);
++                       (unsigned)array[i].max, rv);
+                 return PR_FALSE;
+             }
+@@ -2985,8 +2985,8 @@
+             if( (char *)0 == rv )
+             {
+-                printf("FAIL %d: %s,%s/%lu -> null, not 0x%x+%lu\n", i,
++                printf("FAIL %d: %s,%s/%u -> null, not %p+%u\n", i,
+                        array[i].str ? array[i].str : "(null)",
+                        array[i].sub ? array[i].sub : "(null)",
+-                       array[i].max, array[i].str, array[i].off);
++                       (unsigned)array[i].max, array[i].str, (unsigned)array[i].off);
+                 return PR_FALSE;
+             }
+@@ -2994,8 +2994,8 @@
+             if( &array[i].str[ array[i].off ] != rv )
+             {
+-                printf("FAIL %d: %s,%s/%lu -> 0x%x, not 0x%x+%lu\n", i, 
++                printf("FAIL %d: %s,%s/%u -> %p, not %p+%u\n", i, 
+                        array[i].str ? array[i].str : "(null)",
+                        array[i].sub ? array[i].sub : "(null)",
+-                       array[i].max, rv, array[i].str, array[i].off);
++                       (unsigned)array[i].max, rv, array[i].str, (unsigned)array[i].off);
+                 return PR_FALSE;
+             }
+--- ../lib/tests/arena.c	Sun Apr 25 11:00:46 2004
++++ ../lib/tests/arena.c	Mon Jul 25 19:52:15 2005
+@@ -69,4 +69,5 @@
+ }
+ 
++#if 0
+ /*
+ ** Test Arena allocation.
+@@ -129,4 +130,5 @@
+     return;
+ } /* end ArenaGrow() */
++#endif
+ 
+ 
+--- ../lib/tests/base64t.c	Sun Apr 25 11:00:46 2004
++++ ../lib/tests/base64t.c	Mon Jul 25 20:16:54 2005
+@@ -2020,5 +2020,4 @@
+     {
+         PRUint32 plen = PL_strlen(array[i].plaintext);
+-        PRUint32 clen = ((plen + 2)/3)*4;
+ 
+         char *rv = PL_Base64Encode(array[i].plaintext, plen, (char *)0);
+@@ -2780,7 +2779,4 @@
+     for( i = 0; i < sizeof(array)/sizeof(array[0]); i++ )
+     {
+-        PRUint32 plen = PL_strlen(array[i].plaintext);
+-        PRUint32 clen = ((plen + 2)/3)*4;
+-
+         char *rv = PL_Base64Encode(array[i].plaintext, 0, (char *)0);
+ 
+@@ -2916,6 +2912,4 @@
+     for( i = 0; i < sizeof(array)/sizeof(array[0]); i++ )
+     {
+-        PRUint32 clen = PL_strlen(array[i].cyphertext);
+-
+         char *rv = PL_Base64Decode(array[i].cyphertext, 0, (char *)0);
+ 

Added: trunk/devel/nspr/files/patch-pthread_t
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ trunk/devel/nspr/files/patch-pthread_t	Wed Jun 17 08:19:15 2009	(r39)
@@ -0,0 +1,35 @@
+pthread_t can well be a 64-bit value -- on FreeBSD/amd64, for example.
+Better to just keep calling it pthread_t isntead of casting to anything.
+
+	-mi
+
+--- ../pr/include/private/pprthred.h	Sun Apr 25 11:00:56 2004
++++ ../pr/include/private/pprthred.h	Tue Jul 12 00:52:42 2005
+@@ -44,4 +44,5 @@
+ */
+ #include "nspr.h"
++#include <pthread.h>
+ 
+ #if defined(XP_OS2)
+@@ -92,5 +92,5 @@
+ ** when it is created or attached.
+ */
+-NSPR_API(PRUint32) PR_GetThreadID(PRThread *thread);
++NSPR_API(pthread_t) PR_GetThreadID(PRThread *thread);
+ 
+ /*
+--- ../pr/src/pthreads/ptthread.c	Wed May 25 22:27:51 2005
++++ ../pr/src/pthreads/ptthread.c	Tue Jul 12 00:49:50 2005
+@@ -979,10 +979,10 @@
+ }
+ 
+-PR_IMPLEMENT(PRUint32) PR_GetThreadID(PRThread *thred)
++PR_IMPLEMENT(pthread_t) PR_GetThreadID(PRThread *thred)
+ {
+ #if defined(_PR_DCETHREADS)
+     return (PRUint32)&thred->id;  /* this is really a sham! */
+ #else
+-    return (PRUint32)thred->id;  /* and I don't know what they will do with it */
++    return thred->id;  /* and I don't know what they will do with it */
+ #endif
+ }

Added: trunk/devel/nspr/files/patch-tests
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ trunk/devel/nspr/files/patch-tests	Wed Jun 17 08:19:15 2009	(r39)
@@ -0,0 +1,1845 @@
+--- ../pr/tests/cleanup.c	Sun Apr 25 11:01:02 2004
++++ ../pr/tests/cleanup.c	Tue Jul 12 01:19:53 2005
+@@ -48,5 +48,5 @@
+ static void PR_CALLBACK Thread(void *sleep)
+ {
+-    PR_Sleep(PR_SecondsToInterval((PRUint32)sleep));
++    PR_Sleep(PR_SecondsToInterval((intptr_t)sleep));
+     printf("Thread exiting\n");
+ }
+@@ -72,5 +72,6 @@
+     PRFileDesc *err = PR_GetSpecialFD(PR_StandardError);
+     PLOptState *opt = PL_CreateOptState(argc, argv, "Ghs:S:t:cC:");
+-    PRIntn concurrency = 1, child_sleep = 10, main_sleep = 5, threads = 1;
++    PRIntn concurrency = 1, main_sleep = 5, threads = 1;
++    intptr_t child_sleep = 10;
+ 
+     PR_STDIO_INIT();
+@@ -113,5 +114,5 @@
+     PR_fprintf(err, "\tConcurrency: %d\n", concurrency);
+     PR_fprintf(err, "\tNumber of threads: %d\n", threads);
+-    PR_fprintf(err, "\tThread sleep: %d\n", child_sleep);
++    PR_fprintf(err, "\tThread sleep: %ld\n", (long)child_sleep);
+     PR_fprintf(err, "\tMain sleep: %d\n", main_sleep); 
+     PR_fprintf(err, "\tCleanup will %sbe called\n\n", (cleanup) ? "" : "NOT "); 
+--- ../pr/tests/cvar.c	Sun Apr 25 11:01:02 2004
++++ ../pr/tests/cvar.c	Tue Jul 12 01:22:52 2005
+@@ -174,5 +174,5 @@
+ {
+ 	CircBuf *cbp = (CircBuf *)arg;
+-    PRInt32 i, n;
++    intptr_t i, n;
+     void *data;
+ 
+@@ -180,6 +180,6 @@
+     for (i = 0; i < n; i++) {
+ 		data = GetCBData(cbp);
+-		if ((int)data != i)
+-    		if (debug_mode) printf("data mismatch at for i = %d usec\n", i);
++		if ((intptr_t)data != i)
++    		if (debug_mode) printf("data mismatch at for i = %ld usec\n", (long)i);
+     }
+  
+@@ -193,5 +193,5 @@
+ {
+ 	CircBuf *cbp = (CircBuf *)arg;
+-    PRInt32 i, n;
++    intptr_t i, n;
+ 
+     n = count / 2;
+--- ../pr/tests/foreign.c	Mon Mar  7 20:22:57 2005
++++ ../pr/tests/foreign.c	Tue Jul 12 01:25:31 2005
+@@ -269,5 +269,5 @@
+     PRDir *dir;
+     PRFileDesc *pair[2];
+-    PRIntn test = (PRIntn)arg;
++    intptr_t test = (intptr_t)arg;
+ 
+ 	for (test = 0; test < 12; ++test) {
+@@ -364,5 +364,5 @@
+ {
+     PRStatus rv;
+-	PRInt32	thread_cnt = DEFAULT_THREAD_COUNT;
++	intptr_t	thread_cnt = DEFAULT_THREAD_COUNT;
+ 	PLOptStatus os;
+ 	PLOptState *opt = PL_CreateOptState(argc, argv, "dt:");
+--- ../pr/tests/forktest.c	Sun Apr 25 11:01:02 2004
++++ ../pr/tests/forktest.c	Tue Jul 12 01:28:15 2005
+@@ -80,5 +80,5 @@
+     PRNetAddr addr;
+     PRFileDesc *sock = NULL;
+-    PRInt32 tmp = (PRInt32)arg;
++    intptr_t tmp = (intptr_t)arg;
+ 
+     /*
+@@ -176,5 +176,5 @@
+     }
+     clientThread = PR_CreateThread( PR_USER_THREAD, ClientThreadFunc,
+-        (void *) PR_ntohs(addr.inet.port), PR_PRIORITY_NORMAL, PR_LOCAL_THREAD,
++        (void *)(intptr_t)PR_ntohs(addr.inet.port), PR_PRIORITY_NORMAL, PR_LOCAL_THREAD,
+         PR_JOINABLE_THREAD, 0);
+     if (clientThread == NULL) {
+@@ -185,2 +185,5 @@
+     }
++    printf("Wait one second before accept\n");
++    fflush(stdout);
++    PR_Sleep(PR_SecondsToInterval(1));
+     printf("Accepting connection at port %hu\n", PR_ntohs(addr.inet.port));
+--- ../pr/tests/mbcs.c	Sun Apr 25 11:01:02 2004
++++ ../pr/tests/mbcs.c	Tue Jul 12 01:34:26 2005
+@@ -93,5 +93,4 @@
+     PRFileInfo info;
+     PRStatus rc;
+-    PRInt32 err;
+     PRFileDesc *fd;
+     char    nextDir[256];
+@@ -114,14 +114,14 @@
+         }
+         if ( PR_FILE_FILE == info.type )  {
+-            printf("File: %s \tsize: %ld\n", dirEntry->name, info.size );
++            printf("File: %s \tsize: %ld\n", dirEntry->name, (long)info.size );
+             fd = PR_Open( file, PR_RDONLY, 0 );
+             if ( NULL == fd )  {
+                 printf("PR_Open() failed. Error: %ld, OSError: %ld\n", 
+-                    PR_GetError(), PR_GetOSError());
++                    (long)PR_GetError(), (long)PR_GetOSError());
+             }
+             rc = PR_Close( fd );
+             if ( PR_FAILURE == rc )  {
+                 printf("PR_Close() failed. Error: %ld, OSError: %ld\n", 
+-                    PR_GetError(), PR_GetOSError());
++                    (long)PR_GetError(), (long)PR_GetOSError());
+             }
+         } else if ( PR_FILE_DIRECTORY == info.type ) {
+--- ../pr/tests/nonblock.c	Sun Apr 25 11:01:02 2004
++++ ../pr/tests/nonblock.c	Tue Jul 12 01:37:52 2005
+@@ -84,5 +84,5 @@
+ clientThreadFunc(void *arg)
+ {
+-    PRUintn port = (PRUintn)arg;
++    intptr_t port = (intptr_t)arg;
+     PRFileDesc *sock;
+     PRNetAddr addr;
+@@ -196,5 +196,5 @@
+ 
+     clientThread = PR_CreateThread(PR_USER_THREAD,
+-	    clientThreadFunc, (void *) listenPort,
++	    clientThreadFunc, (void *) (intptr_t)listenPort,
+ 	    PR_PRIORITY_NORMAL, PR_LOCAL_THREAD,
+ 	    PR_UNJOINABLE_THREAD, 0);
+@@ -240,5 +240,5 @@
+         PL_PrintError("First Receive:\n");
+ 	    fprintf(stderr, "First PR_Recv: retVal: %ld, Error: %ld\n",
+-            retVal, PR_GetError());
++            (long)retVal, (long)PR_GetError());
+ 	    exit(1);
+         }
+@@ -250,5 +250,5 @@
+         PL_PrintError("Second Receive:\n");
+ 	    fprintf(stderr, "Second PR_Recv: retVal: %ld, Error: %ld\n", 
+-            retVal, PR_GetError());
++            (long)retVal, (long)PR_GetError());
+ 	    exit(1);
+         }
+--- ../pr/tests/op_noacc.c	Sun Apr 25 11:01:02 2004
++++ ../pr/tests/op_noacc.c	Tue Jul 12 01:40:22 2005
+@@ -82,5 +82,5 @@
+     PR_STDIO_INIT();
+ 	err01 = PR_Open("err01.tmp", PR_CREATE_FILE | PR_RDWR, 0);
+-	if (err01 == NULL) 
++	if (err01 == NULL) {
+ 		if (PR_GetError() == PR_NO_ACCESS_RIGHTS_ERROR) {
+ 				printf ("error code is %d\n",PR_GetError());
+@@ -92,3 +92,7 @@
+ 			return 1;
+ 		}
+-}			
++	} else {
++		perror("err01.tmp");
++		return 2;
++	}
++}
+--- ../pr/tests/peek.c	Sun Apr 25 11:01:02 2004
++++ ../pr/tests/peek.c	Tue Jul 12 01:41:44 2005
+@@ -168,5 +168,5 @@
+     PRFileDesc *sock;
+     PRSocketOptionData opt;
+-    PRUint16 port = (PRUint16) arg;
++    PRUint16 port = (intptr_t) arg;
+     PRNetAddr addr;
+     char buf[BUFFER_SIZE];
+@@ -332,5 +332,5 @@
+     }
+     client = PR_CreateThread(
+-            PR_USER_THREAD, ClientNB, (void *) port,
++            PR_USER_THREAD, ClientNB, (void *)(intptr_t) port,
+             PR_PRIORITY_NORMAL, scope, PR_JOINABLE_THREAD, 0);
+     if (NULL == client) {
+--- ../pr/tests/pipepong.c	Sun Apr 25 11:01:02 2004
++++ ../pr/tests/pipepong.c	Tue Jul 12 01:43:52 2005
+@@ -69,5 +69,5 @@
+         fprintf(stderr, "pong process: received \"%s\"\n", buf);
+         if (nBytes != 5) {
+-            fprintf(stderr, "pong process: expected 5 bytes but got %d bytes\n",
++            fprintf(stderr, "pong process: expected 5 bytes but got %zd bytes\n",
+                     nBytes);
+             exit(1);
+--- ../pr/tests/poll_nm.c	Sun Apr 25 11:01:02 2004
++++ ../pr/tests/poll_nm.c	Tue Jul 12 01:45:57 2005
+@@ -97,5 +97,5 @@
+ clientThreadFunc(void *arg)
+ {
+-    PRUintn port = (PRUintn) arg;
++    PRUintn port = (intptr_t) arg;
+     PRFileDesc *sock;
+     PRNetAddr addr;
+@@ -251,5 +251,5 @@
+ 
+     clientThread = PR_CreateThread(PR_USER_THREAD,
+-	    clientThreadFunc, (void *) listenPort1,
++	    clientThreadFunc, (void *)(intptr_t)listenPort1,
+ 	    PR_PRIORITY_NORMAL, PR_LOCAL_THREAD,
+ 	    PR_UNJOINABLE_THREAD, 0);
+@@ -261,5 +261,5 @@
+ 
+     clientThread = PR_CreateThread(PR_USER_THREAD,
+-	    clientThreadFunc, (void *) listenPort2,
++	    clientThreadFunc, (void *)(intptr_t)listenPort2,
+ 	    PR_PRIORITY_NORMAL, PR_LOCAL_THREAD,
+ 	    PR_UNJOINABLE_THREAD, 0);
+--- ../lib/tests/Makefile.in	Sun Nov  7 21:52:55 2004
++++ ../lib/tests/Makefile.in	Tue Jul 12 01:49:15 2005
+@@ -247,5 +247,5 @@
+ 	$(LINK) $(EXEFLAGS) $(LDOPTS) $< $(LIBPLC)  $(LIBPLDS) $(LIBPR) $(OS_LIBS) $(EXTRA_LIBS)
+ else
+-	$(CC) $(XCFLAGS) $< $(LDOPTS) $(LIBPLC) $(LIBPLDS) $(LIBPR) $(EXTRA_LIBS) -o $@
++	$(CC) $(XCFLAGS) $< $(LDOPTS) $(LIBPLC) $(LIBPLDS) $(LIBPR) $(OS_LIBS) $(EXTRA_LIBS) -o $@
+ endif
+ endif
+--- ../pr/tests/getai.c	Sun Apr 25 11:01:02 2004
++++ ../pr/tests/getai.c	Tue Jul 12 02:20:40 2005
+@@ -46,6 +46,11 @@
+     void *iter;
+     PRNetAddr addr;
++    const char *host;
+ 
+-    ai = PR_GetAddrInfoByName(argv[1], PR_AF_UNSPEC, PR_AI_ADDRCONFIG);
++    if (argc > 1)
++	host = argv[1];
++    else
++	host = "www.FreeBSD.org";
++    ai = PR_GetAddrInfoByName(host, PR_AF_UNSPEC, PR_AI_ADDRCONFIG);
+     if (ai == NULL) {
+         fprintf(stderr, "PR_GetAddrInfoByName failed: (%d, %d)\n",
+--- ../pr/tests/Makefile.in	Sun Apr 25 11:01:02 2004
++++ ../pr/tests/Makefile.in	Tue Jul 12 02:25:18 2005
+@@ -556,16 +557,17 @@
+ 
+ runtests:: $(PROGS) ALWAYS
+-	@$(ECHO) "\nNSPR Test Results - $(OBJDIR)\n"
+-	@$(ECHO) "BEGIN\t\t\t`date`"
+-	@$(ECHO) "NSPR_TEST_LOGFILE\t$(LOGFILE)\n"
+-	@$(ECHO) "Test\t\t\tResult\n"
++	@$(ECHO) "NSPR Test Results - $(OBJDIR)"
++	@$(ECHO) "BEGIN			`date`"
++	@$(ECHO) "Test			Result"
+ 	@cd $(OBJDIR); for i in $(PROGRAMS); do					\
+-	$(ECHO) "$$i\c";										\
+-	./$$i >> $(LOGFILE) 2>&1 ;								\
++	printf "$$i";										\
++	./$$i > $$i.output 2>&1;								\
+ 	if  [ 0 = $$? ] ; then									\
+-		$(ECHO) "\t\t\tPassed";								\
+-	else													\
+-		$(ECHO) "\t\t\tFAILED";								\
+-	fi;														\
++		$(ECHO) "			Passed";					\
++		rm $$i.output;									\
++	else											\
++		$(ECHO) "			FAILED";					\
++		cat $$i.output;									\
++	fi;											\
+ 	done
+-	@$(ECHO) "\nEND\t\t`date`\n"
++	@$(ECHO) "END		`date`"
+--- ../pr/tests/instrumt.c	Sun Apr 25 11:01:02 2004
++++ ../pr/tests/instrumt.c	Mon Jul 25 20:45:54 2005
+@@ -83,5 +83,5 @@
+ 
+ #define SMALL_TRACE_BUFSIZE  ( 60 * 1024 )
+-
++#define DEBUG
+ typedef enum 
+ {
+@@ -114,5 +114,4 @@
+     PR_DEFINE_COUNTER( rh );
+     const char *qn, *rn, *dn;
+-    const char **qname = &qn, **rname = &rn, **desc = &dn;
+     PRUint32    tCtr;
+ 
+@@ -126,5 +125,5 @@
+         {
+             PR_GET_COUNTER_NAME_FROM_HANDLE( rh, qname, rname, desc );
+-            tCtr = PR_GET_COUNTER(tCtr, rh);
++            PR_GET_COUNTER(tCtr, rh);
+             PR_LOG( lm, msgLevel,
+                 ( "QName: %s  RName: %s  Desc: %s  Value: %ld\n", 
+@@ -142,5 +141,4 @@
+     PR_DEFINE_TRACE( rh );
+     const char *qn, *rn, *dn;
+-    const char **qname = &qn, **rname = &rn, **desc = &dn;
+ 
+     PR_INIT_TRACE_HANDLE( qh, NULL );
+@@ -221,6 +219,4 @@
+     PRThread *t1, *t2, *t3, *t4;
+     PRIntn i = 0;
+-    PR_DEFINE_COUNTER( tc );
+-    PR_DEFINE_COUNTER( zCounter );
+ 
+     PR_LOG( lm, msgLevel,
+@@ -359,7 +355,5 @@
+ static void TraceTest( void )
+ {
+-    PRInt32 i;
+     PRInt32 size;
+-    PR_DEFINE_TRACE( th );
+     PRThread *t1, *t2;
+     
+--- ../pr/tests/layer.c	Fri Apr 29 18:46:05 2005
++++ ../pr/tests/layer.c	Mon Jul 25 20:53:03 2005
+@@ -78,5 +78,8 @@
+ {
+     PRFileDesc *layer = PR_CreateIOLayerStub(identity, &myMethods);
+-    PRStatus rv = PR_PushIOLayer(stack, PR_GetLayersIdentity(stack), layer);
++#if defined(DEBUG) || defined(FORCE_PR_ASSERT)
++    PRStatus rv = /* we only need rv for PR_ASSERT() */
++#endif
++	PR_PushIOLayer(stack, PR_GetLayersIdentity(stack), layer);
+     if (verbosity > quiet)
+         PR_fprintf(logFile, "Pushed layer(0x%x) onto stack(0x%x)\n", layer, stack);
+--- ../pr/tests/lazyinit.c	Sun Apr 25 11:01:02 2004
++++ ../pr/tests/lazyinit.c	Mon Jul 25 20:54:18 2005
+@@ -76,5 +76,4 @@
+     PRDir *dir = NULL;
+     PRLock *ml = NULL;
+-    PRCondVar *cv = NULL;
+     PRThread *thread = NULL;
+     PRIntervalTime interval = 0;
+--- ../pr/tests/lltest.c	Sun Apr 25 11:01:02 2004
++++ ../pr/tests/lltest.c	Mon Jul 25 20:57:30 2005
+@@ -578,4 +578,5 @@
+ }
+ 
++#if 0
+ static void ShiftCompileOnly()
+ {
+@@ -594,4 +595,5 @@
+ 
+ }  /* ShiftCompileOnly */
++#endif
+    
+ 
+@@ -668,5 +670,4 @@
+     PRInt64 largeValTimesTwo  = LL_INIT( 0x00000003, 0xfffffffe );
+     PRInt64 largeMultCand     = LL_INIT( 0x00000000, 0x7fffffff );
+-    PRInt64 largeMinusMultCand = LL_INIT( 0xffffffff, 0x10000001 );
+     PRInt64 largeMultCandx64K = LL_INIT( 0x00007fff, 0xffff0000 );
+     PRInt64 largeNumSHL5      = LL_INIT( 0x0000001f, 0xffffffe0 );        
+--- ../pr/tests/nbconn.c	Fri Apr 29 18:46:05 2005
++++ ../pr/tests/nbconn.c	Mon Jul 25 21:00:51 2005
+@@ -93,6 +93,5 @@
+     PRSocketOptionData optData;
+ 	const char *hostname = NULL;
+-    PRIntn default_case, n, bytes_read, bytes_sent;
+-	PRInt32 failed_already = 0;
++    PRIntn default_case, n;
+ #ifdef XP_MAC
+ 	int index;
+@@ -226,5 +225,5 @@
+ 			}
+ 			printf( "PR_GetConnectStatus: connect failed: (%ld, %ld)\n",
+-					PR_GetError(), PR_GetOSError());
++					(long)PR_GetError(), (long)PR_GetOSError());
+ 		}
+ 		PR_Close(sock);
+@@ -300,5 +299,5 @@
+ 	Server_Param sp;
+ 	char send_buf[DATA_BUF_SIZE], recv_buf[DATA_BUF_SIZE];
+-    PRIntn default_case, n, bytes_read, bytes_sent;
++    PRIntn n, bytes_read, bytes_sent;
+     PRIntn failed_already = 0;
+ 
+@@ -376,5 +375,5 @@
+ 		goto def_exit;
+ 	}
+-	DPRINTF(("Created TCP_Server thread [0x%x]\n",thr));
++	DPRINTF(("Created TCP_Server thread [%p]\n", thr));
+ 	pd.fd = conn_fd;
+ 	pd.in_flags = PR_POLL_WRITE | PR_POLL_EXCEPT;
+@@ -459,5 +458,5 @@
+ 	} else {
+ 		fprintf(stderr,"PR_GetConnectStatus: connect failed: (%ld, %ld)\n",
+-				PR_GetError(), PR_GetOSError());
++				(long)PR_GetError(), (long)PR_GetOSError());
+ 		failed_already = 1;
+ 		goto def_exit;
+@@ -569,5 +568,4 @@
+ 	}
+ 	if (PR_GetConnectStatus(&pd) == PR_SUCCESS) {
+-		PRInt32 rv;
+ 		fprintf(stderr,"PR_GetConnectStatus succeeded, expected to fail\n");
+ 		failed_already = 1;
+--- ../pr/tests/nblayer.c	Sun Apr 25 11:01:02 2004
++++ ../pr/tests/nblayer.c	Mon Jul 25 21:02:17 2005
+@@ -375,5 +375,5 @@
+ {
+     PRStatus rv;
+-    PRFileDesc *newfd, *layer = fd;
++    PRFileDesc *newfd;
+     PRFileDesc *newstack;
+     PRFilePrivate *newsecret;
+--- ../pr/tests/obsints.c	Sun Apr 25 11:01:02 2004
++++ ../pr/tests/obsints.c	Mon Jul 25 21:04:56 2005
+@@ -58,4 +58,7 @@
+ 
+ #include "prtypes.h"  /* which includes protypes.h */
++#if !defined(__GNUC__)
++#	define __unused
++#endif
+ 
+ int main()
+@@ -65,15 +68,15 @@
+      * defined by protypes.h.
+      */
+-    intn in;
+-    uintn uin;
+-    uint ui;
+-    int8 i8;
+-    uint8 ui8;
+-    int16 i16;
+-    uint16 ui16;
+-    int32 i32;
+-    uint32 ui32;
+-    int64 i64;
+-    uint64 ui64;
++    intn in __unused;
++    uintn uin __unused;
++    uint ui __unused;
++    int8 i8 __unused;
++    uint8 ui8 __unused;
++    int16 i16 __unused;
++    uint16 ui16 __unused;
++    int32 i32 __unused;
++    uint32 ui32 __unused;
++    int64 i64 __unused;
++    uint64 ui64 __unused;
+ 
+     printf("PASS\n");
+--- ../pr/tests/perf.c	Sun Apr 25 11:01:02 2004
++++ ../pr/tests/perf.c	Mon Jul 25 21:05:55 2005
+@@ -181,5 +181,5 @@
+     for (i = 0; i < n; i++) {
+     while (cxq == 0) {
+-            DPRINTF(("CXReader: thread = 0x%lx waiting\n",
++            DPRINTF(("CXReader: thread = %p waiting\n",
+                     PR_GetCurrentThread()));
+         PR_Wait(mon, PR_INTERVAL_NO_TIMEOUT);
+@@ -194,5 +194,5 @@
+     PR_Notify(mon2);
+     PR_ExitMonitor(mon2);
+-    DPRINTF(("CXReader: thread = 0x%lx exiting\n", PR_GetCurrentThread()));
++    DPRINTF(("CXReader: thread = %p exiting\n", PR_GetCurrentThread()));
+ }
+ 
+@@ -205,5 +205,5 @@
+     for (i = 0; i < n; i++) {
+     while (cxq == 1) {
+-            DPRINTF(("CXWriter: thread = 0x%lx waiting\n",
++            DPRINTF(("CXWriter: thread = %p waiting\n",
+                     PR_GetCurrentThread()));
+         PR_Wait(mon, PR_INTERVAL_NO_TIMEOUT);
+@@ -218,5 +218,5 @@
+     PR_Notify(mon2);
+     PR_ExitMonitor(mon2);
+-    DPRINTF(("CXWriter: thread = 0x%lx exiting\n", PR_GetCurrentThread()));
++    DPRINTF(("CXWriter: thread = %p exiting\n", PR_GetCurrentThread()));
+ }
+ 
+@@ -238,5 +238,5 @@
+         fprintf(stderr, "ContextSwitch: cannot create thread\n");
+     } else {
+-        DPRINTF(("ContextSwitch: created %s thread = 0x%lx\n",
++        DPRINTF(("ContextSwitch: created %s thread = %p\n",
+                 (scope1 == PR_GLOBAL_THREAD ?
+                 "PR_GLOBAL_THREAD" : "PR_LOCAL_THREAD"),
+@@ -252,5 +252,5 @@
+         fprintf(stderr, "ContextSwitch: cannot create thread\n");
+     } else {
+-        DPRINTF(("ContextSwitch: created %s thread = 0x%lx\n",
++        DPRINTF(("ContextSwitch: created %s thread = %p\n",
+                 (scope2 == PR_GLOBAL_THREAD ?
+                 "PR_GLOBAL_THREAD" : "PR_LOCAL_THREAD"),
+@@ -294,8 +294,8 @@
+     n = count / 2;
+     for (i = 0; i < n; i++) {
+-        DPRINTF(("SemaThread: thread = 0x%lx waiting on sem = 0x%lx\n",
++        DPRINTF(("SemaThread: thread = %p waiting on sem = %p\n",
+                 PR_GetCurrentThread(), sem[0]));
+         PR_WaitSem(sem[0]);
+-        DPRINTF(("SemaThread: thread = 0x%lx posting on sem = 0x%lx\n",
++        DPRINTF(("SemaThread: thread = %p posting on sem = %p\n",
+                 PR_GetCurrentThread(), sem[1]));
+         PR_PostSem(sem[1]);
+@@ -306,5 +306,5 @@
+     PR_Notify(mon2);
+     PR_ExitMonitor(mon2);
+-    DPRINTF(("SemaThread: thread = 0x%lx exiting\n", PR_GetCurrentThread()));
++    DPRINTF(("SemaThread: thread = %p exiting\n", PR_GetCurrentThread()));
+ }
+ 
+@@ -334,5 +334,5 @@
+         fprintf(stderr, "SemaContextSwitch: cannot create thread\n");
+     } else {
+-        DPRINTF(("SemaContextSwitch: created %s thread = 0x%lx\n",
++        DPRINTF(("SemaContextSwitch: created %s thread = %p\n",
+                 (scope1 == PR_GLOBAL_THREAD ?
+                 "PR_GLOBAL_THREAD" : "PR_LOCAL_THREAD"),
+@@ -349,5 +349,5 @@
+         fprintf(stderr, "SemaContextSwitch: cannot create thread\n");
+     } else {
+-        DPRINTF(("SemaContextSwitch: created %s thread = 0x%lx\n",
++        DPRINTF(("SemaContextSwitch: created %s thread = %p\n",
+                 (scope2 == PR_GLOBAL_THREAD ?
+                 "PR_GLOBAL_THREAD" : "PR_LOCAL_THREAD"),
+--- ../pr/tests/prpoll.c	Fri Apr 29 18:46:05 2005
++++ ../pr/tests/prpoll.c	Mon Jul 25 21:07:40 2005
+@@ -70,5 +70,5 @@
+ clientThreadFunc(void *arg)
+ {
+-    PRUint16 port = (PRUint16) arg;
++    PRUint16 port = (PRUint16)(uintptr_t)arg;
+     PRFileDesc *sock;
+     PRNetAddr addr;
+@@ -229,5 +229,5 @@
+ 
+     clientThread = PR_CreateThread(PR_USER_THREAD,
+-	    clientThreadFunc, (void *) listenPort1,
++	    clientThreadFunc, (void *)(uintptr_t)listenPort1,
+ 	    PR_PRIORITY_NORMAL, PR_LOCAL_THREAD,
+ 	    PR_UNJOINABLE_THREAD, 0);
+@@ -238,5 +238,5 @@
+ 
+     clientThread = PR_CreateThread(PR_USER_THREAD,
+-	    clientThreadFunc, (void *) listenPort2,
++	    clientThreadFunc, (void *)(uintptr_t)listenPort2,
+ 	    PR_PRIORITY_NORMAL, PR_GLOBAL_THREAD,
+ 	    PR_UNJOINABLE_THREAD, 0);
+@@ -247,5 +247,5 @@
+ 
+     clientThread = PR_CreateThread(PR_USER_THREAD,
+-	    clientThreadFunc, (void *) listenPort3,
++	    clientThreadFunc, (void *)(uintptr_t)listenPort3,
+ 	    PR_PRIORITY_NORMAL, PR_GLOBAL_BOUND_THREAD,
+ 	    PR_UNJOINABLE_THREAD, 0);
+--- ../pr/tests/ranfile.c	Sun Apr 25 11:01:02 2004
++++ ../pr/tests/ranfile.c	Mon Jul 25 21:13:44 2005
+@@ -169,5 +169,5 @@
+     Hammer_t *cd = (Hammer_t*)arg;
+ 
+-    (void)sprintf(filename, "%ssg%04ld.dat", baseName, cd->id);
++    (void)sprintf(filename, "%ssg%04d.dat", baseName, (int)cd->id);
+ 
+     if (debug_mode) printf("Starting work on %s\n", filename);
+@@ -408,6 +408,6 @@
+                 else
+                     if (debug_mode) printf(
+-                        "%s: test failed %s after %ld seconds\n",
+-                        programName, where[hammer[poll].problem], duration);
++                        "%s: test failed %s after %d seconds\n",
++                        programName, where[hammer[poll].problem], (int)duration);
+ 					else failed_already=1;
+             }
+@@ -415,5 +415,5 @@
+     }
+     if (debug_mode) printf(
+-        "%s: [%ld [%ld] %ld] writes/sec average\n",
++        "%s: [%d [%d] %d] writes/sec average\n",
+         programName, writesMin, writesTot * 1000 / durationTot, writesMax);
+ 
+--- ../pr/tests/randseed.c	Fri Apr 29 18:46:05 2005
++++ ../pr/tests/randseed.c	Mon Jul 25 21:15:01 2005
+@@ -81,5 +81,4 @@
+ {
+     PRUint32 *rp = buf;
+-    PRIntn   i;
+ 
+     printf("%4.4d--\n", size );
+--- ../pr/tests/sel_spd.c	Fri Apr 29 17:02:55 2005
++++ ../pr/tests/sel_spd.c	Mon Jul 25 21:20:29 2005
+@@ -48,4 +48,7 @@
+ #include <errno.h>
+ #include <string.h>
++#if defined(XP_UNIX) || defined(XP_OS2_EMX)
++#	include <unistd.h>	/* getopt(3) */
++#endif
+ 
+ #ifdef XP_MAC
+@@ -63,14 +66,14 @@
+ 
+ typedef struct timer_slot_t {
+-	unsigned long d_connect;
+-	unsigned long d_cl_data;
+-	unsigned long d_sv_data;
+-	unsigned long d_close;
+-	unsigned long d_total;
+-	unsigned long requests;
++	unsigned int d_connect;
++	unsigned int d_cl_data;
++	unsigned int d_sv_data;
++	unsigned int d_close;
++	unsigned int d_total;
++	unsigned int requests;
+ } timer_slot_t;
+ 
+-static long _iterations = 5;
+-static long _client_data = 8192;
++static int _iterations = 5;
++static int _client_data = 8192;
+ 
+ #if defined(XP_MAC)
+@@ -81,10 +84,9 @@
+  * buffer.
+ */
+-static long _server_data = (8*1024);
+-static long _threads_max = 10, _threads = 10;
++static int _server_data = (8*1024);
+ #else
+-static long _server_data = (128*1024);
+-static long _threads_max = 10, _threads = 10;
++static int _server_data = (128*1024);
+ #endif
++static int _threads_max = 10, _threads = 10;
+ 
+ static int verbose=0;
+@@ -514,10 +516,10 @@
+ {
+ 	int index;
+-	unsigned long tot_connect = 0;
+-	unsigned long tot_cl_data = 0;
+-	unsigned long tot_sv_data = 0;
+-	unsigned long tot_close = 0;
+-	unsigned long tot_all = 0;
+-	unsigned long tot_requests = 0;
++	unsigned int tot_connect = 0;
++	unsigned int tot_cl_data = 0;
++	unsigned int tot_sv_data = 0;
++	unsigned int tot_close = 0;
++	unsigned int tot_all = 0;
++	unsigned int tot_requests = 0;
+ 
+ 	fprintf(stdout, "Server results:\n\n");
+--- ../pr/tests/selct_nm.c	Sun Apr 25 11:01:02 2004
++++ ../pr/tests/selct_nm.c	Mon Jul 25 21:21:56 2005
+@@ -82,5 +82,5 @@
+ clientThreadFunc(void *arg)
+ {
+-    PRUintn port = (PRUintn) arg;
++    PRUintn port = (PRUintn)(uintptr_t)arg;
+     PRFileDesc *sock;
+     PRNetAddr addr;
+@@ -202,5 +202,5 @@
+ 
+     clientThread = PR_CreateThread(PR_USER_THREAD,
+-	    clientThreadFunc, (void *) listenPort1,
++	    clientThreadFunc, (void *)(uintptr_t)listenPort1,
+ 	    PR_PRIORITY_NORMAL, PR_LOCAL_THREAD,
+ 	    PR_UNJOINABLE_THREAD, 0);
+@@ -212,5 +212,5 @@
+ 
+     clientThread = PR_CreateThread(PR_USER_THREAD,
+-	    clientThreadFunc, (void *) listenPort2,
++	    clientThreadFunc, (void *)(uintptr_t)listenPort2,
+ 	    PR_PRIORITY_NORMAL, PR_LOCAL_THREAD,
+ 	    PR_UNJOINABLE_THREAD, 0);
+--- ../pr/tests/select2.c	Sun Apr 25 11:01:02 2004
++++ ../pr/tests/select2.c	Mon Jul 25 21:27:44 2005
+@@ -86,4 +86,5 @@
+ ***********************************************************************/
+ 
++static int exitcode = 2;
+ 
+ static void Test_Result (int result)
+@@ -93,7 +94,10 @@
+ 		case PASS:
+ 			printf ("PASS\n");
++			if (exitcode == 2)
++				exitcode = 0;
+ 			break;
+ 		case FAIL:
+ 			printf ("FAIL\n");
++			exitcode = 1;
+ 			break;
+ 		default:
+@@ -352,3 +357,4 @@
+ 
+ 
++    return exitcode;
+ }
+--- ../pr/tests/semaerr.c	Sun Apr 25 11:01:02 2004
++++ ../pr/tests/semaerr.c	Mon Jul 25 21:29:23 2005
+@@ -91,5 +91,5 @@
+     }
+     if (PR_GetError() != PR_FILE_NOT_FOUND_ERROR) {
+-        fprintf(stderr, "Expected error is %d but got (%d, %d)\n",
++        fprintf(stderr, "Expected error is %ld (PR_FILE_NOT_FOUND_ERROR) but got (%d, %d)\n",
+                 PR_FILE_NOT_FOUND_ERROR, PR_GetError(), PR_GetOSError());
+         exit(1);
+--- ../pr/tests/semaerr1.c	Sun Apr 25 11:01:02 2004
++++ ../pr/tests/semaerr1.c	Mon Jul 25 21:30:25 2005
+@@ -103,5 +103,5 @@
+     }
+     if (PR_GetError() != PR_FILE_EXISTS_ERROR) {
+-        fprintf(stderr, "Expect %d but got %d\n", PR_FILE_EXISTS_ERROR,
++        fprintf(stderr, "Expected %ld (PR_FILE_EXISTS_ERROR) but got %d\n", PR_FILE_EXISTS_ERROR,
+                 PR_GetError());
+         exit(1);
+--- ../pr/tests/sendzlf.c	Sun Apr 25 11:01:02 2004
++++ ../pr/tests/sendzlf.c	Mon Jul 25 21:31:35 2005
+@@ -59,5 +59,5 @@
+     PRFileDesc *sock;
+     PRNetAddr addr;
+-    PRUint16 port = (PRUint16) arg;
++    PRUint16 port = (PRUint16)(uintptr_t)arg;
+     char buf[1024];
+     char *bufPtr;
+@@ -217,5 +217,5 @@
+ 
+     clientThread = PR_CreateThread(PR_USER_THREAD,
+-            ClientThread, (void *) PR_ntohs(PR_NetAddrInetPort(&addr)),
++            ClientThread, (void *)(uintptr_t)PR_ntohs(PR_NetAddrInetPort(&addr)),
+             PR_PRIORITY_NORMAL, scope, PR_JOINABLE_THREAD, 0);
+     if (NULL == clientThread) {
+--- ../pr/tests/servr_kk.c	Sun Apr 25 11:01:02 2004
++++ ../pr/tests/servr_kk.c	Mon Jul 25 21:38:28 2005
+@@ -90,5 +90,5 @@
+ #define DPRINTF printf
+ #else
+-#define DPRINTF
++#define DPRINTF(...)
+ #endif
+ 
+@@ -501,4 +501,5 @@
+ }
+ 
++#if 0
+ static void do_workUU(void)
+ {
+@@ -521,4 +522,5 @@
+     do_work();
+ }
++#endif
+ 
+ static void do_workKK(void)
+--- ../pr/tests/short_thread.c	Sun Apr 25 11:01:02 2004
++++ ../pr/tests/short_thread.c	Mon Jul 25 21:44:20 2005
+@@ -76,6 +76,6 @@
+ 																		== NULL ) {
+ 		fprintf(stderr,
+-			"simple_test: Error - PR_CreateThread failed: (%ld, %ld)\n",
+-									  PR_GetError(), PR_GetOSError());
++			"simple_test: Error - PR_CreateThread failed: (%d, %d)\n",
++						  PR_GetError(), PR_GetOSError());
+ 		exit( 1 );
+ 	}
+--- ../pr/tests/cvar2.c	Sun Apr 25 11:01:02 2004
++++ ../pr/tests/cvar2.c	Mon Jul 25 20:37:10 2005
+@@ -134,5 +134,5 @@
+         PR_Lock(info->lock);
+         if (*info->tcount == 0) {
+-	    DPRINTF(("PrivateCondVarThread: thread 0x%lx waiting on cvar = 0x%lx\n",
++	    DPRINTF(("PrivateCondVarThread: thread %p waiting on cvar = %p\n",
+ 				PR_GetCurrentThread(), info->cvar));
+             PR_WaitCondVar(info->cvar, info->timeout);
+@@ -147,6 +147,6 @@
+         (*info->exitcount)++;
+         PR_NotifyCondVar(info->exitcvar);
+-DPRINTF(("PrivateCondVarThread: thread 0x%lx notified exitcvar = 0x%lx cnt = %ld\n",
+-			PR_GetCurrentThread(), info->exitcvar,(*info->exitcount)));
++DPRINTF(("PrivateCondVarThread: thread %p notified exitcvar = %p cnt = %d\n",
++			PR_GetCurrentThread(), info->exitcvar,(int)(*info->exitcount)));
+         PR_Unlock(info->exitlock);
+     }
+@@ -196,5 +196,5 @@
+ CondVarTestSUU(void *_arg)
+ {
+-    PRInt32 arg = (PRInt32)_arg;
++    PRInt32 arg = (PRInt32)(intptr_t)_arg;
+     PRInt32 index, loops;
+     threadinfo *list;
+@@ -228,5 +228,5 @@
+                          PR_LOCAL_THREAD);
+         index++;
+-	DPRINTF(("CondVarTestSUU: created thread 0x%lx\n",list[index].thread));
++	DPRINTF(("CondVarTestSUU: created thread %p\n",list[index].thread));
+     }
+ 
+@@ -238,5 +238,5 @@
+             PR_NotifyCondVar(list[index].cvar);
+             PR_Unlock(list[index].lock);
+-	    DPRINTF(("PrivateCondVarThread: thread 0x%lx notified cvar = 0x%lx\n",
++	    DPRINTF(("PrivateCondVarThread: thread %p notified cvar = %p\n",
+ 				PR_GetCurrentThread(), list[index].cvar));
+         }
+@@ -266,5 +266,5 @@
+ CondVarTestSUK(void *_arg)
+ {
+-    PRInt32 arg = (PRInt32)_arg;
++    PRInt32 arg = (PRInt32)(intptr_t)_arg;
+     PRInt32 index, loops;
+     threadinfo *list;
+@@ -340,5 +340,5 @@
+ CondVarTestPUU(void *_arg)
+ {
+-    PRInt32 arg = (PRInt32)_arg;
++    PRInt32 arg = (PRInt32)(intptr_t)_arg;
+     PRInt32 index, loops;
+     threadinfo *list;
+@@ -375,5 +375,5 @@
+                          PR_LOCAL_THREAD);
+ 
+-	DPRINTF(("CondVarTestPUU: created thread 0x%lx\n",list[index].thread));
++	DPRINTF(("CondVarTestPUU: created thread %p\n",list[index].thread));
+         index++;
+ 	tcount++;
+@@ -393,6 +393,6 @@
+         /* Wait for threads to finish */
+         while(exitcount < arg) {
+-DPRINTF(("CondVarTestPUU: thread 0x%lx waiting on exitcvar = 0x%lx cnt = %ld\n",
+-				PR_GetCurrentThread(), exitcvar, exitcount));
++DPRINTF(("CondVarTestPUU: thread %p waiting on exitcvar = %p cnt = %d\n",
++				PR_GetCurrentThread(), exitcvar, (int)exitcount));
+             	PR_WaitCondVar(exitcvar, PR_SecondsToInterval(60));
+ 	}
+@@ -404,5 +404,5 @@
+     /* Join all the threads */
+     for(index=0; index<(arg); index++)  {
+-	DPRINTF(("CondVarTestPUU: joining thread 0x%lx\n",list[index].thread));
++	DPRINTF(("CondVarTestPUU: joining thread %p\n",list[index].thread));
+         PR_JoinThread(list[index].thread);
+         if (list[index].internal) {
+@@ -426,5 +426,5 @@
+ CondVarTestPUK(void *_arg)
+ {
+-    PRInt32 arg = (PRInt32)_arg;
++    PRInt32 arg = (PRInt32)(intptr_t)_arg;
+     PRInt32 index, loops;
+     threadinfo *list;
+@@ -507,5 +507,5 @@
+ CondVarTest(void *_arg)
+ {
+-    PRInt32 arg = (PRInt32)_arg;
++    PRInt32 arg = (PRInt32)(intptr_t)_arg;
+     PRInt32 index, loops;
+     threadinfo *list;
+@@ -640,5 +640,5 @@
+ CondVarTimeoutTest(void *_arg)
+ {
+-    PRInt32 arg = (PRInt32)_arg;
++    PRInt32 arg = (PRInt32)(intptr_t)_arg;
+     PRInt32 index, loops;
+     threadinfo *list;
+@@ -751,5 +751,5 @@
+ CondVarMixedTest(void *_arg)
+ {
+-    PRInt32 arg = (PRInt32)_arg;
++    PRInt32 arg = (PRInt32)(intptr_t)_arg;
+     PRInt32 index, loops;
+     threadinfo *list;
+@@ -912,5 +912,5 @@
+ 
+     start = PR_IntervalNow();
+-    (*func)((void *)arg);
++    (*func)((void *)(intptr_t)arg);
+     stop = PR_IntervalNow();
+ 
+@@ -975,5 +975,5 @@
+ 
+     for (threads = default_threads; threads < default_threads*5; threads+=default_threads) {
+-        printf("\n%ld Thread tests\n", threads);
++        printf("\n%d Thread tests\n", (int)threads);
+         Measure(CondVarTestSUU, threads, "Condvar simple test shared UU");
+         Measure(CondVarTestSUK, threads, "Condvar simple test shared UK");
+--- ../pr/tests/io_timeout.c	Sun Apr 25 11:01:02 2004
++++ ../pr/tests/io_timeout.c	Mon Jul 25 20:50:40 2005
+@@ -56,3 +56,5 @@
+ 
++#include <errno.h>
+ #include <stdio.h>
++#include <string.h>
+ #include "nspr.h"
+@@ -66,3 +68,3 @@
+ #define NUM_THREADS 1
+-#define BASE_PORT   8000
++#define BASE_PORT   38011
+ #define DEFAULT_ACCEPT_TIMEOUT 2
+@@ -78,3 +80,3 @@
+ PRIntn failed_already = 0;
+-PRIntn debug_mode = 0;
++PRIntn debug_mode = 1;
+ 
+@@ -131,3 +133,8 @@
+ 		if (debug_mode)
+-        	printf("unable to bind\n");
++			printf("unable to bind to %d: %s\n",
++			    BASE_PORT + info->id, strerror(PR_GetOSError()));
++		if (PR_GetOSError() == EADDRINUSE) {
++			printf("can not proceed with this test\n");
++			exit(0);
++		}
+ 		failed_already=1;
+@@ -153,4 +160,5 @@
+ 			if (debug_mode) {	
+-            	printf("PR_Accept() timeout worked!\n"); 
+-				printf("TEST PASSED! PR_Accept() returned error %d\n",
++				printf("PR_Accept() timeout worked!\n"
++				    "TEST PASSED! PR_Accept() returned error "
++				    "PR_IO_TIMEOUT_ERROR (%ld)\n",
+ 							PR_IO_TIMEOUT_ERROR);
+--- ../pr/tests/socket.c	Sun Apr 25 11:01:02 2004
++++ ../pr/tests/socket.c	Mon Jul 25 22:14:47 2005
+@@ -219,5 +219,7 @@
+     int bytes;
+     int offset = 0;
++#ifdef WINNT
+ 	int err;
++#endif
+ 	PRIntervalTime timeout = PR_INTERVAL_NO_TIMEOUT;
+ 
+@@ -226,10 +228,12 @@
+ 
+     for (rem=len; rem; offset += bytes, rem -= bytes) {
+-        DPRINTF(("thread = 0x%lx: calling PR_Recv, bytes = %d\n",
++        DPRINTF(("thread = %p: calling PR_Recv, bytes = %d\n",
+             PR_GetCurrentThread(), rem));
++#ifdef WINNT
+ retry:
++#endif
+         bytes = PR_Recv(sockfd, buf + offset, rem, 0,
+             	timeout);
+-        DPRINTF(("thread = 0x%lx: returning from PR_Recv, bytes = %d\n",
++        DPRINTF(("thread = %p: returning from PR_Recv, bytes = %d\n",
+             PR_GetCurrentThread(), bytes));
+         if (bytes < 0) {
+@@ -262,9 +266,9 @@
+ 
+     for (rem=len; rem; offset += bytes, rem -= bytes) {
+-        DPRINTF(("thread = 0x%lx: calling PR_Send, bytes = %d\n",
++        DPRINTF(("thread = %p: calling PR_Send, bytes = %d\n",
+             PR_GetCurrentThread(), rem));
+         bytes = PR_Send(sockfd, buf + offset, rem, 0,
+             PR_INTERVAL_NO_TIMEOUT);
+-        DPRINTF(("thread = 0x%lx: returning from PR_Send, bytes = %d\n",
++        DPRINTF(("thread = %p: returning from PR_Send, bytes = %d\n",
+             PR_GetCurrentThread(), bytes));
+         if (bytes <= 0)
+@@ -314,5 +318,5 @@
+                 fprintf(stderr,"prsocket_test: ERROR - PR_Shutdown\n");
+             }
+-        DPRINTF(("Serve_Client [0x%lx]: inbuf[0] = 0x%lx\n",PR_GetCurrentThread(),
++        DPRINTF(("Serve_Client [%p]: inbuf[0] = %d\n",PR_GetCurrentThread(),
+             (*((int *) in_buf->data))));
+         if (writen(sockfd, in_buf->data, bytes) < bytes) {
+@@ -453,5 +457,5 @@
+     }
+ 
+-    DPRINTF(("TCP_Server: PR_BIND netaddr.inet.ip = 0x%lx, netaddr.inet.port = %d\n",
++    DPRINTF(("TCP_Server: PR_BIND netaddr.inet.ip = 0x%x, netaddr.inet.port = %d\n",
+         netaddr.inet.ip, netaddr.inet.port));
+ 	if (PR_SetNetAddr(PR_IpAddrLoopback, client_domain,
+@@ -495,5 +499,5 @@
+ 
+         t = create_new_thread(PR_USER_THREAD,
+-            Serve_Client, (void *)scp, 
++            Serve_Client, (void *)scp,
+             PR_PRIORITY_NORMAL,
+             PR_LOCAL_THREAD,
+@@ -505,5 +509,5 @@
+             goto exit;
+         }
+-        DPRINTF(("TCP_Server: Created Serve_Client = 0x%lx\n", t));
++        DPRINTF(("TCP_Server: Created Serve_Client = %p\n", t));
+     }
+ 
+@@ -521,5 +525,5 @@
+     PR_Notify(sp->exit_mon);
+     PR_ExitMonitor(sp->exit_mon);
+-    DPRINTF(("TCP_Server [0x%lx] exiting\n", PR_GetCurrentThread()));
++    DPRINTF(("TCP_Server [%p] exiting\n", PR_GetCurrentThread()));
+ }
+ 
+@@ -579,5 +583,5 @@
+     }
+ 
+-    DPRINTF(("PR_Bind: UDP Server netaddr.inet.ip = 0x%lx, netaddr.inet.port = %d\n",
++    DPRINTF(("PR_Bind: UDP Server netaddr.inet.ip = 0x%x, netaddr.inet.port = %d\n",
+         netaddr.inet.ip, netaddr.inet.port));
+     /*
+@@ -617,5 +621,5 @@
+     memset(&netaddr, 0 , sizeof(netaddr));
+     for (i = 0; i < (num_udp_clients * num_udp_datagrams_per_client); i++) {
+-        DPRINTF(("UDP_Server: calling PR_RecvFrom client  - ip = 0x%lx, port = %d bytes = %d inbuf = 0x%lx, inbuf[0] = 0x%lx\n",
++        DPRINTF(("UDP_Server: calling PR_RecvFrom client  - ip = 0x%x, port = %d bytes = %d inbuf = %p, inbuf[0] = 0x%x\n",
+             netaddr.inet.ip, netaddr.inet.port, bytes, in_buf->data,
+             in_buf->data[0]));
+@@ -623,5 +627,5 @@
+         rv = PR_RecvFrom(sockfd, in_buf->data, bytes, 0, &netaddr,
+             PR_INTERVAL_NO_TIMEOUT);
+-        DPRINTF(("UDP_Server: PR_RecvFrom client  - ip = 0x%lx, port = %d bytes = %d inbuf = 0x%lx, inbuf[0] = 0x%lx\n",
++        DPRINTF(("UDP_Server: PR_RecvFrom client  - ip = 0x%x, port = %d bytes = %d inbuf = %p, inbuf[0] = 0x%x\n",
+             netaddr.inet.ip, netaddr.inet.port, rv, in_buf->data,
+             in_buf->data[0]));
+@@ -646,5 +650,5 @@
+     PR_Notify(sp->exit_mon);
+     PR_ExitMonitor(sp->exit_mon);
+-    DPRINTF(("UDP_Server [0x%x] exiting\n", PR_GetCurrentThread()));
++    DPRINTF(("UDP_Server [%p] exiting\n", PR_GetCurrentThread()));
+ }
+ 
+@@ -689,5 +693,5 @@
+         }
+         if (PR_Connect(sockfd, &netaddr,PR_INTERVAL_NO_TIMEOUT) < 0){
+-        	fprintf(stderr, "PR_Connect failed: (%ld, %ld)\n",
++        	fprintf(stderr, "PR_Connect failed: (%d, %d)\n",
+             		PR_GetError(), PR_GetOSError());
+             failed_already=1;
+@@ -698,5 +702,5 @@
+              * fill in random data
+              */
+-            memset(out_buf->data, ((PRInt32) (&netaddr)) + i + j, bytes);
++            memset(out_buf->data, ((intptr_t)(&netaddr)) + i + j, bytes);
+             /*
+              * write to server
+@@ -711,5 +715,5 @@
+                 return;
+             }
+-            DPRINTF(("TCP Client [0x%lx]: out_buf = 0x%lx out_buf[0] = 0x%lx\n",
++            DPRINTF(("TCP Client [%p]: out_buf = %p out_buf[0] = 0x%x\n",
+                 PR_GetCurrentThread(), out_buf, (*((int *) out_buf->data))));
+             if (readn(sockfd, in_buf->data, bytes) < bytes) {
+@@ -748,5 +752,5 @@
+     PR_Notify(cp->exit_mon);
+     PR_ExitMonitor(cp->exit_mon);
+-    DPRINTF(("TCP_Client [0x%x] exiting\n", PR_GetCurrentThread()));
++    DPRINTF(("TCP_Client [%p] exiting\n", PR_GetCurrentThread()));
+ }
+ 
+@@ -754,5 +758,5 @@
+  * UDP_Client
+  *    Client Thread
+- *    Create a socket and bind an address 
++ *    Create a socket and bind an address
+  *    Communicate with the server at the address specified in the argument.
+  *    Fill in a buffer, write data to server, read it back and check
+@@ -812,5 +816,5 @@
+     }
+ 
+-    DPRINTF(("PR_Bind: UDP Client netaddr.inet.ip = 0x%lx, netaddr.inet.port = %d\n",
++    DPRINTF(("PR_Bind: UDP Client netaddr.inet.ip = 0x%x, netaddr.inet.port = %d\n",
+         netaddr.inet.ip, netaddr.inet.port));
+ 
+@@ -829,7 +833,7 @@
+          * fill in random data
+          */
+-        DPRINTF(("UDP_Client [0x%lx]: out_buf = 0x%lx bytes = 0x%lx\n",
++        DPRINTF(("UDP_Client [%p]: out_buf = %p bytes = %d\n",
+             PR_GetCurrentThread(), out_buf->data, bytes));
+-        memset(out_buf->data, ((PRInt32) (&netaddr)) + i, bytes);
++        memset(out_buf->data, ((intptr_t)(&netaddr)) + i, bytes);
+         /*
+          * write to server
+@@ -844,5 +848,5 @@
+             return;
+         }
+-        DPRINTF(("UDP_Client [0x%lx]: out_buf = 0x%lx out_buf[0] = 0x%lx\n",
++        DPRINTF(("UDP_Client [%p]: out_buf = %p out_buf[0] = 0x%x\n",
+             PR_GetCurrentThread(), out_buf, (*((int *) out_buf->data))));
+         if (cp->udp_connect)
+@@ -855,5 +859,5 @@
+             return;
+         }
+-        DPRINTF(("UDP_Client [0x%lx]: in_buf = 0x%lx in_buf[0] = 0x%lx\n",
++        DPRINTF(("UDP_Client [%p]: in_buf = %p in_buf[0] = 0x%x\n",
+             PR_GetCurrentThread(), in_buf, (*((int *) in_buf->data))));
+         /*
+@@ -880,10 +884,10 @@
+     PR_ExitMonitor(cp->exit_mon);
+     PR_DELETE(cp);
+-    DPRINTF(("UDP_Client [0x%x] exiting\n", PR_GetCurrentThread()));
++    DPRINTF(("UDP_Client [%p] exiting\n", PR_GetCurrentThread()));
+ }
+ 
+ /*
+  * TCP_Socket_Client_Server_Test    - concurrent server test
+- *    
++ *
+  *    One server and several clients are started
+  *    Each client connects to the server and sends a chunk of data
+@@ -937,5 +941,5 @@
+     sparamp->datalen = datalen;
+     t = PR_CreateThread(PR_USER_THREAD,
+-        TCP_Server, (void *)sparamp, 
++        TCP_Server, (void *)sparamp,
+         PR_PRIORITY_NORMAL,
+         PR_LOCAL_THREAD,
+@@ -947,5 +951,5 @@
+         return -1;
+     }
+-    DPRINTF(("Created TCP server = 0x%lx\n", t));
++    DPRINTF(("Created TCP server = %p\n", t));
+     thread_count++;
+ 
+@@ -981,5 +985,5 @@
+             return -1;
+         }
+-        DPRINTF(("Created TCP client = 0x%lx\n", t));
++        DPRINTF(("Created TCP client = %p\n", t));
+         thread_count++;
+     }
+@@ -991,7 +995,7 @@
+     PR_ExitMonitor(mon2);
+     printf("%30s","TCP_Socket_Client_Server_Test:");
+-    printf("%2ld Server %2ld Clients %2ld connections_per_client\n",1l,
++    printf(" 1 Server %2d Clients %2d connections_per_client\n",
+         num_tcp_clients, num_tcp_connections_per_client);
+-    printf("%30s %2ld messages_per_connection %4ld bytes_per_message\n",":",
++    printf("%30s %2d messages_per_connection %4d bytes_per_message\n",":",
+         num_tcp_mesgs_per_connection, tcp_mesg_size);
+ 
+@@ -1001,5 +1005,5 @@
+ /*
+  * UDP_Socket_Client_Server_Test    - iterative server test
+- *    
++ *
+  *    One server and several clients are started
+  *    Each client connects to the server and sends a chunk of data
+@@ -1055,5 +1059,5 @@
+     DPRINTF(("Creating UDP server"));
+     t = PR_CreateThread(PR_USER_THREAD,
+-        UDP_Server, (void *)sparamp, 
++        UDP_Server, (void *)sparamp,
+         PR_PRIORITY_NORMAL,
+         PR_LOCAL_THREAD,
+@@ -1121,6 +1125,6 @@
+     PR_ExitMonitor(mon2);
+     printf("%30s","UDP_Socket_Client_Server_Test: ");
+-    printf("%2ld Server %2ld Clients\n",1l, num_udp_clients);
+-    printf("%30s %2ld datagrams_per_client %4ld bytes_per_datagram\n",":",
++    printf(" 1 Server %2d Clients\n", num_udp_clients);
++    printf("%30s %2d datagrams_per_client %4d bytes_per_datagram\n",":",
+         num_udp_datagrams_per_client, udp_datagram_size);
+ 
+@@ -1477,5 +1481,5 @@
+     PR_Notify(cp->exit_mon);
+     PR_ExitMonitor(cp->exit_mon);
+-    DPRINTF(("TransmitFile_Client [0x%lx] exiting\n", PR_GetCurrentThread()));
++    DPRINTF(("TransmitFile_Client [%p] exiting\n", PR_GetCurrentThread()));
+ }
+ 
+@@ -1519,5 +1523,5 @@
+     if (bytes != (SMALL_FILE_SIZE+ SMALL_FILE_HEADER_SIZE)) {
+         fprintf(stderr,
+-            "prsocet_test: PR_TransmitFile failed: (%ld, %ld)\n",
++            "prsocet_test: PR_TransmitFile failed: (%d, %d)\n",
+             PR_GetError(), PR_GetOSError());
+         failed_already=1;
+@@ -1555,5 +1559,5 @@
+ 									slen, bytes);
+         fprintf(stderr,
+-            "prsocket_test: PR_SendFile failed: (%ld, %ld)\n",
++            "prsocket_test: PR_SendFile failed: (%d, %d)\n",
+             PR_GetError(), PR_GetOSError());
+         failed_already=1;
+@@ -1579,5 +1583,5 @@
+ 									slen, bytes);
+         fprintf(stderr,
+-            "prsocket_test: PR_SendFile failed: (%ld, %ld)\n",
++            "prsocket_test: PR_SendFile failed: (%d, %d)\n",
+             PR_GetError(), PR_GetOSError());
+         failed_already=1;
+@@ -1601,5 +1605,5 @@
+ 									slen, bytes);
+         fprintf(stderr,
+-            "prsocket_test: PR_SendFile failed: (%ld, %ld)\n",
++            "prsocket_test: PR_SendFile failed: (%d, %d)\n",
+             PR_GetError(), PR_GetOSError());
+         failed_already=1;
+@@ -1623,5 +1627,5 @@
+ 									slen, bytes);
+         fprintf(stderr,
+-            "prsocket_test: PR_SendFile failed: (%ld, %ld)\n",
++            "prsocket_test: PR_SendFile failed: (%d, %d)\n",
+             PR_GetError(), PR_GetOSError());
+         failed_already=1;
+@@ -1645,5 +1649,5 @@
+ 									slen, bytes);
+         fprintf(stderr,
+-            "prsocket_test: PR_SendFile failed: (%ld, %ld)\n",
++            "prsocket_test: PR_SendFile failed: (%d, %d)\n",
+             PR_GetError(), PR_GetOSError());
+         failed_already=1;
+@@ -1667,5 +1671,5 @@
+ 									slen, bytes);
+         fprintf(stderr,
+-            "prsocket_test: PR_SendFile failed: (%ld, %ld)\n",
++            "prsocket_test: PR_SendFile failed: (%d, %d)\n",
+             PR_GetError(), PR_GetOSError());
+         failed_already=1;
+@@ -1689,5 +1693,5 @@
+ 									slen, bytes);
+         fprintf(stderr,
+-            "prsocket_test: PR_SendFile failed: (%ld, %ld)\n",
++            "prsocket_test: PR_SendFile failed: (%d, %d)\n",
+             PR_GetError(), PR_GetOSError());
+         failed_already=1;
+@@ -1788,5 +1792,5 @@
+     }
+ 
+-    DPRINTF(("TCP_Server: PR_BIND netaddr.inet.ip = 0x%lx, netaddr.inet.port = %d\n",
++    DPRINTF(("TCP_Server: PR_BIND netaddr.inet.ip = 0x%x, netaddr.inet.port = %d\n",
+         netaddr.inet.ip, netaddr.inet.port));
+     tcp_server_addr.inet.family = netaddr.inet.family;
+@@ -1843,5 +1847,5 @@
+ 
+         t[i] = PR_CreateThread(PR_USER_THREAD,
+-            Serve_TransmitFile_Client, (void *)scp, 
++            Serve_TransmitFile_Client, (void *)scp,
+             PR_PRIORITY_NORMAL,
+             PR_LOCAL_THREAD,
+@@ -1854,5 +1858,5 @@
+             goto exit;
+         }
+-        DPRINTF(("TransmitFile_Server: Created Serve_TransmitFile_Client = 0x%lx\n", t));
++        DPRINTF(("TransmitFile_Server: Created Serve_TransmitFile_Client = %p\n", t));
+     }
+ 
+@@ -1882,10 +1886,10 @@
+     PR_Notify(sp->exit_mon);
+     PR_ExitMonitor(sp->exit_mon);
+-    DPRINTF(("TransmitFile_Server [0x%lx] exiting\n", PR_GetCurrentThread()));
++    DPRINTF(("TransmitFile_Server [%p] exiting\n", PR_GetCurrentThread()));
+ }
+ 
+ /*
+- * Socket_Misc_Test    - test miscellaneous functions 
+- *    
++ * Socket_Misc_Test    - test miscellaneous functions
++ *
+  */
+ static PRInt32
+@@ -2020,5 +2024,5 @@
+         if (bytes <= 0) {
+             fprintf(stderr,
+-                "prsocket_test failed to write to file %s: (%ld, %ld)\n",
++                "prsocket_test failed to write to file %s: (%d, %d)\n",
+                 LARGE_FILE_NAME,
+                 PR_GetError(), PR_GetOSError());
+@@ -2101,5 +2105,5 @@
+     sparamp->datalen = datalen;
+     t = PR_CreateThread(PR_USER_THREAD,
+-        TransmitFile_Server, (void *)sparamp, 
++        TransmitFile_Server, (void *)sparamp,
+         PR_PRIORITY_NORMAL,
+         PR_LOCAL_THREAD,
+@@ -2112,5 +2116,5 @@
+         goto done;
+     }
+-    DPRINTF(("Created TCP server = 0x%x\n", t));
++    DPRINTF(("Created TCP server = %p\n", t));
+     thread_count++;
+ 
+@@ -2149,5 +2153,5 @@
+             goto done;
+         }
+-        DPRINTF(("Created TransmitFile client = 0x%lx\n", t));
++        DPRINTF(("Created TransmitFile client = %p\n", t));
+         thread_count++;
+     }
+@@ -2179,5 +2183,5 @@
+     }
+     if ((PR_RmDir(TEST_DIR)) == PR_FAILURE) {
+-        fprintf(stderr,"prsocket_test failed to rmdir %s: (%ld, %ld)\n",
++        fprintf(stderr,"prsocket_test failed to rmdir %s: (%d, %d)\n",
+             TEST_DIR, PR_GetError(), PR_GetOSError());
+         failed_already=1;
+--- ../pr/tests/sprintf.c	Sun Apr 25 11:01:02 2004
++++ ../pr/tests/sprintf.c	Mon Jul 25 22:21:32 2005
+@@ -162,5 +162,5 @@
+ 	fprintf(stderr,
+ 	   "pattern='%s' l=%ld\nPR_smprintf='%s'\nPR_snprintf='%s'\n    sprintf='%s'\n",
+-	   pattern, l, s, buf, sbuf);
++	   pattern, (long)l, s, buf, sbuf);
+ 	PR_smprintf_free(s);
+ 	exit(-1);
+--- ../pr/tests/stack.c	Sun Apr 25 11:01:02 2004
++++ ../pr/tests/stack.c	Mon Jul 25 22:22:43 2005
+@@ -86,5 +86,5 @@
+ PRIntn main(PRIntn argc, char **argv)
+ {
+-    PRInt32 rv, cnt, sum;
++    PRInt32 cnt, sum;
+ 	DataRecord	*Item;
+ 	PRStack		*list1, *list2;
+@@ -240,5 +240,5 @@
+ {
+     PRInt32 val, cnt, index, loops;
+-	DataRecord	*Items, *Item;
++	DataRecord	*Items;
+ 	PRStack		*list1, *list2;
+ 	PRStackElem	*node;
+--- ../pr/tests/suspend.c	Sun Apr 25 11:01:02 2004
++++ ../pr/tests/suspend.c	Mon Jul 25 22:28:14 2005
+@@ -74,5 +74,5 @@
+ {
+     PR_Sleep(PR_MillisecondsToInterval(4 * 1000));
+-    printf("Level_2_Thread[0x%lx] exiting\n",PR_GetCurrentThread());
++    printf("Level_2_Thread[%p] exiting\n",PR_GetCurrentThread());
+     return;
+ }
+@@ -81,5 +81,5 @@
+ Level_1_Thread(void *arg)
+ {
+-    PRUint32 tmp = (PRUint32)arg;
++    PRUint32 tmp = (PRUint32)(uintptr_t)arg;
+     PRThreadScope scope = (PRThreadScope) tmp;
+     PRThread *thr;
+@@ -96,5 +96,5 @@
+         printf("Could not create thread!\n");
+     } else {
+-        printf("Level_1_Thread[0x%lx] created %15s thread 0x%lx\n",
++        printf("Level_1_Thread[%p] created %15s thread %p\n",
+             PR_GetCurrentThread(),
+             (scope == PR_GLOBAL_THREAD) ?
+@@ -107,5 +107,5 @@
+     PR_Notify(mon);
+     PR_ExitMonitor(mon);
+-    printf("Thread[0x%lx] exiting\n",PR_GetCurrentThread());
++    printf("Thread[%p] exiting\n",PR_GetCurrentThread());
+ }
+ 
+@@ -116,11 +116,12 @@
+ 
+     printf(
+-        "\nprint_thread[0x%lx]: %-20s - i = %ld\n",thread, 
++        "\nprint_thread[%p]: %-20s - i = %d\n",thread, 
+         (PR_GLOBAL_THREAD == PR_GetThreadScope(thread)) ?
+         "PR_GLOBAL_THREAD" : "PR_LOCAL_THREAD", i);
+     registers = PR_GetGCRegisters(thread, 0, (int *)&words);
+-    printf("Regsters R0 = 0x%x R1 = 0x%x R2 = 0x%x R3 = 0x%x\n",
+-        registers[0],registers[1],registers[2],registers[3]);
+-    printf("Stack Pointer = 0x%lx\n", PR_GetSP(thread));
++    printf("Regsters R0 = 0x%lx R1 = 0x%lx R2 = 0x%lx R3 = 0x%lx\n",
++        (unsigned long)registers[0], (unsigned long)registers[1],
++	(unsigned long)registers[2], (unsigned long)registers[3]);
++    printf("Stack Pointer = %p\n", PR_GetSP(thread));
+     return PR_SUCCESS;
+ }
+@@ -150,5 +151,5 @@
+             alive--;
+         }
+-        printf("Level_0_Thread[0x%lx] created %15s thread 0x%lx\n",
++        printf("Level_0_Thread[%p] created %15s thread %p\n",
+             PR_GetCurrentThread(),
+             (scope1 == PR_GLOBAL_THREAD) ?
+@@ -161,7 +162,8 @@
+     PR_EnumerateThreads(print_thread, NULL);
+     registers = PR_GetGCRegisters(me, 1, (int *)&words);
+-    printf("My Registers: R0 = 0x%x R1 = 0x%x R2 = 0x%x R3 = 0x%x\n",
+-        registers[0],registers[1],registers[2],registers[3]);
+-    printf("My Stack Pointer = 0x%lx\n", PR_GetSP(me));
++    printf("My Registers: R0 = 0x%lx R1 = 0x%lx R2 = 0x%lx R3 = 0x%lx\n",
++        (unsigned long)registers[0], (unsigned long)registers[1],
++	(unsigned long)registers[2], (unsigned long)registers[3]);
++    printf("My Stack Pointer = %p\n", PR_GetSP(me));
+     PR_ResumeAll();
+ 
+@@ -227,4 +229,6 @@
+     CreateThreadsKU();
+     PR_Cleanup();
++
++    return 0;
+ }
+ 
+--- ../pr/tests/testfile.c	Tue Jun 20 17:46:54 2000
++++ ../pr/tests/testfile.c	Mon Jul 25 22:36:39 2005
+@@ -69,4 +69,7 @@
+ #define mode_t int
+ #endif
++#if defined(XP_UNIX) || defined(XP_OS2_EMX)
++#	include <unistd.h>	/* getopt(3) */
++#endif
+ 
+ #define DPRINTF(arg) if (_debug_on) printf arg
+@@ -119,5 +122,5 @@
+ 
+ PRThread* create_new_thread(PRThreadType type,
+-							void (*start)(void *arg),
++							void *(*start)(void *arg),
+ 							void *arg,
+ 							PRThreadPriority priority,
+@@ -181,5 +184,5 @@
+ #endif
+ 	} else {
+-		return(PR_CreateThread(type,start,arg,priority,scope,state,stackSize));
++		return(PR_CreateThread(type,(void (*)(void*))start,arg,priority,scope,state,stackSize));
+ 	}
+ #else
+@@ -342,6 +345,6 @@
+ 		"testfile PR_GetFileInfo returned incorrect status-change time: %s\n",
+ 		pathname);
+-		printf("ft = %lld, ft1 = %lld\n",file_info.creationTime,
+-									file_info1.creationTime);
++		printf("ft = %lld, ft1 = %lld\n", (long long)file_info.creationTime,
++			(long long)file_info1.creationTime);
+ 		rv = -1;
+ 		goto cleanup;
+@@ -368,6 +371,6 @@
+ 		"testfile PR_GetFileInfo returned incorrect modify time: %s\n",
+ 		pathname);
+-		printf("ft = %lld, ft1 = %lld\n",file_info.modifyTime,
+-									file_info1.modifyTime);
++		printf("ft = %lld, ft1 = %lld\n", (long long)file_info.modifyTime,
++			(long long)file_info1.modifyTime);
+ 		rv = -1;
+ 		goto cleanup;
+@@ -495,5 +498,5 @@
+ 
+ 		t = create_new_thread(PR_USER_THREAD,
+-			      File_Write, (void *)fparamp, 
++			      (void *(*)(void *))File_Write, (void *)fparamp, 
+ 			      PR_PRIORITY_NORMAL,
+ 			      scope,
+@@ -530,5 +533,5 @@
+ 
+ 		t = create_new_thread(PR_USER_THREAD,
+-			      File_Read, (void *)fparamp, 
++			      (void *(*)(void *))File_Read, (void *)fparamp, 
+ 			      PR_PRIORITY_NORMAL,
+ 			      scope,
+@@ -598,5 +601,5 @@
+ 		thrarg.done= 0;
+ 		t = create_new_thread(PR_USER_THREAD,
+-			      DirTest, &thrarg, 
++			      (void *(*)(void *))DirTest, &thrarg, 
+ 			      PR_PRIORITY_NORMAL,
+ 			      PR_LOCAL_THREAD,
+@@ -953,6 +956,4 @@
+ #if defined(XP_UNIX) || defined(XP_OS2_EMX)
+         int opt;
+-        extern char *optarg;
+-	extern int optind;
+ #endif
+ #if defined(XP_UNIX) || defined(XP_OS2_EMX)
+--- ../pr/tests/thrpool_server.c	Sun Apr 25 11:01:02 2004
++++ ../pr/tests/thrpool_server.c	Mon Jul 25 22:38:33 2005
+@@ -363,5 +363,5 @@
+ 
+     DPRINTF((
+-	"TCP_Server: PR_BIND netaddr.inet.ip = 0x%lx, netaddr.inet.port = %d\n",
++	"TCP_Server: PR_BIND netaddr.inet.ip = 0x%x, netaddr.inet.port = %d\n",
+         netaddr.inet.ip, netaddr.inet.port));
+ 
+@@ -496,5 +496,5 @@
+ 
+ 	PR_ASSERT(NULL != jobp);
+-	DPRINTF(("TCP_Server: Created Serve_Client = 0x%lx\n", jobp));
++	DPRINTF(("TCP_Server: Created Serve_Client = %p\n", jobp));
+ 
+ 	/*
+@@ -513,5 +513,5 @@
+ 
+ 	PR_ASSERT(NULL != jobp);
+-	DPRINTF(("TCP_Server: Created print_stats timer job = 0x%lx\n", jobp));
++	DPRINTF(("TCP_Server: Created print_stats timer job = %p\n", jobp));
+ 
+ exit:
+@@ -530,7 +530,7 @@
+ 	PR_DestroyMonitor(sp->exit_mon);
+     printf("%30s","TCP_Socket_Client_Server_Test:");
+-    printf("%2ld Server %2ld Clients %2ld connections_per_client\n",1l,
++    printf(" 1 Server %2d Clients %2d connections_per_client\n",
+         num_tcp_clients, num_tcp_connections_per_client);
+-    printf("%30s %2ld messages_per_connection %4ld bytes_per_message\n",":",
++    printf("%30s %2d messages_per_connection %4d bytes_per_message\n",":",
+         num_tcp_mesgs_per_connection, tcp_mesg_size);
+ 
+--- ../pr/tests/thrpool_client.c	Sun Apr 25 11:01:02 2004
++++ ../pr/tests/thrpool_client.c	Mon Jul 25 22:40:45 2005
+@@ -127,9 +127,9 @@
+ 
+     for (rem=len; rem; offset += bytes, rem -= bytes) {
+-        DPRINTF(("thread = 0x%lx: calling PR_Recv, bytes = %d\n",
++        DPRINTF(("thread = %p: calling PR_Recv, bytes = %d\n",
+             PR_GetCurrentThread(), rem));
+         bytes = PR_Recv(sockfd, buf + offset, rem, 0,
+             	timeout);
+-        DPRINTF(("thread = 0x%lx: returning from PR_Recv, bytes = %d\n",
++        DPRINTF(("thread = %p: returning from PR_Recv, bytes = %d\n",
+             PR_GetCurrentThread(), bytes));
+         if (bytes < 0) {
+@@ -152,9 +152,9 @@
+ 
+     for (rem=len; rem; offset += bytes, rem -= bytes) {
+-        DPRINTF(("thread = 0x%lx: calling PR_Send, bytes = %d\n",
++        DPRINTF(("thread = %p: calling PR_Send, bytes = %d\n",
+             PR_GetCurrentThread(), rem));
+         bytes = PR_Send(sockfd, buf + offset, rem, 0,
+             PR_INTERVAL_NO_TIMEOUT);
+-        DPRINTF(("thread = 0x%lx: returning from PR_Send, bytes = %d\n",
++        DPRINTF(("thread = %p: returning from PR_Send, bytes = %d\n",
+             PR_GetCurrentThread(), bytes));
+         if (bytes <= 0)
+@@ -209,5 +209,5 @@
+         DPRINTF(("TCP client connecting to server:%d\n", server_port));
+         if (PR_Connect(sockfd, &netaddr,PR_INTERVAL_NO_TIMEOUT) < 0){
+-        	fprintf(stderr, "PR_Connect failed: (%ld, %ld)\n",
++        	fprintf(stderr, "PR_Connect failed: (%d, %d)\n",
+             		PR_GetError(), PR_GetOSError());
+             failed_already=1;
+@@ -218,5 +218,5 @@
+              * fill in random data
+              */
+-            memset(out_buf->data, ((PRInt32) (&netaddr)) + i + j, bytes);
++            memset(out_buf->data, ((intptr_t)(&netaddr)) + i + j, bytes);
+             /*
+              * write to server
+@@ -326,5 +326,5 @@
+         connections++;
+     	PR_ExitMonitor(mon2);
+-        DPRINTF(("Created TCP client = 0x%lx\n", thr));
++        DPRINTF(("Created TCP client = %p\n", thr));
+     }
+     /* Wait for client jobs to exit */
+@@ -336,7 +336,7 @@
+     PR_ExitMonitor(mon2);
+     printf("%30s","TCP_Socket_Client_Server_Test:");
+-    printf("%2ld Server %2ld Clients %2ld connections_per_client\n",1l,
++    printf(" 1 Server %2d Clients %2d connections_per_client\n",
+         num_tcp_clients, num_tcp_connections_per_client);
+-    printf("%30s %2ld messages_per_connection %4ld bytes_per_message\n",":",
++    printf("%30s %2d messages_per_connection %4d bytes_per_message\n",":",
+         num_tcp_mesgs_per_connection, tcp_mesg_size);
+ 
+--- ../pr/tests/threads.c	Sun Apr 25 11:01:02 2004
++++ ../pr/tests/threads.c	Mon Jul 25 22:43:10 2005
+@@ -66,5 +66,5 @@
+ DumbThread(void *arg)
+ {
+-    PRInt32 tmp = (PRInt32)arg;
++    PRInt32 tmp = (PRInt32)(intptr_t)arg;
+     PRThreadScope scope = (PRThreadScope)tmp;
+     PRThread *thr;
+@@ -214,8 +214,8 @@
+     if (debug_mode)
+     {
+-    printf("\
+-** Tests lots of thread creations.  \n\
+-** Create %ld native threads %ld times. \n\
+-** Create %ld user threads %ld times \n", iterations,count,iterations,count);
++    printf("** Tests lots of thread creations.\n"
++	"** Create %d native threads %d times.\n"
++	"** Create %d user threads %d times.\n", iterations, count,
++	iterations, count);
+     }
+ 
+--- ../pr/tests/thruput.c	Sun Apr 25 11:01:02 2004
++++ ../pr/tests/thruput.c	Mon Jul 25 22:44:16 2005
+@@ -407,4 +407,5 @@
+     else Client(server_name);
+ 
++    return 0;
+ }  /* main */
+ 
+--- ../pr/tests/timemac.c	Sun Apr 25 11:01:02 2004
++++ ../pr/tests/timemac.c	Mon Jul 25 22:45:33 2005
+@@ -63,5 +63,5 @@
+ 
+     /* Print day of the week, month, day, hour, minute, and second */
+-    printf( "%s %s %ld %02ld:%02ld:%02ld ",
++    printf( "%s %s %d %02d:%02d:%02d ",
+ 	    dayOfWeek[et->tm_wday], month[et->tm_month], et->tm_mday,
+ 	    et->tm_hour, et->tm_min, et->tm_sec);
+@@ -79,5 +79,5 @@
+         hourOffset = totalOffset / 3600;
+         minOffset = (totalOffset % 3600) / 60;
+-        printf("%s%02ld%02ld ", sign, hourOffset, minOffset);
++        printf("%s%02d%02d ", sign, hourOffset, minOffset);
+     }
+ 
+@@ -140,5 +140,5 @@
+ 	printExplodedTime(&et);
+ 	printf("\n");
+-	printf("GMT offset is %ld, DST offset is %ld\n",
++	printf("GMT offset is %d, DST offset is %d\n",
+ 		et.tm_params.tp_gmt_offset, et.tm_params.tp_dst_offset);
+         t2 = PR_ImplodeTime(&et);
+--- ../pr/tests/timetest.c	Sun Apr 25 11:01:02 2004
++++ ../pr/tests/timetest.c	Mon Jul 25 22:48:03 2005
+@@ -75,5 +75,5 @@
+ 
+     /* Print day of the week, month, day, hour, minute, and second */
+-    if (debug_mode) printf("%s %s %ld %02ld:%02ld:%02ld ",
++    if (debug_mode) printf("%s %s %d %02d:%02d:%02d ",
+ 	    dayOfWeek[et->tm_wday], month[et->tm_month], et->tm_mday,
+ 	    et->tm_hour, et->tm_min, et->tm_sec);
+@@ -92,5 +92,5 @@
+         minOffset = (totalOffset % 3600) / 60;
+         if (debug_mode) 
+-            printf("%s%02ld%02ld ", sign, hourOffset, minOffset);
++            printf("%s%02d%02d ", sign, hourOffset, minOffset);
+     }
+ 
+@@ -276,5 +276,5 @@
+ 	PrintExplodedTime(&et);
+ 	if (debug_mode) printf("\n");
+-	if (debug_mode) printf("GMT offset is %ld, DST offset is %ld\n",
++	if (debug_mode) printf("GMT offset is %d, DST offset is %d\n",
+ 		et.tm_params.tp_gmt_offset, et.tm_params.tp_dst_offset);
+         t2 = PR_ImplodeTime(&et);
+--- ../pr/tests/y2k.c	Sun Apr 25 11:01:02 2004
++++ ../pr/tests/y2k.c	Mon Jul 25 22:49:18 2005
+@@ -82,5 +82,5 @@
+ 
+     /* Print day of the week, month, day, hour, minute, and second */
+-    printf("%s %s %2ld %02ld:%02ld:%02ld ",
++    printf("%s %s %2d %02d:%02d:%02d ",
+ 	    dayOfWeek[et->tm_wday], month[et->tm_month], et->tm_mday,
+ 	    et->tm_hour, et->tm_min, et->tm_sec);
+@@ -101,5 +101,5 @@
+         hourOffset = totalOffset / 3600;
+         minOffset = (totalOffset % 3600) / 60;
+-        printf("%s%02ld%02ld ", sign, hourOffset, minOffset);
++        printf("%s%02d%02d ", sign, hourOffset, minOffset);
+     }
+ #ifdef PRINT_DETAILS
+--- ../pr/tests/y2ktmo.c	Sun Apr 25 11:01:02 2004
++++ ../pr/tests/y2ktmo.c	Mon Jul 25 22:58:00 2005
+@@ -95,5 +95,5 @@
+ static void SleepThread(void *arg)
+ {
+-    PRIntervalTime timeout = (PRIntervalTime) arg;
++    PRIntervalTime timeout = (PRIntervalTime)(intptr_t)arg;
+     PRIntervalTime elapsed;
+ #if defined(XP_UNIX) || defined(WIN32)
+@@ -142,5 +142,5 @@
+ static void AcceptThread(void *arg)
+ {
+-    PRIntervalTime timeout = (PRIntervalTime) arg;
++    PRIntervalTime timeout = (PRIntervalTime)(intptr_t)arg;
+     PRIntervalTime elapsed;
+ #if defined(XP_UNIX) || defined(WIN32)
+@@ -214,5 +214,5 @@
+ static void PollThread(void *arg)
+ {
+-    PRIntervalTime timeout = (PRIntervalTime) arg;
++    PRIntervalTime timeout = (PRIntervalTime)(intptr_t)arg;
+     PRIntervalTime elapsed;
+ #if defined(XP_UNIX) || defined(WIN32)
+@@ -289,5 +289,5 @@
+ static void WaitCondVarThread(void *arg)
+ {
+-    PRIntervalTime timeout = (PRIntervalTime) arg;
++    PRIntervalTime timeout = (PRIntervalTime)(intptr_t)arg;
+     PRIntervalTime elapsed;
+ #if defined(XP_UNIX) || defined(WIN32)
+@@ -349,5 +349,5 @@
+ static void WaitMonitorThread(void *arg)
+ {
+-    PRIntervalTime timeout = (PRIntervalTime) arg;
++    PRIntervalTime timeout = (PRIntervalTime)(intptr_t)arg;
+     PRIntervalTime elapsed;
+ #if defined(XP_UNIX) || defined(WIN32)
+@@ -402,5 +402,5 @@
+ static void WaitCMonitorThread(void *arg)
+ {
+-    PRIntervalTime timeout = (PRIntervalTime) arg;
++    PRIntervalTime timeout = (PRIntervalTime)(intptr_t)arg;
+     PRIntervalTime elapsed;
+ #if defined(XP_UNIX) || defined(WIN32)
+@@ -525,5 +525,5 @@
+         for (j = 0; j < num_thread_funcs; j++) {
+             threads[idx] = PR_CreateThread(PR_USER_THREAD, threadFuncs[j],
+-                (void*)PR_SecondsToInterval(secs), PR_PRIORITY_NORMAL,
++                (void*)(intptr_t)PR_SecondsToInterval(secs), PR_PRIORITY_NORMAL,
+                 threadScopes[i], PR_JOINABLE_THREAD, 0);
+             if (threads[idx] == NULL) {
+--- ../pr/tests/zerolen.c	Sun Apr 25 11:01:02 2004
++++ ../pr/tests/zerolen.c	Mon Jul 25 23:04:19 2005
+@@ -78,5 +78,5 @@
+     PRFileDesc *sock;
+     PRNetAddr addr;
+-    PRUint16 port = (PRUint16) arg;
++    PRUint16 port = (PRUint16)(uintptr_t)arg;
+     char buf[1024];
+     PRInt32 nbytes;
+@@ -157,5 +157,5 @@
+      */
+     clientThread = PR_CreateThread(PR_USER_THREAD,
+-            ClientThread, (void *) PR_ntohs(PR_NetAddrInetPort(&addr)),
++            ClientThread, (void *)(uintptr_t)PR_ntohs(PR_NetAddrInetPort(&addr)),
+             PR_PRIORITY_NORMAL, PR_GLOBAL_THREAD, PR_JOINABLE_THREAD, 0);
+     if (NULL == clientThread) {
+@@ -198,5 +198,5 @@
+      */
+     clientThread = PR_CreateThread(PR_USER_THREAD,
+-            ClientThread, (void *) PR_ntohs(PR_NetAddrInetPort(&addr)),
++            ClientThread, (void *)(uintptr_t)PR_ntohs(PR_NetAddrInetPort(&addr)),
+             PR_PRIORITY_NORMAL, PR_GLOBAL_THREAD, PR_JOINABLE_THREAD, 0);
+     if (NULL == clientThread) {
+@@ -237,5 +237,5 @@
+      */
+     clientThread = PR_CreateThread(PR_USER_THREAD,
+-            ClientThread, (void *) PR_ntohs(PR_NetAddrInetPort(&addr)),
++            ClientThread, (void *)(uintptr_t)PR_ntohs(PR_NetAddrInetPort(&addr)),
+             PR_PRIORITY_NORMAL, PR_GLOBAL_THREAD, PR_JOINABLE_THREAD, 0);
+     if (NULL == clientThread) {
+--- ../pr/tests/runtests.sh	Sun Apr 25 11:01:02 2004
++++ ../pr/tests/runtests.sh	Tue Jul 26 00:01:35 2005
+@@ -85,7 +85,4 @@
+ #
+ 
+-#forktest (failed on IRIX)
+-#nbconn - fails on some platforms 
+-#poll_er - fails on some platforms? limited use?
+ #prpoll -  the bad-FD test needs to be moved to a different test
+ #sleep	-  specific to OS/2
+@@ -119,4 +116,5 @@
+ fileio
+ foreign
++forktest
+ formattm
+ fsync
+@@ -126,5 +124,4 @@
+ initclk
+ inrval
+-instrumt
+ intrio
+ intrupt
+@@ -146,4 +143,5 @@
+ multiwait
+ nameshm1
++nbconn
+ nblayer
+ nonblock
+@@ -161,4 +159,5 @@
+ pipeping2
+ pipeself
++poll_er
+ poll_nm
+ poll_to
+@@ -230,5 +229,5 @@
+ printf "BEGIN\t\t\t`date`\n"
+ printf "NSPR_TEST_LOGFILE\t${LOGFILE}\n\n"
+-printf "Test\t\t\tResult\n\n"
++printf "            Test\t\t\tResult\n\n"
+ if [ $OS_PLATFORM = "Windows_95" ] || [ $OS_PLATFORM = "Windows_98" ] || [ $OS_PLATFORM = "Windows_NT" ] || [ $OS_PLATFORM = "OS/2" ] ; then
+ 	for prog in $TESTS
+@@ -248,8 +247,6 @@
+ 	for prog in $TESTS
+ 	do
+-		printf "$prog"
+-		printf "\nBEGIN TEST: $prog\n\n" >> ${LOGFILE} 2>&1
+-		export test_rval
+-		./$prog >> ${LOGFILE} 2>&1 &
++		printf %16s $prog
++		./$prog >> $prog.output 2>&1 &
+ 		test_pid=$!
+ 		sleep_pid=0
+@@ -266,7 +263,7 @@
+ 		else
+ 			printf "\t\t\tFAILED\n";
++			sed "s,^,	$prog:	," < $prog.output
+ 			rval=1
+ 		fi;
+-		printf "\nEND TEST: $prog\n\n" >> ${LOGFILE} 2>&1
+ 	done
+ fi;
+@@ -274,19 +271,2 @@
+ printf "END\t\t\t`date`\n"
+ exit $rval
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+--- ../pr/tests/server_test.c.orig	2009-03-18 10:49:45.000000000 +0100
++++ ../pr/tests/server_test.c	2009-06-17 09:30:18.000000000 +0200
+@@ -92,7 +92,7 @@
+ #ifdef DEBUGPRINTS
+ #define DPRINTF printf
+ #else
+-#define DPRINTF
++#define DPRINTF(...)
+ #endif
+ 
+ 
+@@ -534,6 +534,7 @@
+     do_work();
+ }
+ 
++#if 0
+ static void do_workUK(void)
+ {
+     ServerScope = PR_LOCAL_THREAD;
+@@ -554,6 +555,7 @@
+     ClientScope = PR_GLOBAL_THREAD;
+     do_work();
+ }
++#endif
+ 
+ 
+ static void Measure(void (*func)(void), const char *msg)
+--- ../pr/tests/servr_ku.c.orig	2009-03-18 10:49:46.000000000 +0100
++++ ../pr/tests/servr_ku.c	2009-06-17 09:51:45.000000000 +0200
+@@ -89,7 +89,7 @@
+ #ifdef DEBUGPRINTS
+ #define DPRINTF printf
+ #else
+-#define DPRINTF
++#define DPRINTF(...)
+ #endif
+ 
+ PRIntn failed_already=0;
+--- ../pr/tests/servr_uk.c.orig	2009-03-18 10:49:46.000000000 +0100
++++ ../pr/tests/servr_uk.c	2009-06-17 09:53:37.000000000 +0200
+@@ -89,7 +89,7 @@
+ #ifdef DEBUGPRINTS
+ #define DPRINTF printf
+ #else
+-#define DPRINTF
++#define DPRINTF(...)
+ #endif
+ 
+ PRIntn failed_already=0;
+--- ../pr/tests/servr_uu.c.orig	2009-03-18 10:49:46.000000000 +0100
++++ ../pr/tests/servr_uu.c	2009-06-17 09:55:30.000000000 +0200
+@@ -89,7 +89,7 @@
+ #ifdef DEBUGPRINTS
+ #define DPRINTF printf
+ #else
+-#define DPRINTF
++#define DPRINTF(...)
+ #endif
+ 
+ PRIntn failed_already=0;

Added: trunk/devel/nspr/files/patch-warnings
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ trunk/devel/nspr/files/patch-warnings	Wed Jun 17 08:19:15 2009	(r39)
@@ -0,0 +1,57 @@
+--- ../pr/src/pthreads/ptsynch.c	Mon Nov 22 16:24:53 2004
++++ ../pr/src/pthreads/ptsynch.c	Mon Jul 25 00:03:49 2005
+@@ -63,5 +63,5 @@
+ #endif  /* defined(DEBUG) */
+ 
+-#if defined(FREEBSD)
++#if defined(FREEBSD) && (defined(DEBUG) || defined(FORCE_PR_ASSERT))
+ /*
+  * On older versions of FreeBSD, pthread_mutex_trylock returns EDEADLK.
+@@ -343,5 +343,8 @@
+     if (cv != NULL)
+     {
+-        int rv = _PT_PTHREAD_COND_INIT(cv->cv, _pt_cvar_attr); 
++#if defined(DEBUG) || defined(FORCE_PR_ASSERT)
++        int rv =
++#endif
++	    _PT_PTHREAD_COND_INIT(cv->cv, _pt_cvar_attr); 
+         PR_ASSERT(0 == rv);
+         cv->lock = lock;
+@@ -358,5 +361,9 @@
+     if (0 > PR_AtomicDecrement(&cvar->notify_pending))
+     {
+-        PRIntn rv = pthread_cond_destroy(&cvar->cv); PR_ASSERT(0 == rv);
++#if defined(DEBUG) || defined(FORCE_PR_ASSERT)
++        PRIntn rv =
++#endif
++	    pthread_cond_destroy(&cvar->cv);
++	PR_ASSERT(0 == rv);
+ #if defined(DEBUG)
+         memset(cvar, 0xaf, sizeof(PRCondVar));
+@@ -1080,6 +1087,9 @@
+     if (cv != NULL)
+     {
++#if defined(DEBUG) || defined(FORCE_PR_ASSERT)
+         int rv;
+-        rv = _PT_PTHREAD_COND_INIT(cv->cv, _pt_cvar_attr); 
++        rv =
++#endif
++	    _PT_PTHREAD_COND_INIT(cv->cv, _pt_cvar_attr); 
+         PR_ASSERT(0 == rv);
+         cv->lock = _PR_NAKED_CV_LOCK;
+--- ../pr/include/prcountr.h	Sun Apr 25 11:00:47 2004
++++ ../pr/include/prcountr.h	Mon Jul 25 20:43:03 2005
+@@ -427,5 +427,5 @@
+     (counter) = PR_GetCounter((handle))
+ #else
+-#define PR_GET_COUNTER(counter,handle) 0
++#define PR_GET_COUNTER(counter,handle)
+ #endif
+ 
+@@ -501,5 +501,5 @@
+     (next) = PR_FindNextCounterQname((handle))
+ #else
+-#define PR_FIND_NEXT_COUNTER_QNAME(next,handle) NULL
++#define PR_FIND_NEXT_COUNTER_QNAME(next,handle)
+ #endif
+ 

Added: trunk/devel/nspr/pkg-descr
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ trunk/devel/nspr/pkg-descr	Wed Jun 17 08:19:15 2009	(r39)
@@ -0,0 +1,5 @@
+Netscape Portable Runtime (NSPR) provides a platform-neutral API for system
+level and libc like functions. The API is used in the Mozilla client, many of
+Netscape/AOL/iPlanet's and other software offerings.
+
+WWW: http://www.mozilla.org/projects/nspr/index.html

Added: trunk/devel/nspr/pkg-plist
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ trunk/devel/nspr/pkg-plist	Wed Jun 17 08:19:15 2009	(r39)
@@ -0,0 +1,103 @@
+bin/nspr-config
+include/nspr/md/_aix32.cfg
+include/nspr/md/_aix64.cfg
+include/nspr/md/_beos.cfg
+include/nspr/md/_bsdi.cfg
+include/nspr/md/_darwin.cfg
+include/nspr/md/_dgux.cfg
+include/nspr/md/_freebsd.cfg
+include/nspr/md/_hpux32.cfg
+include/nspr/md/_hpux64.cfg
+include/nspr/md/_irix32.cfg
+include/nspr/md/_irix64.cfg
+include/nspr/md/_linux.cfg
+include/nspr/md/_ncr.cfg
+include/nspr/md/_nec.cfg
+include/nspr/md/_netbsd.cfg
+include/nspr/md/_nextstep.cfg
+include/nspr/md/_nto.cfg
+include/nspr/md/_openbsd.cfg
+include/nspr/md/_os2.cfg
+include/nspr/md/_osf1.cfg
+include/nspr/md/_qnx.cfg
+include/nspr/md/_reliantunix.cfg
+include/nspr/md/_riscos.cfg
+include/nspr/md/_scoos.cfg
+include/nspr/md/_solaris.cfg
+include/nspr/md/_sony.cfg
+include/nspr/md/_sunos4.cfg
+include/nspr/md/_symbian.cfg
+include/nspr/md/_unixware.cfg
+include/nspr/md/_unixware7.cfg
+include/nspr/md/_win95.cfg
+include/nspr/md/_winnt.cfg
+include/nspr/nspr.h
+include/nspr/obsolete/pralarm.h
+include/nspr/obsolete/probslet.h
+include/nspr/obsolete/protypes.h
+include/nspr/obsolete/prsem.h
+include/nspr/plarena.h
+include/nspr/plarenas.h
+include/nspr/plbase64.h
+include/nspr/plerror.h
+include/nspr/plgetopt.h
+include/nspr/plhash.h
+include/nspr/plresolv.h
+include/nspr/plstr.h
+include/nspr/pratom.h
+include/nspr/prbit.h
+include/nspr/prclist.h
+include/nspr/prcmon.h
+include/nspr/prcountr.h
+include/nspr/prcpucfg.h
+include/nspr/prcvar.h
+include/nspr/prdtoa.h
+include/nspr/prenv.h
+include/nspr/prerr.h
+include/nspr/prerror.h
+include/nspr/prinet.h
+include/nspr/prinit.h
+include/nspr/prinrval.h
+include/nspr/prio.h
+include/nspr/pripcsem.h
+include/nspr/private/pprio.h
+include/nspr/private/pprthred.h
+include/nspr/private/prpriv.h
+include/nspr/prlink.h
+include/nspr/prlock.h
+include/nspr/prlog.h
+include/nspr/prlong.h
+include/nspr/prmem.h
+include/nspr/prmon.h
+include/nspr/prmwait.h
+include/nspr/prnetdb.h
+include/nspr/prolock.h
+include/nspr/prpdce.h
+include/nspr/prprf.h
+include/nspr/prproces.h
+include/nspr/prrng.h
+include/nspr/prrwlock.h
+include/nspr/prshm.h
+include/nspr/prshma.h
+include/nspr/prsystem.h
+include/nspr/prthread.h
+include/nspr/prtime.h
+include/nspr/prtpool.h
+include/nspr/prtrace.h
+include/nspr/prtypes.h
+include/nspr/prvrsion.h
+include/nspr/prwin16.h
+lib/libnspr4.a
+lib/libnspr4.so
+lib/libnspr4.so.1
+lib/libplc4.a
+lib/libplc4.so
+lib/libplc4.so.1
+lib/libplds4.a
+lib/libplds4.so
+lib/libplds4.so.1
+libdata/pkgconfig/nspr.pc
+@dirrm include/nspr/private
+@dirrm include/nspr/obsolete
+@dirrm include/nspr/md
+@dirrm include/nspr



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200906170819.n5H8JGJ5023647>