summaryrefslogtreecommitdiff
path: root/java
Commit message (Collapse)AuthorAgeFilesLines
* PR55140: Addition of exception to codePointBefore breaks OpenJDK ↵Andrew John Hughes2012-10-301-2/+2
| | | | | | | | | | | | | GenerateBreakIteratorData tool 2012-10-30 Andrew John Hughes <gnu_andrew@member.fsf.org> PR classpath/55140 * NEWS: List fix. * java/lang/String.java: (codePointBefore(int)): Fix index check to match spec. Signed-off-by: Andrew John Hughes <gnu_andrew@member.fsf.org>
* Merge remote-tracking branch 'ivan/ivmai4review-v3'Andrew John Hughes2012-10-261-14/+18
|\ | | | | | | | | | | | | Conflicts: ChangeLog Signed-off-by: Andrew John Hughes <gnu_andrew@member.fsf.org>
| * Optimize emptySet/Map/List() in Collections classIvan Maidanski2012-10-161-14/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2012-10-16 Ivan Maidanski <ivmai@mail.ru> * java/util/Collections.java: (emptySet(), EmptySet.iterator(), emptyList(), emptyMap(), EmptyMap.entrySet(), EmptyMap.keySet(), EmptyMap.values()): Suppress "unchecked" warnings. (emptySet(), emptyList(), emptyMap()): Don't create new instance (use the corresponding immutable container instance); remove FIXME. (EmptySet.equals(Object), EmptyList.equals(Object), EmptyMap.entrySet(), EmptyMap.equals(Object), EmptyMap.keySet(), EmptyMap.values()): Add generic typing. (SingletonList.subList(int, int)): Use emptyList() instead of EMPTY_LIST (to eliminate "unchecked" warning). (SynchronizedCollection.toArray(T[])): Rename T type to E (to suppress compiler warning about type hiding).
* | PR44208: Ensure a handle for the enum is registered before its constant.Andrew John Hughes2012-10-261-1/+2
|/ | | | | | | | | | | | 2010-05-20 Paul Viney <paul@diasoft.nl> PR classpath/44208 * java/io/ObjectInputStream.java, (parseContent(byte,boolean)): Ensure a handle for the enum is registered before one for its String constant. Signed-off-by: Andrew John Hughes <gnu_andrew@member.fsf.org>
* Fix NPE in java/util/Formatter.format() methodPekka Enberg2012-10-151-3/+18
| | | | | | | | | | | | | | This patch fixes NPE for the following Malva test cases: assertEquals("false", String.format("%b", (Object[])null)); assertEquals("null", String.format("%h", (Object[])null)); assertEquals("null", String.format("%s", (Object[])null)); assertEquals("null", String.format("%c", (Object[])null)); assertEquals("null", String.format("%d", (Object[])null)); assertEquals("null", String.format("%o", (Object[])null)); assertEquals("null", String.format("%x", (Object[])null)); Signed-off-by: Pekka Enberg <penberg@kernel.org>
* Fix java/lang/String.codePoint{At|Before} exception typesPekka Enberg2012-10-151-0/+4
| | | | | | OpenJDK throws StringIndexOutOfBoundsException and so should we. Signed-off-by: Pekka Enberg <penberg@kernel.org>
* Replace all .cvsignore files with .gitignoreIvan Maidanski2012-10-151-0/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2012-06-10 Ivan Maidanski <ivmai@mail.ru> * compat/.gitignore, * compat/java.net/.gitignore, * doc/.gitignore, * doc/api/.gitignore, * doc/www.gnu.org/.gitignore, * doc/www.gnu.org/announce/.gitignore, * doc/www.gnu.org/cp-tools/.gitignore, * doc/www.gnu.org/docs/.gitignore, * doc/www.gnu.org/downloads/.gitignore, * doc/www.gnu.org/events/.gitignore, * doc/www.gnu.org/faq/.gitignore, * examples/.gitignore, * external/.gitignore, * external/jsr166/.gitignore, * external/relaxngDatatype/.gitignore, * external/sax/.gitignore, * external/w3c_dom/.gitignore, * gnu/classpath/.gitignore, * gnu/java/locale/.gitignore, * gnu/java/security/.gitignore, * gnu/test/.gitignore, * include/.gitignore, * java/util/.gitignore, * lib/.gitignore, * native/.gitignore, * native/fdlibm/.gitignore, * native/jawt/.gitignore, * native/jni/.gitignore, * native/jni/classpath/.gitignore, * native/jni/gconf-peer/.gitignore, * native/jni/gstreamer-peer/.gitignore, * native/jni/gtk-peer/.gitignore, * native/jni/java-io/.gitignore, * native/jni/java-lang/.gitignore, * native/jni/java-math/.gitignore, * native/jni/java-net/.gitignore, * native/jni/java-nio/.gitignore, * native/jni/java-util/.gitignore, * native/jni/midi-alsa/.gitignore, * native/jni/midi-dssi/.gitignore, * native/jni/native-lib/.gitignore, * native/jni/qt-peer/.gitignore, * native/jni/xmlj/.gitignore, * native/plugin/.gitignore, * native/testsuite/.gitignore, * native/vmi/.gitignore, * resource/.gitignore, * resource/META-INF/services/.gitignore, * scripts/.gitignore, * test/.gitignore, * test/gnu.java.lang.reflect/.gitignore, * test/java.io/.gitignore, * test/java.lang.reflect/.gitignore, * test/java.net/.gitignore, * test/java.util/.gitignore, * tools/.gitignore, * tools/gnu/classpath/tools/doclets/.gitignore, * tools/gnu/classpath/tools/doclets/debugdoclet/.gitignore, * tools/gnu/classpath/tools/doclets/htmldoclet/.gitignore, * tools/gnu/classpath/tools/doclets/xmldoclet/.gitignore, * tools/gnu/classpath/tools/doclets/xmldoclet/doctranslet/.gitignore, * tools/gnu/classpath/tools/gjdoc/.gitignore, * tools/gnu/classpath/tools/gjdoc/expr/.gitignore, * tools/gnu/classpath/tools/java2xhtml/.gitignore, * tools/gnu/classpath/tools/taglets/.gitignore, * vm/.gitignore, * vm/reference/.gitignore: Renamed from .cvsignore. Signed-off-by: Pekka Enberg <penberg@kernel.org>
* Fix warnings in java.awt.geom.Area.Andrew John Hughes2012-10-151-120/+106
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2012-10-10 Andrew John Hughes <gnu_andrew@member.fsf.org> * java/awt/geom/Area.java: (solids): Add type parameter. (holes): Likewise. (ccIntersections): Likewise and rename to meet standards. (Area()): Add type parameters. (Area(Shape)): Likewise and remove redundant casts. (add(Area)): Likewise and remove unused nNodes variable. (subtract(Area)): Likewise. (intersect(Area)): Likewise. (exclusiveOr(Area)): Likewise. (reset()): Add type parameters. (isEmpty()): Remove redundant casts. (isPolygonal()): Likewise. (isRectangular()): Likewise. (getBounds2D()): Likewise. (clone()): Likewise. (equals(Area)): Add type parameters. (transform(AffineTransform)): Remove redundant casts. (contains(double,double)): Likewise. (contains(double,double,double,double)): Likewise. (intersects(double,double,double,double)): Likewise. (AreaIterator.segments): Add type parameter. (AreaIterator(AffineTransform)): Add type parameters. Remove redundant casts. (currentSegment(double[])): Remove redundant casts. (currentSegment(float[])): Likewise. (weilerAtherton(Vector)): Add type parameters and remove redundant casts. (recursiveSubdivide(CubicCurve2D,CubicCurve2D,int,int,double, double,double,double)): Fix use of cc_intersections/ccIntersections. (cubicCubicIntersect(CubicSegment,CubicSegment)): Likewise. (lineQuadIntersect(LineSegment,QuadSegment)): Fix Javadoc typo. (makeSegment(Shape)): Add type parameters. (createNodes(Segment,Segment)): Remove redundant bracketing. (deleteRedundantPaths(Vector)): Likewise. Remove redundant casts. Add type parameters. (setDirection(Vector,boolean)): Add type parameters and remove redundant casts. (cloneSegmentList()): Add type parameter. Remove redundant cast. (createNodes(Segment,Intersection[])): Add type parameter. Remove redundant cast. Signed-off-by: Andrew John Hughes <gnu_andrew@member.fsf.org>
* PR42134: NullPointerException in java.text.BidiAndrew John Hughes2012-09-281-8/+8
| | | | | | | | | | | | | 2012-09-26 Andrew John Hughes <gnu_andrew@member.fsf.org> PR classpath/42134 * java/text/Bidi.java: (Bidi(AttributedCharacterIterator)): Remove shadow variable text which hides the instance variable of the same name. Remove unnecessary use of this. * NEWS: Updated. Signed-off-by: Andrew John Hughes <gnu_andrew@member.fsf.org>
* Fix warnings in java.util.TimeZone.Andrew John Hughes2012-08-091-42/+42
| | | | | | | | | | | | | | | | | 2012-08-09 Andrew John Hughes <gnu_andrew@member.fsf.org> * java/util/TimeZone.java: (defaultZone()): Use parameterized PrivilegedAction. (aliases0): Add type parameters. (timezones0); Likewise. (timezones()): Likewise. (getDateParams(String)): Fix indenting. (getTimeZoneInternal(String)): Remove redundant casts. (getAvailableIDs(int)): Add type parameters. (getAvailableIDs(File,String,ArrayList)): Likewise. (getAvailableIDs()): Likewise. Signed-off-by: Andrew John Hughes <gnu_andrew@member.fsf.org>
* Fix warnings in java.text.* and gnu.java.text.*Andrew John Hughes2012-07-319-99/+95
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2012-07-03 Andrew John Hughes <gnu_andrew@member.fsf.org> Update copyright headers throughout. * gnu/java/text/AttributedFormatBuffer.java: (ranges): Add generic type information. (attributes): Likewise. (aRanges): Rename from a_ranges. (aAttributes): Add generic type information and rename from a_attributes. Convert to a list of maps rather than an array for type safety. (defaultAttr): Replace prefix with static import. (AttributedFormatBuffer(CPStringBuilder): Add generic typing. (addAttribute(int,Attribute)): Drop prefix, rename new_range to newRange. Add generic types. Use Integer.valueOf in place of new Integer. (append(String,Attribute)): Drop prefix. (append(String,int[],List)): Replace array with list. Use Integer.valueOf instead of new Integer. (append(char,Attribute)): Drop prefix. (setDefaultAttribute(Attribute)): Likewise. (getDefaultAttribute()): Likewise. (sync()): Rename a_ranges to aRanges. Drop unneeded casts. Replace array with list. (getRanges()): Rename a_ranges to aRanges. (getAttributes()): Replace map with list. Rename a_attributes to aAttributes. * gnu/java/text/FormatBuffer.java: Add static import for Attribute. * gnu/java/text/FormatCharacterIterator.java: (attributes): Replace array with list. (FormatCharacterIterator()): Likewise. (FormatCharacterIterator(String,int,List)): Switch from array to list. Update documentation. (getAllAttributeKeys()): Add generic type. Switch from array to list. (getAttributes()): Likewise. (getAttribute(Attribute)): Likewise. (getRunLimit(Set)): Likewise. (getRunLimit(Attribute)): Likewise. (getRunStart(Set)): Likewise. (getRunStart(Attribute)): Likewise. (mergeAttributes(List,int[])): Likewise. Use List in preference to Vector. Use newRanges & newAttributes rather than new_ranges and new_attributes. (append(AttributedCharacterIterator)): Likewise. (append(String,HashMap)): Likewise. (addAttributes(Map,int,int)): Likewise. (dumpTable()): Use startRange instead of start_range. Add generic types. * gnu/java/text/StringFormatBuffer.java, Add static import for Attribute. * java/text/AttributedString.java: Add static import for Attribute. (attribs): Add generic type. (AttributeRange(Map,int,int)): Likewise. (AttributedString(String,Map)): Likewise. (AttributedString(AttributedCharacterIterator, int, int, Attribute)): Drop prefix, add generic types. (addAttribute(Attribute,Object)): Drop prefix. (addAttribute(Attribute,Object,int,int)): Likewise and add generic types. (addAttributes(Map,int,int)): Add generic types. (getIterator(Attribute)): Drop prefix. (getIterator(Attribute[])): Likewise. * java/text/AttributedStringIterator.java: Add static import for Attribute. (getAllAttributeKeys()): Add generic type. (getRunLimit(Attribute)): Add generic type, drop prefix. (getRunLimit(Set)): Add generic types. (getRunStart(Attribute)): Add generic type, drop prefix. (getRunStart(Set)): Add generic types. (getAttributes()): Likewise. * java/text/Bidi.java: (formatterIndices): Add generic type. (reinsertFormattingCodes()): Drop redundant cast. * java/text/BreakIterator.java: (getInstance(String,Locale)): Add generic type to Class. * java/text/ChoiceFormat.java: (stringVec): Add generic type. (limitVec): Likewise. (applyPattern(String)): Remove redundant cast. * java/text/CollationElementIterator.java: (textDecomposition): Renamed from text_decomposition. (textIndexes): Renamed from text_indexes. (setText(String)): Add generic types. Rename a_element to aElement. Rename a_idx to aIdx. Rename key_old to keyOld. Use Integer.valueOf rather than new Integer. * java/text/DecimalFormat.java: (attributes): Add generic type. (formatToCharacterIterator(Object)): Remove redundant cast. * java/text/MessageFormat.java: (Field()): Remove unneeded warning suppression. * java/text/NumberFormat.java: (Field()): Likewise. Signed-off-by: Andrew John Hughes <gnu_andrew@member.fsf.org>
* PR44052: Cache parsed property data for DateFormatSymbols.Andrew John Hughes2012-07-021-34/+227
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2012-07-01 Andrew John Hughes <ahughes@redhat.com> PR classpath/44052 * java/text/DateFormatSymbols.java: (DFSData): Inner immutable class for storing parsed locale data. (DFSData.DFSData(String[],String[],String,String[], String[],String[],String[],String[],String[], String[][])): Constructor to initialise a new instance with property data. (DFSData.getAMPMs()): Return a clone of the ampms array. (DFSData.getEras()): Likewise for eras. (DFSData.getLocalPatternChars()): Return the local pattern characters. (DFSData.getMonths()): Return a clone of the (long) months array. (DFSData.getShortMonths()): Likewise for the short months array. (DFSData.getWeekdays()): Likewise for (long) weekdays. (DFSData.getShortWeekdays()): Likewise for short weekdays. (DFSData.getDateFormats()): Likewise for date formats. (DFSData.getTimeFormats()): Likewise for time formats. (DFSData.getZoneStrings()): Likewise for zone strings. (dataCache): Cache of parsed locale data. (getZoneStrings(List<ResourceBundle>,Locale)): Make static so it can be called by retrieveData. (formatsForKey(List<ResourceBundle>,String)): Likewise. (getString(List<ResourceBundle>, String)): Likewise. (retrieveData(Locale)): Separate out retrieval of locale data from constructor and store it in the cache. (DateFormatSymbols(Locale)): Modify to call retrieveData and set fields from the returned DFSData instance. Signed-off-by: Andrew John Hughes <ahughes@redhat.com>
* Refactor DateFormatSymbols to use list of ResourceBundle objects for all ↵Andrew John Hughes2012-05-311-16/+41
| | | | | | | | | | | | | | | | | | | | | | lookups. Fix bug whereby we were using the least-specific bundle for time & date formats. 2012-05-30 Andrew John Hughes <ahughes@redhat.com> * java/text/DateFormatSymbols.java: (getZoneStrings(List<ResourceBundle>, Locale)): Refactor to use existing list of resource bundles. (formatsForKey(List<ResourceBundle>, String)): Likewise and use new local getString method. (getString(List<ResourceBundle>, String)): Use first available String from most-specific locale rather than the least-specific. (DateFormatSymbols(Locale)): Use bundles for resolving localPatternChars, dateFormats, timeFormats and runtimeZoneStrings as well. Signed-off-by: Andrew John Hughes <ahughes@redhat.com>
* PR classpath/53171: Cache the compiled regular expressions for splitting ↵Andrew John Hughes2012-05-021-3/+8
| | | | | | | | | | | | | | | | | | | | | | | locale data fields. 2012-05-01 Andrew John Hughes <ahughes@redhat.com> * java/text/DateFormatSymbols.java: Rename U00AE and U000A9 as the more memorable FIELD_SPLIT and ZONE_SPLIT respectively. * THANKYOU: Add Andreas Sewe. 2012-04-30 Andreas Sewe <sewe@st.informatik.tu-darmstadt.de> * java/text/DateFormatSymbols.java: (U00A9): Pre-compile pattern for zone separation. (U00AE): Likewise for fields. (getStringArray(List,String,int,String)): Use U00AE.split in place of String.split. (getZoneStrings(ResourceBundle,Locale)): Use U00AE.split and U00A9.split in place of String.split. Signed-off-by: Andrew John Hughes <ahughes@redhat.com>
* Don't check if TimeZone is an instance of SimpleTimeZone.Jakub Jelinek2012-04-031-8/+1
| | | | | | | | | 2007-02-26 Jakub Jelinek <jakub@redhat.com> * java/util/TimeZone.java (getDefaultDisplayName): Don't check if TimeZone is instanceof SimpleTimeZone. Signed-off-by: Andrew John Hughes <ahughes@redhat.com>
* Decrement index when removing elements from PriorityQueue. Catch capacity < 1.Andrew Haley2012-04-031-0/+3
| | | | | | | | | | 2006-09-13 Andrew Haley <aph@redhat.com> * java/util/PriorityQueue.java: Throw IllegalArgumentException for capacity < 1. (Iterator.remove()): Decrement index after removing element. Signed-off-by: Andrew John Hughes <ahughes@redhat.com>
* Negate dayOfWeek in java.util.TimeZone.getDateParams.Andrew Haley2012-04-031-6/+18
| | | | | | | | | 2007-02-14 Jakub Jelinek <jakub@redhat.com> Andrew Haley <aph@redhat.com> * java/util/TimeZone.java (getDateParams): Negate dayOfWeek. Signed-off-by: Andrew John Hughes <ahughes@redhat.com>
* Implement Matcher.usePattern(Pattern).Andrew John Hughes2012-04-031-1/+23
| | | | | | | | | 2012-03-22 Andrew John Hughes <ahughes@redhat.com> * java/util/regex/Matcher.java: (usePattern(Pattern)): Implemented. Signed-off-by: Andrew John Hughes <ahughes@redhat.com>
* Add missing Java 1.7 AutoCloseable interfacePekka Enberg2012-03-1410-3/+63
| | | | Signed-off-by: Pekka Enberg <penberg@kernel.org>
* Add missing Java 1.7 java/lang/reflect/Modifier methodsPekka Enberg2012-03-141-1/+41
| | | | Signed-off-by: Pekka Enberg <penberg@kernel.org>
* Add missing Java 1.7 ReflectiveOperationException classPekka Enberg2012-03-147-18/+106
| | | | Signed-off-by: Pekka Enberg <penberg@kernel.org>
* Add missing Java 1.7 constructors to java/lang classesPekka Enberg2012-03-142-3/+28
| | | | Signed-off-by: Pekka Enberg <penberg@kernel.org>
* Add missing Java 1.7 compare() API methods to java/lang classesPekka Enberg2012-03-146-0/+100
| | | | Signed-off-by: Pekka Enberg <penberg@kernel.org>
* Add missing java/lang/System.lineSeparator() methodPekka Enberg2012-03-141-0/+12
| | | | Signed-off-by: Pekka Enberg <penberg@kernel.org>
* Fix java/lang/reflect/Member.getDeclaringClass() return typePekka Enberg2012-03-141-1/+1
| | | | Signed-off-by: Pekka Enberg <penberg@kernel.org>
* Remove trailing separator from locale data and hack to get around it in ↵Andrew John Hughes2012-02-151-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | DateFormatSymbols. 2012-02-15 Andrew John Hughes <ahughes@redhat.com> * java/text/DateFormatSymbols.java: (getStringArray(List,String,int,String)): Remove hack which removes last character of the input data; now unnecessary. * resource/gnu/java/locale/LocaleInformation.properties, * resource/gnu/java/locale/LocaleInformation_aa.properties, * resource/gnu/java/locale/LocaleInformation_aa_DJ.properties, * resource/gnu/java/locale/LocaleInformation_aa_ER_SAAHO.properties, * resource/gnu/java/locale/LocaleInformation_af.properties, * resource/gnu/java/locale/LocaleInformation_ak.properties, * resource/gnu/java/locale/LocaleInformation_am.properties, * resource/gnu/java/locale/LocaleInformation_ar.properties, * resource/gnu/java/locale/LocaleInformation_ar_JO.properties, * resource/gnu/java/locale/LocaleInformation_ar_LB.properties, * resource/gnu/java/locale/LocaleInformation_ar_QA.properties, * resource/gnu/java/locale/LocaleInformation_ar_SA.properties, * resource/gnu/java/locale/LocaleInformation_ar_SY.properties, * resource/gnu/java/locale/LocaleInformation_ar_TN.properties, * resource/gnu/java/locale/LocaleInformation_ar_YE.properties, * resource/gnu/java/locale/LocaleInformation_as.properties, * resource/gnu/java/locale/LocaleInformation_az.properties, * resource/gnu/java/locale/LocaleInformation_az_Cyrl.properties, * resource/gnu/java/locale/LocaleInformation_be.properties, * resource/gnu/java/locale/LocaleInformation_bg.properties, * resource/gnu/java/locale/LocaleInformation_bn.properties, * resource/gnu/java/locale/LocaleInformation_bs.properties, * resource/gnu/java/locale/LocaleInformation_byn.properties, * resource/gnu/java/locale/LocaleInformation_ca.properties, * resource/gnu/java/locale/LocaleInformation_cch.properties, * resource/gnu/java/locale/LocaleInformation_cop.properties, * resource/gnu/java/locale/LocaleInformation_cs.properties, * resource/gnu/java/locale/LocaleInformation_cy.properties, * resource/gnu/java/locale/LocaleInformation_da.properties, * resource/gnu/java/locale/LocaleInformation_de.properties, * resource/gnu/java/locale/LocaleInformation_de_AT.properties, * resource/gnu/java/locale/LocaleInformation_de_BE.properties, * resource/gnu/java/locale/LocaleInformation_dv.properties, * resource/gnu/java/locale/LocaleInformation_dz.properties, * resource/gnu/java/locale/LocaleInformation_ee.properties, * resource/gnu/java/locale/LocaleInformation_el.properties, * resource/gnu/java/locale/LocaleInformation_en.properties, * resource/gnu/java/locale/LocaleInformation_en_Dsrt.properties, * resource/gnu/java/locale/LocaleInformation_en_Shaw.properties, * resource/gnu/java/locale/LocaleInformation_eo.properties, * resource/gnu/java/locale/LocaleInformation_es.properties, * resource/gnu/java/locale/LocaleInformation_et.properties, * resource/gnu/java/locale/LocaleInformation_eu.properties, * resource/gnu/java/locale/LocaleInformation_fa.properties, * resource/gnu/java/locale/LocaleInformation_fa_AF.properties, * resource/gnu/java/locale/LocaleInformation_fi.properties, * resource/gnu/java/locale/LocaleInformation_fil.properties, * resource/gnu/java/locale/LocaleInformation_fo.properties, * resource/gnu/java/locale/LocaleInformation_fr.properties, * resource/gnu/java/locale/LocaleInformation_fur.properties, * resource/gnu/java/locale/LocaleInformation_ga.properties, * resource/gnu/java/locale/LocaleInformation_gaa.properties, * resource/gnu/java/locale/LocaleInformation_gez.properties, * resource/gnu/java/locale/LocaleInformation_gl.properties, * resource/gnu/java/locale/LocaleInformation_gu.properties, * resource/gnu/java/locale/LocaleInformation_gv.properties, * resource/gnu/java/locale/LocaleInformation_ha.properties, * resource/gnu/java/locale/LocaleInformation_ha_Arab.properties, * resource/gnu/java/locale/LocaleInformation_haw.properties, * resource/gnu/java/locale/LocaleInformation_he.properties, * resource/gnu/java/locale/LocaleInformation_hi.properties, * resource/gnu/java/locale/LocaleInformation_hr.properties, * resource/gnu/java/locale/LocaleInformation_hu.properties, * resource/gnu/java/locale/LocaleInformation_hy.properties, * resource/gnu/java/locale/LocaleInformation_hy_AM_REVISED.properties, * resource/gnu/java/locale/LocaleInformation_ia.properties, * resource/gnu/java/locale/LocaleInformation_id.properties, * resource/gnu/java/locale/LocaleInformation_ig.properties, * resource/gnu/java/locale/LocaleInformation_ii.properties, * resource/gnu/java/locale/LocaleInformation_is.properties, * resource/gnu/java/locale/LocaleInformation_it.properties, * resource/gnu/java/locale/LocaleInformation_iu.properties, * resource/gnu/java/locale/LocaleInformation_ja.properties, * resource/gnu/java/locale/LocaleInformation_ka.properties, * resource/gnu/java/locale/LocaleInformation_kaj.properties, * resource/gnu/java/locale/LocaleInformation_kam.properties, * resource/gnu/java/locale/LocaleInformation_kcg.properties, * resource/gnu/java/locale/LocaleInformation_kfo.properties, * resource/gnu/java/locale/LocaleInformation_kk.properties, * resource/gnu/java/locale/LocaleInformation_kl.properties, * resource/gnu/java/locale/LocaleInformation_km.properties, * resource/gnu/java/locale/LocaleInformation_kn.properties, * resource/gnu/java/locale/LocaleInformation_ko.properties, * resource/gnu/java/locale/LocaleInformation_kok.properties, * resource/gnu/java/locale/LocaleInformation_kpe.properties, * resource/gnu/java/locale/LocaleInformation_ku_Latn.properties, * resource/gnu/java/locale/LocaleInformation_kw.properties, * resource/gnu/java/locale/LocaleInformation_ky.properties, * resource/gnu/java/locale/LocaleInformation_ln.properties, * resource/gnu/java/locale/LocaleInformation_lo.properties, * resource/gnu/java/locale/LocaleInformation_lt.properties, * resource/gnu/java/locale/LocaleInformation_lv.properties, * resource/gnu/java/locale/LocaleInformation_mk.properties, * resource/gnu/java/locale/LocaleInformation_ml.properties, * resource/gnu/java/locale/LocaleInformation_mn.properties, * resource/gnu/java/locale/LocaleInformation_mr.properties, * resource/gnu/java/locale/LocaleInformation_ms.properties, * resource/gnu/java/locale/LocaleInformation_mt.properties, * resource/gnu/java/locale/LocaleInformation_my.properties, * resource/gnu/java/locale/LocaleInformation_nb.properties, * resource/gnu/java/locale/LocaleInformation_ne.properties, * resource/gnu/java/locale/LocaleInformation_nl.properties, * resource/gnu/java/locale/LocaleInformation_nn.properties, * resource/gnu/java/locale/LocaleInformation_nr.properties, * resource/gnu/java/locale/LocaleInformation_nso.properties, * resource/gnu/java/locale/LocaleInformation_ny.properties, * resource/gnu/java/locale/LocaleInformation_om.properties, * resource/gnu/java/locale/LocaleInformation_or.properties, * resource/gnu/java/locale/LocaleInformation_pa.properties, * resource/gnu/java/locale/LocaleInformation_pa_Arab.properties, * resource/gnu/java/locale/LocaleInformation_pl.properties, * resource/gnu/java/locale/LocaleInformation_ps.properties, * resource/gnu/java/locale/LocaleInformation_pt.properties, * resource/gnu/java/locale/LocaleInformation_pt_PT.properties, * resource/gnu/java/locale/LocaleInformation_ro.properties, * resource/gnu/java/locale/LocaleInformation_ru.properties, * resource/gnu/java/locale/LocaleInformation_rw.properties, * resource/gnu/java/locale/LocaleInformation_sa.properties, * resource/gnu/java/locale/LocaleInformation_se.properties, * resource/gnu/java/locale/LocaleInformation_se_FI.properties, * resource/gnu/java/locale/LocaleInformation_si.properties, * resource/gnu/java/locale/LocaleInformation_sid.properties, * resource/gnu/java/locale/LocaleInformation_sk.properties, * resource/gnu/java/locale/LocaleInformation_sl.properties, * resource/gnu/java/locale/LocaleInformation_so.properties, * resource/gnu/java/locale/LocaleInformation_sq.properties, * resource/gnu/java/locale/LocaleInformation_sr.properties, * resource/gnu/java/locale/LocaleInformation_sr_BA_Cyrl.properties, * resource/gnu/java/locale/LocaleInformation_sr_Latn.properties, * resource/gnu/java/locale/LocaleInformation_ss.properties, * resource/gnu/java/locale/LocaleInformation_st.properties, * resource/gnu/java/locale/LocaleInformation_sv.properties, * resource/gnu/java/locale/LocaleInformation_sw.properties, * resource/gnu/java/locale/LocaleInformation_syr.properties, * resource/gnu/java/locale/LocaleInformation_ta.properties, * resource/gnu/java/locale/LocaleInformation_te.properties, * resource/gnu/java/locale/LocaleInformation_tg.properties, * resource/gnu/java/locale/LocaleInformation_th.properties, * resource/gnu/java/locale/LocaleInformation_ti.properties, * resource/gnu/java/locale/LocaleInformation_ti_ER.properties, * resource/gnu/java/locale/LocaleInformation_tig.properties, * resource/gnu/java/locale/LocaleInformation_tn.properties, * resource/gnu/java/locale/LocaleInformation_to.properties, * resource/gnu/java/locale/LocaleInformation_tr.properties, * resource/gnu/java/locale/LocaleInformation_trv.properties, * resource/gnu/java/locale/LocaleInformation_ts.properties, * resource/gnu/java/locale/LocaleInformation_tt.properties, * resource/gnu/java/locale/LocaleInformation_ug.properties, * resource/gnu/java/locale/LocaleInformation_uk.properties, * resource/gnu/java/locale/LocaleInformation_ur.properties, * resource/gnu/java/locale/LocaleInformation_uz.properties, * resource/gnu/java/locale/LocaleInformation_uz_Arab.properties, * resource/gnu/java/locale/LocaleInformation_uz_Latn.properties, * resource/gnu/java/locale/LocaleInformation_ve.properties, * resource/gnu/java/locale/LocaleInformation_vi.properties, * resource/gnu/java/locale/LocaleInformation_wal.properties, * resource/gnu/java/locale/LocaleInformation_wo.properties, * resource/gnu/java/locale/LocaleInformation_xh.properties, * resource/gnu/java/locale/LocaleInformation_yo.properties, * resource/gnu/java/locale/LocaleInformation_zh.properties, * resource/gnu/java/locale/LocaleInformation_zh_Hant.properties, * resource/gnu/java/locale/LocaleInformation_zu.properties: Update locale data without trailing separator.
* PR classpath/42390: Use AccessController and PrivilegedAction to retrieve ↵Andrew John Hughes2012-02-082-4/+15
| | | | | | | | | | | | | system properties. 2012-02-08 Andrew John Hughes <ahughes@redhat.com> PR classpath/42390 * java/nio/channels/spi/SelectorProvider.java: (provider()): Retrieve property value using PrivilegedAction. * java/security/KeyStore.java: (getDefaultType()): Likewise.
* PR classpath/42390: Add missing security checks in DatagramSocket.connect.Andrew John Hughes2012-02-081-1/+21
| | | | | | | | | | | 2012-02-06 Andrew John Hughes <ahughes@redhat.com> PR classpath/42390 * java/net/DatagramSocket.java: (connect(InetAddress,int)): Add missing security checks which OpenJDK performs and we don't. It's possible to initialise a DatagramSocket with null so we should also ensure we are bound.
* RH712013: pdftk crashes with java.lang.ArrayIndexOutOfBoundsExceptionAndrew John Hughes2012-01-121-11/+70
| | | | | | | | | | | | | | | | | | 2011-12-12 Andrew John Hughes <ahughes@redhat.com> RH712013: pdftk crashes with java.lang.ArrayIndexOutOfBoundsException * java/text/DateFormatSymbols.java: (getStringArray(List<ResourceBundle>, String, int)): Calls getStringArray(list,string,int,null). (getStringArray(List<ResourceBundle>, String, int, String[])): Populate a String array with locale data. The data used is the first non-null non-empty element found as we traverse the locale hierarchy. May be supplemented by fallback data. (DateFormatSymbols(Locale)): Get a list of all bundles up the locale hierarchy, rather than just using the one specific locale. Use the improved getStringArray method to populate the arrays, supplying existing data where "sideways" inheritance takes place.
* Add java/io/Console class and java/lang/System.console() methodPekka Enberg2012-01-082-1/+132
| | | | | | | | | | | | | | | | | | | | | | | | | | | This patch implements java/io/Console and adds a console() method to java/lang/System. The implementation is lame but it works reasonably well. 2012-01-07 Pekka Enberg <penberg@kernel.org> * include/Makefile.am: Add java_io_VMConsole.h. * java/io/Console: Add Java 1.6 java/io/Console API. * java/lang/System.java: (console): Add Java 1.6 console() API. * vm/reference/java/io/VMConsole: Add new class. * native/jni/java-io/Makefile.am: Add java_io_VMConsole.c. * native/jni/java-io/java_io_VMConsole.c: Add native helpers for java/io/Console. Signed-off-by: Pekka Enberg <penberg@kernel.org>
* Add java.io.IOError classPekka Enberg2012-01-061-0/+58
| | | | | | | | | | | | This patch adds a missing IOError class to GNU Classpath that was introduced in Java 1.6. 2012-01-05 Pekka Enberg <penberg@kernel.org> * java/io/IOError: Add new class. Signed-off-by: Pekka Enberg <penberg@kernel.org>
* Stefan Ring reports that commit f154af6 ("Fix HashMap.put() to check forPekka Enberg2011-10-301-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | hashCode equality before equals()") breaks running the CACAO test suite. The breakage looks like this: LD_LIBRARY_PATH=../../../src/cacao/.libs ../../../src/cacao/cacao -Xbootclasspath:../../../src/classes/classes:/home/sr/classpathcvs/share/classpath/glibj.zip -classpath /usr/share/java/junit4.jar:. org.junit.runner.JUnitCore All JUnit version 4.5 .E Time: 0.003 There was 1 failure: 1) initializationError(All) java.lang.NullPointerException at java.util.HashMap.put(HashMap.java:348) at java.util.HashSet.add(HashSet.java:151) at org.junit.runners.model.RunnerBuilder.addParent(RunnerBuilder.java:64) at org.junit.runners.model.RunnerBuilder.runners(RunnerBuilder.java:81) at org.junit.runners.Suite.<init>(Suite.java:88) at org.junit.runners.Suite.<init>(Suite.java:54) at java.lang.reflect.VMConstructor.construct(Native Method) at java.lang.reflect.Constructor.newInstance(Constructor.java:318) at org.junit.internal.builders.AnnotatedBuilder.buildRunner(AnnotatedBuilder.java:35) at org.junit.internal.builders.AnnotatedBuilder.runnerForClass(AnnotatedBuilder.java:24) at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:57) at org.junit.internal.builders.AllDefaultPossibilitiesBuilder.runnerForClass(AllDefaultPossibilitiesBuilder.java:29) at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:57) at org.junit.runners.model.RunnerBuilder.runners(RunnerBuilder.java:93) at org.junit.runners.model.RunnerBuilder.runners(RunnerBuilder.java:84) at org.junit.runners.Suite.<init>(Suite.java:66) at org.junit.runner.Request.classes(Request.java:68) at org.junit.runner.JUnitCore.run(JUnitCore.java:107) at org.junit.runner.JUnitCore.runMain(JUnitCore.java:88) at org.junit.runner.JUnitCore.runMainAndExit(JUnitCore.java:54) at org.junit.runner.JUnitCore.main(JUnitCore.java:46) FAILURES!!! Tests run: 1, Failures: 1 Looking at the code, it's obviously broken for HashMap.put() with a null key. 2011-10-24 Pekka Enberg <penberg@kernel.org> * java/util/HashMap.java: (put): Fix NullPointerException for null keys.
* Add Matcher.quoteReplacement API methodPekka Enberg2011-04-251-0/+23
| | | | | | | 2011-04-25 Pekka Enberg <penberg@kernel.org> * java/util/regex/Matcher.java: (quoteReplacement): Implement missing Java 1.5 API method.
* PR42390: Add missing call to SecurityManager.checkConnect in ↵Andrew John Hughes2011-03-151-1/+10
| | | | | | | | | | | connect(SocketAddress, int). 2011-03-14 Andrew John Hughes <ahughes@redhat.com> PR classpath/42390 * java/net/Socket.java: (connect(SocketAddress, int)): Add missing call to SecurityManager.
* Fix for PR 48131.Jeroen Frijters2011-03-151-1/+1
| | | | Handle empty tree.
* PR classpath/42390: Don't include permissions of the Policy in toString() ↵Andrew John Hughes2011-03-061-1/+9
| | | | | | | | | | | | output if reading them is prohibited. 2011-02-22 Andrew John Hughes <ahughes@redhat.com> PR classpath/42390 * java/security/ProtectionDomain.java: (toString()): Don't include permissions from the policy if we don't have permission to read it.
* Fix Matcher.find() infinite loop bugPekka Enberg2011-03-021-0/+6
| | | | | | | | | | | | | | | | | | This patch fixes a problem in Match.find() where the following piece of code would enter an infinite loop: System.out.println("hello, world".split("\uFFFF"); The root cause is that Matcher.find() returns true for the following snippet: Pattern p = Pattern.compile("\uFFFF"); Matcher m = p.matcher("hello, world"); System.out.println(m.find()); 2011-03-02 Pekka Enberg <penberg@kernel.org> * java/util/regex/Matcher: (find): Make sure match is within input data limits.
* Fix HashMap.put() to check for hashCode equality before equals()Pekka Enberg2011-02-221-1/+1
| | | | | | | | | | | | This patch is needed to run Jython 2.5.2 RC 4 under JamVM and GNU Classpath CVS HEAD. It turns out Jythin bootstrap is bit hairy and assumes HashMap.put() checks for hashCode equality before invoking Object.equals(). 2011-02-22 Pekka Enberg <penberg@kernel.org> * java/util/HashMap: (put): Check for key hashCode equality before invoking Object.equals() to fix compatibility issue with Jython.
* Bump up HashMap default initial capacityPekka Enberg2011-02-221-3/+2
| | | | | | | | | | | While debugging Jython bootstrap issues with GNU Classpath, I noticed that HashMap.DEFAULT_CAPACITY is set to 11 although Java 1.4 has it as 16. 2011-02-22 Pekka Enberg <penberg@kernel.org> * java/util/HashMap: (DEFAULT_CAPACITY): Make default initial capacity 16 as it is defined in official Javadocs.
* Fix Formatter.parseInt() wrt. leading zeroesPekka Enberg2011-02-161-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The following test case: public class StringTest { public static void main(String[] args) { System.out.println(String.format("%08x", 1234)); } } produces the following error: Exception in thread "main" java.lang.NumberFormatException: invalid character at position 2 in 08 at java.lang.Integer.parseInt(Integer.java:837) at java.lang.Integer.decode(Integer.java:568) at java.util.Formatter.parseInt(Formatter.java:1191) at java.util.Formatter.parseArgumentIndex(Formatter.java:1212) at java.util.Formatter.format(Formatter.java:1326) at java.util.Formatter.format(Formatter.java:1442) at java.lang.String.format(String.java:1984) at java.lang.String.format(String.java:1990) at StringTest.main(StringTest.java:3) This patch fixes the issue by switching to Integer.parseInt() in java.util.Formatter.parseInt(). Reviewed-by: Dr Andrew John Hughes <gnu_andrew@member.fsf.org> 2010-02-16 Pekka Enberg <penberg@kernel.org> * java/util/Formatter.java: (parseInt): Use Integer.parseInt() insted of Integer.decode() because the latter doesn't work with leading zeros which are used in String.format() formatting, for example.
* Implement Pattern.quote() API methodPekka Enberg2011-01-261-1/+39
| | | | | | | | | Reviewed-by: Dr Andrew John Hughes <gnu_andrew@member.fsf.org> 2010-07-02 Ivan Maidanski <ivmai@mail.ru> * java/util/regex/Pattern.java: (quote): Implement new 1.5 Java API method.
* Fix PrintStream constructor API differences for nullPekka Enberg2011-01-231-0/+12
| | | | | | | | | | Reviewed-by: Dr Andrew John Hughes <gnu_andrew@member.fsf.org> 2011-01-23 Pekka Enberg <penberg@kernel.org> * java/io/PrintStream.java (PrintStream): Throw NullPointerException if out or encoding is null to be compatible with OpenJDK.
* Fix java.lang.Class field and method API for null namesPekka Enberg2011-01-211-0/+12
| | | | | | | | | | | | 2011-01-21 Pekka Enberg <penberg@kernel.org> * java/lang/Class.java: (getDeclaredField): Throw NullPointerException instead of NoSuchFieldException if name is null. (getField): Likewise. (getDeclaredMethod): Throw NullPointerException instead of NoSuchMethodException if name is null. (getMethod): Likewise.
* PR classpath/42390: Add and document missing security check in ↵Andrew John Hughes2010-12-251-1/+3
| | | | | | | | | | | java.io.File#isHidden(). 2010-12-25 Andrew John Hughes <ahughes@redhat.com> PR classpath/42390 * java/io/File.java: (isHidden()): Add and document missing security check.
* PR classpath/42390: Throw SecurityException when adding and removing ↵Andrew John Hughes2010-12-251-3/+24
| | | | | | | | | | | | | | LogManager PropertyChangeListeners. 2010-12-25 Andrew John Hughes <ahughes@redhat.com> PR classpath/42390 * java/util/logging/LogManager.java: (addPropertyChangeListener(PropertyChangeListener)): Document fully. Throw NPE in a clearer way. Add SecurityException. (removePropertyChangeListener(PropertyChangeListener)): Document fully. Add SecurityException.
* PR classpath/42390: Add security check to ObjectOutputStream(OutputStream) ↵Andrew John Hughes2010-12-251-0/+46
| | | | | | | | | | | | | | constructor. 2010-12-25 Andrew John Hughes <ahughes@redhat.com> PR classpath/42390 * java/io/ObjectOutputStream.java: (ObjectOutputStream(OutputStream)): Add required security check. (overridesMethods(Class<?>)): Check whether the subclass overrides one of the methods which requires a security check.
* Provide implies shortcut for ProtectionDomain instances with AllPermission.Andrew John Hughes2010-12-251-0/+14
| | | | | | | | | | | | | 2010-12-24 Andrew John Hughes <ahughes@redhat.com> * java/security/ProtectionDomain.java, (hasAllPermissions): Add new field. (ProtectionDomain(CodeSource,PermissionCollection, ClassLoader,Principal,boolean)): Check if permission collection includes AllPermission and, if so, set hasAllPermissions. (implies(Permission)): Immediately return true if hasAllPermissions is set.
* Only initialise loggers when Configuration.DEBUG is true.Andrew John Hughes2010-09-021-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Avoid floating point arithmetic when computing 1.5 * length. Cast instance generated by reflection to correct type. Remove redundant super() calls and initialisations. Drop unused variable. 2010-05-09 Ivan Maidanski <ivmai@mail.ru> * gnu/java/security/Properties.java: Only initialise log if Configuration.DEBUG is true. * gnu/java/security/der/DERWriter.java: (toUtf8(String)): Calculate 1.5 * len using len + (len >> 1) to avoid multiplication by a floating-point number. * gnu/java/security/hash/Whirlpool.java: Only initialise log if Configuration.DEBUG is true. * gnu/java/security/jce/sig/EncodedKeyFactory.java: Likewise. * gnu/java/security/jce/sig/SignatureAdapter.java: Likewise. * gnu/java/security/key/dss/DSSKeyPairGenerator.java: Likewise. * gnu/java/security/key/dss/DSSKeyPairPKCS8Codec.java: Likewise. * gnu/java/security/key/rsa/RSAKeyPairGenerator.java: Likewise. * gnu/java/security/key/rsa/RSAKeyPairPKCS8Codec.java: Likewise. * gnu/java/security/key/rsa/RSAKeyPairX509Codec.java: Likewise. * gnu/java/security/pkcs/PKCS7SignedData.java: Likewise. * gnu/java/security/pkcs/SignerInfo.java: Likewise. (SignerInfo(BERReader)): Only print version if Configuration.DEBUG is true, as with other output. * gnu/java/security/provider/PKIXCertPathValidatorImpl.java: Only initialise log if Configuration.DEBUG is true. * gnu/java/security/sig/rsa/EMSA_PSS.java: Likewise. * gnu/java/security/sig/rsa/RSAPSSSignature.java: Likewise. * gnu/java/security/x509/X509CRL.java: Likewise. * gnu/java/security/x509/X509CRLEntry.java: Likewise. * gnu/java/security/x509/ext/Extension.java: Likewise. * gnu/javax/crypto/cipher/Anubis.java: Likewise. * gnu/javax/crypto/cipher/BaseCipher.java: Likewise. * gnu/javax/crypto/cipher/Khazad.java: Likewise. * gnu/javax/crypto/cipher/Rijndael.java: Likewise. * gnu/javax/crypto/cipher/Twofish.java: Likewise. * gnu/javax/crypto/jce/cipher/KeyWrappingAlgorithmAdapter.java: Likewise. * gnu/javax/crypto/jce/keyring/GnuKeyring.java: Likewise. * gnu/javax/crypto/jce/params/BlockCipherParameters.java: Likewise. * gnu/javax/crypto/jce/prng/ICMRandomSpi.java: Likewise. * gnu/javax/crypto/jce/prng/UMacRandomSpi.java: Likewise. * gnu/javax/crypto/key/dh/GnuDHKeyPairGenerator.java: Likewise. (sha): Drop unused variable. (rnd): Use implicit initialisation to null as with other variables. * gnu/javax/crypto/key/srp6/SRPKeyPairGenerator.java: Only initialise log if Configuration.DEBUG is true. * gnu/javax/crypto/keyring/Entry.java: Likewise. * gnu/javax/crypto/keyring/EnvelopeEntry.java: Likewise. * gnu/javax/crypto/keyring/GnuPublicKeyring.java: Likewise. * gnu/javax/crypto/mac/OMAC.java: Likewise. * gnu/javax/crypto/pad/BasePad.java: Likewise. * gnu/javax/crypto/pad/PKCS1_V1_5.java: Likewise. * gnu/javax/crypto/pad/PKCS7.java: Likewise. * gnu/javax/crypto/pad/TBC.java: Likewise. * gnu/javax/crypto/prng/CSPRNG.java: Likewise. (getSystemInstance()): Clarify bracketing of for loop and ignorance of exceptions in the OTHER case. * gnu/javax/crypto/sasl/SaslInputStream.java: Only initialise log if Configuration.DEBUG is true. * gnu/javax/crypto/sasl/SaslOutputStream.java: Likewise. * gnu/javax/crypto/sasl/srp/SRPClient.java: Likewise. * gnu/javax/crypto/sasl/srp/SRPServer.java: Likewise. * gnu/javax/security/auth/login/ConfigFileParser.java: Likewise. (map): Make final. * gnu/javax/security/auth/login/ConfigFileTokenizer.java: Only initialise log if Configuration.DEBUG is true. (br): Make final. (ConfigFileTokenizer(Reader)): Remove explicit initialisation of initialised and call to superclass when superclass is Object. * gnu/javax/security/auth/login/GnuConfiguration.java: Only iniialise log if Configuration.DEBUG is true. * java/math/BigInteger.java: Likewise.
* When a zip file contains an encrypted entry, we should throw a ZipException ↵Jeroen Frijters2010-07-131-1/+4
| | | | (as the JDK does) while reading the zip file directory.
* Fix for #36560. Patch by Daniel Noll. I took the exception message from the ↵Jeroen Frijters2010-07-131-2/+5
| | | | zlib code (for compatibility with the JDK).