aboutsummaryrefslogtreecommitdiff
path: root/libjava
AgeCommit message (Collapse)AuthorFilesLines
2004-09-24re PR java/16789 (ICE in force_evaluation_order() on valid code)Tom Tromey3-0/+22
PR java/16789: * testsuite/libjava.lang/pr16789.out: New file. * testsuite/libjava.lang/pr16789.java: New file. From-SVN: r88046
2004-09-24re PR java/16927 (assert statement fails at -O1 and above)Andrew Haley2-0/+12
2004-09-24 Andrew Haley <aph@redhat.com> PR java/16927 * testsuite/libjava.compile/AssertBug.java: New file. From-SVN: r88035
2004-09-242004-09-24 Casey Marshall <csm@gnu.org>Casey Marshall2-1/+6
* java/util/PropertyPermissionCollection.java (implies): avoid infinite loop. From-SVN: r88033
2004-09-242004-09-24 Andrew John Hughes <gnu_andrew@member.fsf.org>Andrew John Hughes2-0/+10
* javax/security/auth/PrivateCredentialPermission.java (PrivateCredentialPermission): added serialization UID From-SVN: r88031
2004-09-242004-09-24 Ilya Perminov <iperminov@logicalsoft.com>Ilya Perminov3-1/+23
* gnu/java/rmi/server/UnicastServer.java (incomingMessageCall): Added code to handle Errors. * gnu/java/rmi/server/UnicastServerRef.java (incomingMessageCall): Added code to handle Errors. From-SVN: r88030
2004-09-24ClassLoader.java (loadedClasses): Declare as HashMap.Tom Tromey2-3/+8
2004-09-24 Tom Tromey <tromey@redhat.com> * java/lang/ClassLoader.java (loadedClasses): Declare as HashMap. (definedPackages): Likewise. From-SVN: r88027
2004-09-24ObjectInputStream.java: Re-ordered imports.Michael Koch2-9/+11
2004-09-24 Michael Koch <konqueror@gmx.de> * java/io/ObjectInputStream.java: Re-ordered imports. From-SVN: r88025
2004-09-24ObjectInputStream.java (callReadMethod): re-throw `ClassNotFoundException'.Casey Marshall2-1/+9
2004-09-24 Casey Marshall <csm@gnu.org> * java/io/ObjectInputStream.java (callReadMethod): re-throw `ClassNotFoundException'. From-SVN: r88023
2004-09-24ObjectInputStream.java (readObject): Delegate instantation of Externalizable ↵Jeroen Frijters3-23/+58
classes to ObjectStreamClass. 2004-09-24 Jeroen Frijters <jeroen@frijters.net> * java/io/ObjectInputStream.java (readObject): Delegate instantation of Externalizable classes to ObjectStreamClass. * java/io/ObjectStreamClass.java (newInstance): New method to instantiate Externalizable (while ignoring the accessibility of the constructor). (constructor): New field to cache the constructor. From-SVN: r88019
2004-09-24URL.java (systemClassLoader): New static field.Mark Wielaard2-20/+34
2004-09-24 Mark Wielaard <mark@klomp.org> * java/net/URL.java (systemClassLoader): New static field. (getURLStreamHandler): Always use system/application classloader for finding URLStreamhandler. Remove unecessary instanceof checks. From-SVN: r88018
2004-09-242004-09-24 Guilhem Lavaux <guilhem@kaffe.org>Guilhem Lavaux2-17/+31
* java/net/URL.java (set): This method now matches the behaviour of the JDK. (DEFAULT_SEARCH_PATH): Added "gnu.inet". From-SVN: r88016
2004-09-24[multiple changes]Michael Koch2-1/+12
2004-09-24 Guilhem Lavaux <guilhem@kaffe.org> * java/net/URL.java (URL): Delete whitespaces in the protocol string. 2004-09-24 Jeroen Frijters <jeroen@frijters.net> * java/net/URL.java (URL(String,String,int,String,URLStreamHandler): Don't set authority if host isn't specified. From-SVN: r88015
2004-09-24PipeImpl.java: Use VMPipe for native stuff.Michael Koch13-36/+184
2004-09-24 Michael Koch <konqueror@gmx.de> * gnu/java/nio/PipeImpl.java: Use VMPipe for native stuff. * gnu/java/nio/SelectorImpl.java: Use VMSelector for native stuff. * gnu/java/nio/VMPipe.java, gnu/java/nio/VMSelector.java: New files. * gnu/java/nio/natPipeImplEcos.cc, gnu/java/nio/natPipeImplPosix.cc, gnu/java/nio/natPipeImplWin32.cc: Ported to VMPipe. * gnu/java/nio/natSelectorImplEcos.cc, gnu/java/nio/natSelectorImplPosix.cc, gnu/java/nio/natSelectorImplWin32.cc: Ported to VMSelector. * Makefile.am: Added new files gnu/java/nio/VMPipe.java and gnu/java/nio/VMSelector.java. * Makefile.in: Regenerated. From-SVN: r88014
2004-09-242004-09-24 Jeroen Frijters <jeroen@frijters.net>Jeroen Frijters2-7/+13
* java/lang/StackTraceElement.java (className): Renamed field to declaringClass to be compatible with Sun serialization format. From-SVN: r88012
2004-09-23AppletContext.java, [...]: Jalopied and checkstyle clean.Michael Koch5-12/+23
2004-09-23 Michael Koch <konqueror@gmx.de> * java/applet/AppletContext.java, java/applet/Applet.java, java/applet/AppletStub.java, java/applet/AudioClip.java: Jalopied and checkstyle clean. From-SVN: r87972
2004-09-232004-09-23 Mark Wielaard <mark@klomp.org>Mark Wielaard2-3/+24
* java/util/Collections.java (binarySearch(List, Object, Comparator)): Explicitly reverse direction in list iterator. (rotate): Just return when list is empty. From-SVN: r87970
2004-09-23re PR java/17329 (ICE: SEGV in java_gimplify_expr)Tom Tromey2-0/+17
PR java/17329: * testsuite/libjava.compile/pr17329.java: New file. From-SVN: r87960
2004-09-23re PR java/17380 (Bad diagnostic and ICE on valid code...)Tom Tromey2-0/+8
PR java/17380: * testsuite/libjava.jacks/jacks.xfail: Added 9.2-implicit-6 and 9.2-implicit-7. From-SVN: r87958
2004-09-23Makefile.am: Run aclocal with -I ../configKelley Cook9-337/+641
2004-09-22 Kelley Cook <kcook@gcc.gnu.org> * Makefile.am: Run aclocal with -I ../config * acinclude.m4: Delete macros picked up from ../config and tidy. (AM_ICONV,AM_LC_MESSAGES, PKG_CHECK_MODULES): Delete. * aclocal.m4, configure, Makefile.in, gcj/Makefile.in: Regenerate. * include/Makefile.in, testsuite/Makefile.in: Regenerate. From-SVN: r87913
2004-09-23aclocal.m4: Regenerate with aclocal 1.9.2.Kelley Cook7-268/+279
2004-09-22 Kelley Cook <kcook@gcc.gnu.org> * aclocal.m4: Regenerate with aclocal 1.9.2. * configure: Regenerate. * Makefile.in, gcj/Makefile.in: Regenerate with automake 1.9.2. * include/Makefile.in, testsuite/Makefile.in: Likewise. From-SVN: r87912
2004-09-23re PR libgcj/17623 (URL does not retain userInfo across context constructor.)David Daney2-1/+12
PR libgcj/17623 * java/net/URL.java (URL): Copy userInfo from context. (getUserInfo): Return cached userInfo if present. From-SVN: r87909
2004-09-23re PR libgcj/6182 (Mauve Character.unicode test gives bogus test results)Tom Tromey2-4/+5
PR libgcj/6182: * mauve-libgcj: Enable java.lang.Character tests. From-SVN: r87901
2004-09-22Makefile.am (lib_org_ietf_jgss_la_DEPENDENCIES): Add missing dependencies.Andreas Tobler3-261/+270
2004-09-22 Andreas Tobler <a.tobler@schweiz.ch> * Makefile.am (lib_org_ietf_jgss_la_DEPENDENCIES): Add missing dependencies. (lib_org_ietf_jgss_la_LIBADD): Likewise. * Makefile.in: Regenerated. From-SVN: r87890
2004-09-22configure.ac: Introduce AC_C_BIGENDIAN_CROSS for WORDS_BIGENDIAN.Andreas Tobler8-146/+449
2004-09-22 Andreas Tobler <a.tobler@schweiz.ch> * configure.ac: Introduce AC_C_BIGENDIAN_CROSS for WORDS_BIGENDIAN. * configure: Regenerate. * include/config.h.in: Likewise. * jni/gtk-peer/gtkpeer.h (SWAPU32): Introduce macro to swap pixels. * jni/gtk-peer/gnu_java_awt_peer_gtk_GtkImagePainter.c: Moved SWAPU32 macro to gtkpeer.h. * jni/gtk-peer/gnu_java_awt_peer_gtk_GdkGraphics2D.c (Java_gnu_java_awt_peer_gtk_GdkGraphics2D_getImagePixels): Convert pixels from 0xBBGGRRAA to 0xAARRGGBB only on Little Endian architectures. * jni/gtk-peer/gnu_java_awt_peer_gtk_GdkPixbufDecoder.c (area_updated): Likewise. From-SVN: r87889
2004-09-22re PR java/14446 (GZIPInputStream: corrupted gzip file - crc mismatch)Tom Tromey3-1/+28
PR libgcj/14446: * java/util/zip/GZIPInputStream.java (read): Avoid sign extension when comparing CRCs. * java/util/zip/InflaterInputStream.java (onebytebuffer): New field. (read()): New overload. From-SVN: r87882
2004-09-21natMethod.cc (_Jv_CallAnyMethodA): Indentation fix.Tom Tromey2-1/+7
* java/lang/reflect/natMethod.cc (_Jv_CallAnyMethodA): Indentation fix. From-SVN: r87825
2004-09-212004-09-21 Michael Koch <konqueror@gmx.de>Michael Koch2-2/+8
* java/net/Socket.java (getLocalAddress): Return InetAddress.ANY_IF if not bound yet. From-SVN: r87817
2004-09-21MacSpi.java (clone): Provide meaningful implementation.Casey Marshall2-1/+6
2004-09-21 Casey Marshall <csm@gnu.org> * javax/crypto/MacSpi.java (clone): Provide meaningful implementation. From-SVN: r87816
2004-09-21re PR libgcj/16869 (too long list of arguments in "make clean")Tom Tromey3-264/+266
PR libgcj/16869: * Makefile.in: Rebuilt. * Makefile.am (MOSTLYCLEANFILES): Removed. (mostlyclean-local): Remove header files. From-SVN: r87813
2004-09-21TreeMap.java (root): Don't initialize.Mark Wielaard1-2/+7
2004-09-21 Mark Wielaard <mark@klomp.org> * java/util/TreeMap.java (root): Don't initialize. (TreeMap(Comparator)): Call fabricateTree(0). (fabricateTree): Initialize root and size when count is 0. From-SVN: r87811
2004-09-212004-09-21 Casey Marshall <csm@gnu.org>Andreas Tobler2-35/+33
* java/security/cert/X509CRLSelector.java: (match): remove unreachable try-catch clauses. Reported by: Dalibor Topic <robilad@kaffe.org> From-SVN: r87805
2004-09-21ByteBuffer.java (hashCode): Implemented.Sven de Marothy8-14/+134
2004-09-21 Sven de Marothy <sven@physto.se> * java/nio/ByteBuffer.java (hashCode): Implemented. * java/nio/CharBuffer.java: Likewise. * java/nio/DoubleBuffer.java: Likewise. * java/nio/FloatBuffer.java: Likewise. * java/nio/LongBuffer.java: Likewise. * java/nio/IntBuffer.java: Likewise. * java/nio/ShortBuffer.java: Likewise. From-SVN: r87804
2004-09-21[multiple changes]Andreas Tobler3-3/+11
2004-09-21 Andreas Tobler <a.tobler@schweiz.ch> * javax/security/auth/x500/X500Principal.java: Fix some merge glitches. 2004-09-21 Michael Koch <konqueror@gmx.de> * javax/net/ssl/SSLServerSocket.java: Removed comment about "Do not edit this file, it's generated.". From-SVN: r87800
2004-09-21X500Principal.java: Replaced with GNU Crypto's version.Andreas Tobler1-29/+420
2004-09-21 Andreas Tobler <a.tobler@schweiz.ch> * javax/security/auth/x500/X500Principal.java: Replaced with GNU Crypto's version. From-SVN: r87796
2004-09-21[multiple changes]Andreas Tobler134-252/+25312
2004-09-21 Andreas Tobler <a.tobler@schweiz.ch> Import the big Crypto/Jessie/Security merge from Classpath. * Makefile.am: Add imported files. * Makefile.in: Regenerate. 2004-08-14 Casey Marshall <csm@gnu.org> The Big Crypto Merge of 2004. * javax/security/auth/x500/X500Principal.java: Replaced with GNU Crypto's version. Files imported from GNU Crypto. * javax/crypto/BadPaddingException.java * javax/crypto/Cipher.java * javax/crypto/CipherInputStream.java * javax/crypto/CipherOutputStream.java * javax/crypto/CipherSpi.java * javax/crypto/EncryptedPrivateKeyInfo.java * javax/crypto/ExemptionMechanism.java * javax/crypto/ExemptionMechanismException.java * javax/crypto/ExemptionMechanismSpi.java * javax/crypto/IllegalBlockSizeException.java * javax/crypto/KeyAgreement.java * javax/crypto/KeyAgreementSpi.java * javax/crypto/KeyGenerator.java * javax/crypto/KeyGeneratorSpi.java * javax/crypto/Mac.java * javax/crypto/MacSpi.java * javax/crypto/Makefile.am * javax/crypto/NoSuchPaddingException.java * javax/crypto/NullCipher.java * javax/crypto/NullCipherImpl.java * javax/crypto/SealedObject.java * javax/crypto/SecretKey.java * javax/crypto/SecretKeyFactory.java * javax/crypto/SecretKeyFactorySpi.java * javax/crypto/ShortBufferException.java * javax/crypto/interfaces/DHKey.java * javax/crypto/interfaces/DHPrivateKey.java * javax/crypto/interfaces/DHPublicKey.java * javax/crypto/interfaces/PBEKey.java * javax/crypto/spec/DESKeySpec.java * javax/crypto/spec/DESedeKeySpec.java * javax/crypto/spec/DHGenParameterSpec.java * javax/crypto/spec/DHParameterSpec.java * javax/crypto/spec/DHPrivateKeySpec.java * javax/crypto/spec/DHPublicKeySpec.java * javax/crypto/spec/IvParameterSpec.java * javax/crypto/spec/PBEKeySpec.java * javax/crypto/spec/PBEParameterSpec.java * javax/crypto/spec/RC2ParameterSpec.java * javax/crypto/spec/RC5ParameterSpec.java * javax/crypto/spec/SecretKeySpec.java * javax/security/auth/AuthPermission.java * javax/security/auth/DestroyFailedException.java * javax/security/auth/Destroyable.java * javax/security/auth/Policy.java * javax/security/auth/PrivateCredentialPermission.java * javax/security/auth/RefreshFailedException.java * javax/security/auth/Refreshable.java * javax/security/auth/Subject.java * javax/security/auth/SubjectDomainCombiner.java * javax/security/auth/callback/Callback.java * javax/security/auth/callback/CallbackHandler.java * javax/security/auth/callback/ChoiceCallback.java * javax/security/auth/callback/ConfirmationCallback.java * javax/security/auth/callback/LanguageCallback.java * javax/security/auth/callback/NameCallback.java * javax/security/auth/callback/PasswordCallback.java * javax/security/auth/callback/TextInputCallback.java * javax/security/auth/callback/TextOutputCallback.java * javax/security/auth/callback/UnsupportedCallbackException.java * javax/security/auth/login/AccountExpiredException.java * javax/security/auth/login/AppConfigurationEntry.java * javax/security/auth/login/Configuration.java * javax/security/auth/login/CredentialExpiredException.java * javax/security/auth/login/FailedLoginException.java * javax/security/auth/login/LoginContext.java * javax/security/auth/login/LoginException.java * javax/security/auth/login/NullConfiguration.java * javax/security/auth/x500/X500PrivateCredential.java * javax/security/sasl/AuthenticationException.java * javax/security/sasl/AuthorizeCallback.java * javax/security/sasl/RealmCallback.java * javax/security/sasl/RealmChoiceCallback.java * javax/security/sasl/Sasl.java * javax/security/sasl/SaslClient.java * javax/security/sasl/SaslClientFactory.java * javax/security/sasl/SaslException.java * javax/security/sasl/SaslServer.java * javax/security/sasl/SaslServerFactory.java * org/ietf/jgss/ChannelBinding.java * org/ietf/jgss/GSSContext.java * org/ietf/jgss/GSSCredential.java * org/ietf/jgss/GSSException.java * org/ietf/jgss/GSSManager.java * org/ietf/jgss/GSSName.java * org/ietf/jgss/MessageProp.java * org/ietf/jgss/Oid.java * org/ietf/jgss/MessagesBundle.properties Files imported from Jessie <http://www.nongnu.org/jessie/> * javax/net/ServerSocketFactory.java * javax/net/SocketFactory.java * javax/net/VanillaServerSocketFactory.java * javax/net/VanillaSocketFactory.java * javax/net/ssl/HandshakeCompletedEvent.java * javax/net/ssl/HandshakeCompletedListener.java * javax/net/ssl/HostnameVerifier.java * javax/net/ssl/HttpsURLConnection.java * javax/net/ssl/KeyManager.java * javax/net/ssl/KeyManagerFactory.java * javax/net/ssl/KeyManagerFactorySpi.java * javax/net/ssl/ManagerFactoryParameters.java * javax/net/ssl/SSLContext.java * javax/net/ssl/SSLContextSpi.java * javax/net/ssl/SSLException.java * javax/net/ssl/SSLHandshakeException.java * javax/net/ssl/SSLKeyException.java * javax/net/ssl/SSLPeerUnverifiedException.java * javax/net/ssl/SSLPermission.java * javax/net/ssl/SSLProtocolException.java * javax/net/ssl/SSLServerSocket.java * javax/net/ssl/SSLServerSocketFactory.java * javax/net/ssl/SSLSession.java * javax/net/ssl/SSLSessionBindingEvent.java * javax/net/ssl/SSLSessionBindingListener.java * javax/net/ssl/SSLSessionContext.java * javax/net/ssl/SSLSocket.java * javax/net/ssl/SSLSocketFactory.java * javax/net/ssl/TrivialHostnameVerifier.java * javax/net/ssl/TrustManager.java * javax/net/ssl/TrustManagerFactory.java * javax/net/ssl/TrustManagerFactorySpi.java * javax/net/ssl/X509KeyManager.java * javax/net/ssl/X509TrustManager.java * javax/security/cert/Certificate.java * javax/security/cert/CertificateEncodingException.java * javax/security/cert/CertificateException.java * javax/security/cert/CertificateExpiredException.java * javax/security/cert/CertificateNotYetValidException.java * javax/security/cert/CertificateParsingException.java * javax/security/cert/X509CertBridge.java * javax/security/cert/X509Certificate.java 2004-08-20 Casey Marshall <csm@gnu.org> * java/security/cert/X509CRLSelector.java: New file. * java/security/cert/X509CertSelector.java: New file. From-SVN: r87795
2004-09-152004-09-15 Michael Koch <konqueror@gmx.de>Michael Koch2-7/+11
* gnu/java/net/protocol/file/Handler.java (openConnection): Don't throw exception if host part for file: URI is present. setURL() keeps file: protocol if ftp: protocol is not available. From-SVN: r87546
2004-09-14natPosixProcess.cc (waitForSignal): Ignore return value of sigsuspend.Richard Henderson2-11/+13
* java/lang/natPosixProcess.cc (waitForSignal): Ignore return value of sigsuspend. From-SVN: r87505
2004-09-12CompoundName.java (CompoundName): Don't check for separator in "flat" case.Tom Tromey2-1/+8
* javax/naming/CompoundName.java (CompoundName): Don't check for separator in "flat" case. From-SVN: r87410
2004-09-12configure.ac: Fixed AM_INIT_AUTOMAKE usage and replaces AM_CONFIG_HEADER by ↵Michael Koch5-431/+317
AC_CONFIG_FILES. 2004-09-12 Michael Koch <konqueror@gmx.de> * libltdl/configure.ac: Fixed AM_INIT_AUTOMAKE usage and replaces AM_CONFIG_HEADER by AC_CONFIG_FILES. * libltdl/Makefile.in, libltdl/aclocal.m4, libltdl/configure: Regenerate. From-SVN: r87393
2004-09-11re PR libgcj/14751 ([win32] thread creation leaks system handle resources)Mohan Embar3-2/+17
PR libgcj/14751 * win32-threads.cc (_Jv_ThreadInitData): Zero out thread handle in newly-allocated _Jv_Thread_t. (_Jv_ThreadDestroyData): Close thread handle. (_Jv_ThreadStart): Remove obsolete comment. Store handle of newly-created thread in _Jv_Thread_t. * include/win32-threads.h: #define WIN32_LEAN_AND_MEAN before including <windows.h> #define _Jv_HaveCondDestroy From-SVN: r87362
2004-09-11natThread.cc (finalize_native): Destroy join conditional variable and mutex ↵Mohan Embar2-0/+12
if... * java/lang/natThread.cc (finalize_native): Destroy join conditional variable and mutex if these destroy operations are supported. From-SVN: r87361
2004-09-10[multiple changes]Michael Koch2-22/+46
2004-09-10 Dalibor Topic <robilad@kaffe.org> * gnu/java/net/protocol/file/Connection.java (permission): New field. (DEFAULT_PERMISSION): New constant. (Connection): Create a FilePermission with permission to read file. 2004-09-10 Michael Koch <konqueror@gmx.de> * gnu/java/net/protocol/file/Connection.java (getLastModified): Moved around. (getPermission): Return stored permission. From-SVN: r87291
2004-09-10Makefile.in: Regenerate.Michael Koch2-8/+6
2004-09-10 Michael Koch <konqueror@gmx.de> * Makefile.in: Regenerate. From-SVN: r87287
2004-09-10Makefile.am: Reverted accidently commited stuff.Michael Koch3-211/+127
2004-09-10 Michael Koch <konqueror@gmx.de> * Makefile.am: Reverted accidently commited stuff. * configure: Regenerated. From-SVN: r87282
2004-09-102004-09-10 Michael Koch <konqueror@gmx.de>Michael Koch2-6/+53
* gnu/java/net/protocol/file/Connection.java (lineSeparator): Made non-final. (static): Removed. (connect): Initialize lineSeparator lazily. Use ByteArrayInputStream instead of StringBufferInputStream. 2004-09-10 Michael Koch <konqueror@gmx.de> * gnu/java/net/protocol/file/Connection.java (connect): Handle file is a directory case. From-SVN: r87279
2004-09-102004-09-10 Michael Koch <konqueror@gmx.de>Michael Koch3-110/+306
* Makefile.am (xlib_includes): Removed. (AM_CPPFLAGS): Renamed from INCLUDES. (lib_gnu_awt_xlib_la_CPPFLAGS): New automake variable. * Makefile.in: Regenerate. From-SVN: r87278
2004-09-09[multiple changes]Andreas Tobler7-23/+52
2004-09-09 Michael Koch <konqueror@gmx.de> * java/security/ProtectionDomain.java, * java/util/PropertyPermissionCollection.java: Fixed javadocs all over. 2004-09-09 Sven de Marothy <sven@physto.se> Patch from David Gilbert <david.gilbert@object-refinery.com> * java/lang/Comparable.java: Fixed documentation errors. * java/util/Arrays.java: Likewise. 2004-09-09 Andrew John Hughes <gnu_andrew@member.fsf.org> * java/net/Inet4Address.java (Inet4Address): Added comment to serialization UID. * java/text/Format.java (Format): Added comment to serialization UID. From-SVN: r87248
2004-09-092004-09-09 Michael Koch <konqueror@gmx.de>Michael Koch2-1/+6
* java/lang/System.java (err): Fixed javadoci to point to setErr() and not setOut(). From-SVN: r87227
2004-09-09[multiple changes]Michael Koch2-14/+56
2004-09-09 Jeroen Frijters <jeroen@frijters.net> (normalizePath): Added special case for windows systems. 2004-09-09 Michael Koch <konqueror@gmx.de> * java/io/File.java (dupSeparator): Made private. (File(URI)): New constructor. (getParentFile): Fixed javadoc. (createTempFile): Reformated. (setReadOnly): Added comment. (deleteOnExit): Merged javadoc with classpath version. From-SVN: r87225
2004-09-09Makefile.am: Don't try to include deps.mk.Michael Koch3-4/+5
2004-09-09 Michael Koch <konqueror@gmx.de> * Makefile.am: Don't try to include deps.mk. * Makefile.in: Regenerated. From-SVN: r87224