diff options
author | Elliott Hughes <enh@google.com> | 2010-08-12 17:27:27 -0700 |
---|---|---|
committer | Elliott Hughes <enh@google.com> | 2010-08-12 17:27:27 -0700 |
commit | e22935d3c7040c22b48d53bd18878844f381287c (patch) | |
tree | 71112ac81c7141ba029dc036d4f59edef36bbec5 | |
parent | 24144d482dcd5deac58a5dca7042379c05b56b5e (diff) | |
download | libcore-e22935d3c7040c22b48d53bd18878844f381287c.zip libcore-e22935d3c7040c22b48d53bd18878844f381287c.tar.gz libcore-e22935d3c7040c22b48d53bd18878844f381287c.tar.bz2 |
Remove most of our C-style casts.
After being burned by an incorrect C-style cast that cast away const, I've been
keen to remove them all and turn on -Wold-style-cast. This patch doesn't get us
that far, but it does kill the majority of our C-style casts. In turn, the
majority of the casts that it removes are the ones from our tables of native
methods to be registered.
The new NATIVE_METHOD macro also _enforces_ our convention of using the
"Class_nativeMethod" style of naming. Mostly this works out fine. In some
cases (most notably ExpatParser and ExpatAttributes) I've had to un-overload
a few functions, but I don't like overloading anyway, and in the particular
case of a native method, where the stack trace doesn't show a line number,
overloading makes it one step harder to work out which native method you're
actually in. So good riddance to that. The only unfortunate case is
Math.copySign, where there are two overloads corresponding to copysign(3)
and copysignf(3). I had to add an extra layer of indirection there. In my
defense, we've never shipped these functions before, they're unlikely to
become anyone's hotspot, and the right fix is to be doing such trivial work
on the Java side anyway, with intrinsics making the conversion between
float/double and int/long cheap.
This patch also replaces other C-style casts, primarily in
"OSNetworkSystem.cpp".
This patch also removes unnecessary uses of the "struct" keyword.
This patch also fixes a "may be used uninitialized" warning (now error) in
the sim build for "ICU.cpp".
The remaining C-style casts are in the hairy float-parsing code. That stuff --
and turning on -Wold-style-cast -- will have to wait for another day.
Change-Id: I9b3ee14aefd4676f980f6a7ca757595d78d80e6a
47 files changed, 693 insertions, 675 deletions
diff --git a/luni/src/main/java/com/ibm/icu4jni/text/NativeDecimalFormat.java b/luni/src/main/java/com/ibm/icu4jni/text/NativeDecimalFormat.java index e5b0656..7a67ad6 100644 --- a/luni/src/main/java/com/ibm/icu4jni/text/NativeDecimalFormat.java +++ b/luni/src/main/java/com/ibm/icu4jni/text/NativeDecimalFormat.java @@ -213,7 +213,7 @@ public final class NativeDecimalFormat { } FieldPositionIterator fpi = FieldPositionIterator.forFieldPosition(field); - buffer.append(format(this.addr, value.toString(), fpi)); + buffer.append(formatDigitList(this.addr, value.toString(), fpi)); FieldPositionIterator.setFieldPosition(fpi, field); return buffer; } @@ -223,7 +223,7 @@ public final class NativeDecimalFormat { throw new NullPointerException(); } FieldPositionIterator fpi = FieldPositionIterator.forFieldPosition(field); - buffer.append(format(this.addr, value.toString(10), fpi)); + buffer.append(formatDigitList(this.addr, value.toString(10), fpi)); FieldPositionIterator.setFieldPosition(fpi, field); return buffer; } @@ -233,7 +233,7 @@ public final class NativeDecimalFormat { throw new NullPointerException(); } FieldPositionIterator fpi = FieldPositionIterator.forFieldPosition(field); - buffer.append(format(this.addr, value, fpi)); + buffer.append(formatLong(this.addr, value, fpi)); FieldPositionIterator.setFieldPosition(fpi, field); return buffer; } @@ -243,7 +243,7 @@ public final class NativeDecimalFormat { throw new NullPointerException(); } FieldPositionIterator fpi = FieldPositionIterator.forFieldPosition(field); - buffer.append(format(this.addr, value, fpi)); + buffer.append(formatDouble(this.addr, value, fpi)); FieldPositionIterator.setFieldPosition(fpi, field); return buffer; } @@ -272,16 +272,16 @@ public final class NativeDecimalFormat { if (number instanceof BigInteger) { BigInteger valBigInteger = (BigInteger) number; - text = format(this.addr, valBigInteger.toString(10), fpIter); + text = formatDigitList(this.addr, valBigInteger.toString(10), fpIter); } else if (number instanceof BigDecimal) { BigDecimal valBigDecimal = (BigDecimal) number; - text = format(this.addr, valBigDecimal.toString(), fpIter); + text = formatDigitList(this.addr, valBigDecimal.toString(), fpIter); } else if (number instanceof Double || number instanceof Float) { double dv = number.doubleValue(); - text = format(this.addr, dv, fpIter); + text = formatDouble(this.addr, dv, fpIter); } else { long lv = number.longValue(); - text = format(this.addr, lv, fpIter); + text = formatLong(this.addr, lv, fpIter); } AttributedString as = new AttributedString(text); @@ -608,9 +608,9 @@ public final class NativeDecimalFormat { private static native void applyPatternImpl(int addr, boolean localized, String pattern); private static native int cloneImpl(int addr); private static native void close(int addr); - private static native String format(int addr, long value, FieldPositionIterator iter); - private static native String format(int addr, double value, FieldPositionIterator iter); - private static native String format(int addr, String value, FieldPositionIterator iter); + private static native String formatLong(int addr, long value, FieldPositionIterator iter); + private static native String formatDouble(int addr, double value, FieldPositionIterator iter); + private static native String formatDigitList(int addr, String value, FieldPositionIterator iter); private static native int getAttribute(int addr, int symbol); private static native String getTextAttribute(int addr, int symbol); private static native int open(String pattern, String currencySymbol, diff --git a/luni/src/main/java/java/io/ObjectInputStream.java b/luni/src/main/java/java/io/ObjectInputStream.java index 5835aca..749eb29 100644 --- a/luni/src/main/java/java/io/ObjectInputStream.java +++ b/luni/src/main/java/java/io/ObjectInputStream.java @@ -1235,35 +1235,35 @@ public class ObjectInputStream extends InputStream implements ObjectInput, // BEGIN android-changed switch (fieldDesc.getTypeCode()) { case 'B': - setField(obj, declaringClass, fieldDesc.getName(), + setFieldByte(obj, declaringClass, fieldDesc.getName(), input.readByte()); break; case 'C': - setField(obj, declaringClass, fieldDesc.getName(), + setFieldChar(obj, declaringClass, fieldDesc.getName(), input.readChar()); break; case 'D': - setField(obj, declaringClass, fieldDesc.getName(), + setFieldDouble(obj, declaringClass, fieldDesc.getName(), input.readDouble()); break; case 'F': - setField(obj, declaringClass, fieldDesc.getName(), + setFieldFloat(obj, declaringClass, fieldDesc.getName(), input.readFloat()); break; case 'I': - setField(obj, declaringClass, fieldDesc.getName(), + setFieldInt(obj, declaringClass, fieldDesc.getName(), input.readInt()); break; case 'J': - setField(obj, declaringClass, fieldDesc.getName(), + setFieldLong(obj, declaringClass, fieldDesc.getName(), input.readLong()); break; case 'S': - setField(obj, declaringClass, fieldDesc.getName(), + setFieldShort(obj, declaringClass, fieldDesc.getName(), input.readShort()); break; case 'Z': - setField(obj, declaringClass, fieldDesc.getName(), + setFieldBool(obj, declaringClass, fieldDesc.getName(), input.readBoolean()); break; default: @@ -1309,8 +1309,8 @@ public class ObjectInputStream extends InputStream implements ObjectInput, } try { // BEGIN android-changed - objSetField(obj, declaringClass, fieldName, field - .getTypeString(), toSet); + setFieldObject(obj, declaringClass, fieldName, field.getTypeString(), + toSet); // END android-changed } catch (NoSuchFieldError e) { // Ignored @@ -2602,41 +2602,41 @@ public class ObjectInputStream extends InputStream implements ObjectInput, * * @throws NoSuchFieldError If the field does not exist. */ - private static native void setField(Object instance, + private static native void setFieldByte(Object instance, Class<?> declaringClass, String fieldName, byte value) throws NoSuchFieldError; - private static native void setField(Object instance, + private static native void setFieldChar(Object instance, Class<?> declaringClass, String fieldName, char value) throws NoSuchFieldError; - private static native void setField(Object instance, + private static native void setFieldDouble(Object instance, Class<?> declaringClass, String fieldName, double value) throws NoSuchFieldError; - private static native void setField(Object instance, + private static native void setFieldFloat(Object instance, Class<?> declaringClass, String fieldName, float value) throws NoSuchFieldError; - private static native void setField(Object instance, + private static native void setFieldInt(Object instance, Class<?> declaringClass, String fieldName, int value) throws NoSuchFieldError; - private static native void setField(Object instance, + private static native void setFieldLong(Object instance, Class<?> declaringClass, String fieldName, long value) throws NoSuchFieldError; - private static native void objSetField(Object instance, + private static native void setFieldObject(Object instance, Class<?> declaringClass, String fieldName, String fieldTypeName, Object value) throws NoSuchFieldError; - private static native void setField(Object instance, + private static native void setFieldShort(Object instance, Class<?> declaringClass, String fieldName, short value) throws NoSuchFieldError; - private static native void setField(Object instance, + private static native void setFieldBool(Object instance, Class<?> declaringClass, String fieldName, boolean value) throws NoSuchFieldError; diff --git a/luni/src/main/java/java/lang/Math.java b/luni/src/main/java/java/lang/Math.java index a6d8993..8e8baa4 100644 --- a/luni/src/main/java/java/lang/Math.java +++ b/luni/src/main/java/java/lang/Math.java @@ -1103,7 +1103,11 @@ public final class Math { * If you need a determinate sign in such cases, use {@code StrictMath.copySign}. * @since 1.6 */ - public static native double copySign(double magnitude, double sign); + public static double copySign(double magnitude, double sign) { + return copysign(magnitude, sign); + } + + private static native double copysign(double magnitude, double sign); /** * Returns a float with the given magnitude and the sign of {@code sign}. @@ -1111,7 +1115,11 @@ public final class Math { * If you need a determinate sign in such cases, use {@code StrictMath.copySign}. * @since 1.6 */ - public static native float copySign(float magnitude, float sign); + public static float copySign(float magnitude, float sign) { + return copysignf(magnitude, sign); + } + + private static native float copysignf(float magnitude, float sign); /** * Returns the exponent of float {@code f}. diff --git a/luni/src/main/java/org/apache/harmony/xml/ExpatAttributes.java b/luni/src/main/java/org/apache/harmony/xml/ExpatAttributes.java index ed6cb11..b92fc50 100644 --- a/luni/src/main/java/org/apache/harmony/xml/ExpatAttributes.java +++ b/luni/src/main/java/org/apache/harmony/xml/ExpatAttributes.java @@ -71,7 +71,7 @@ abstract class ExpatAttributes implements Attributes { public String getValue(int index) { return (index < 0 || index >= getLength()) ? null - : getValue(getPointer(), index); + : getValueByIndex(getPointer(), index); } public int getIndex(String uri, String localName) { @@ -96,7 +96,7 @@ abstract class ExpatAttributes implements Attributes { if (pointer == 0) { return -1; } - return getIndex(pointer, qName); + return getIndexForQName(pointer, qName); } public String getType(String uri, String localName) { @@ -135,20 +135,16 @@ abstract class ExpatAttributes implements Attributes { if (pointer == 0) { return null; } - return getValue(pointer, qName); + return getValueForQName(pointer, qName); } - static native String getURI(int pointer, int attributePointer, int index); - static native String getLocalName(int pointer, int attributePointer, - int index); - static native String getQName(int pointer, int attributePointer, - int index); - static native String getValue(int attributePointer, int index); - static native int getIndex(int attributePointer, String uri, - String localName); - static native int getIndex(int attributePointer, String qName); - static native String getValue(int attributePointer, - String uri, String localName); - static native String getValue(int attributePointer, String qName); - static native void freeAttributes(int pointer); + private static native String getURI(int pointer, int attributePointer, int index); + private static native String getLocalName(int pointer, int attributePointer, int index); + private static native String getQName(int pointer, int attributePointer, int index); + private static native String getValueByIndex(int attributePointer, int index); + private static native int getIndex(int attributePointer, String uri, String localName); + private static native int getIndexForQName(int attributePointer, String qName); + private static native String getValue(int attributePointer, String uri, String localName); + private static native String getValueForQName(int attributePointer, String qName); + protected native void freeAttributes(int pointer); } diff --git a/luni/src/main/java/org/apache/harmony/xml/ExpatParser.java b/luni/src/main/java/org/apache/harmony/xml/ExpatParser.java index b783103..4826095 100644 --- a/luni/src/main/java/org/apache/harmony/xml/ExpatParser.java +++ b/luni/src/main/java/org/apache/harmony/xml/ExpatParser.java @@ -409,13 +409,13 @@ class ExpatParser { */ /*package*/ void append(String xml) throws SAXException { try { - append(this.pointer, xml, false); + appendString(this.pointer, xml, false); } catch (ExpatException e) { throw new ParseException(e.getMessage(), this.locator); } } - private native void append(int pointer, String xml, boolean isFinal) + private native void appendString(int pointer, String xml, boolean isFinal) throws SAXException, ExpatException; /** @@ -430,13 +430,13 @@ class ExpatParser { /*package*/ void append(char[] xml, int offset, int length) throws SAXException { try { - append(this.pointer, xml, offset, length); + appendChars(this.pointer, xml, offset, length); } catch (ExpatException e) { throw new ParseException(e.getMessage(), this.locator); } } - private native void append(int pointer, char[] xml, int offset, + private native void appendChars(int pointer, char[] xml, int offset, int length) throws SAXException, ExpatException; /** @@ -462,13 +462,13 @@ class ExpatParser { /*package*/ void append(byte[] xml, int offset, int length) throws SAXException { try { - append(this.pointer, xml, offset, length); + appendBytes(this.pointer, xml, offset, length); } catch (ExpatException e) { throw new ParseException(e.getMessage(), this.locator); } } - private native void append(int pointer, byte[] xml, int offset, + private native void appendBytes(int pointer, byte[] xml, int offset, int length) throws SAXException, ExpatException; /** @@ -500,7 +500,7 @@ class ExpatParser { int length; while ((length = in.read(buffer)) != -1) { try { - append(this.pointer, buffer, 0, length); + appendChars(this.pointer, buffer, 0, length); } catch (ExpatException e) { throw new ParseException(e.getMessage(), locator); } @@ -516,7 +516,7 @@ class ExpatParser { int length; while ((length = in.read(buffer)) != -1) { try { - append(this.pointer, buffer, 0, length); + appendBytes(this.pointer, buffer, 0, length); } catch (ExpatException e) { throw new ParseException(e.getMessage(), this.locator); } @@ -546,7 +546,7 @@ class ExpatParser { */ /*package*/ void finish() throws SAXException { try { - append(this.pointer, "", true); + appendString(this.pointer, "", true); } catch (ExpatException e) { throw new ParseException(e.getMessage(), this.locator); } diff --git a/luni/src/main/native/ICU.cpp b/luni/src/main/native/ICU.cpp index 5acbe16..04f6631 100644 --- a/luni/src/main/native/ICU.cpp +++ b/luni/src/main/native/ICU.cpp @@ -74,7 +74,7 @@ Locale getLocale(JNIEnv* env, jstring localeName) { return Locale::createFromName(ScopedUtfChars(env, localeName).c_str()); } -static jint getCurrencyFractionDigitsNative(JNIEnv* env, jclass, jstring javaCurrencyCode) { +static jint ICU_getCurrencyFractionDigitsNative(JNIEnv* env, jclass, jstring javaCurrencyCode) { UErrorCode status = U_ZERO_ERROR; UniquePtr<NumberFormat> fmt(NumberFormat::createCurrencyInstance(status)); if (U_FAILURE(status)) { @@ -89,7 +89,7 @@ static jint getCurrencyFractionDigitsNative(JNIEnv* env, jclass, jstring javaCur return fmt->getMinimumFractionDigits(); } -static jstring getCurrencyCodeNative(JNIEnv* env, jclass, jstring javaKey) { +static jstring ICU_getCurrencyCodeNative(JNIEnv* env, jclass, jstring javaKey) { UErrorCode status = U_ZERO_ERROR; ScopedResourceBundle supplData(ures_openDirect(U_ICUDATA_CURR, "supplementalData", &status)); if (U_FAILURE(status)) { @@ -137,9 +137,7 @@ static jstring getCurrencyCodeNative(JNIEnv* env, jclass, jstring javaKey) { return env->NewString(id, length); } -static jstring getCurrencySymbolNative(JNIEnv* env, jclass, jstring locale, jstring currencyCode) { - // LOGI("ENTER getCurrencySymbolNative"); - +static jstring ICU_getCurrencySymbolNative(JNIEnv* env, jclass, jstring locale, jstring currencyCode) { ScopedUtfChars localeName(env, locale); UErrorCode status = U_ZERO_ERROR; ScopedResourceBundle currLoc(ures_open(U_ICUDATA_CURR, localeName.c_str(), &status)); @@ -167,27 +165,23 @@ static jstring getCurrencySymbolNative(JNIEnv* env, jclass, jstring locale, jstr return (currSymbL == 0) ? NULL : env->NewString(currSymbU, currSymbL); } -static jstring getDisplayCountryNative(JNIEnv* env, jclass, jstring targetLocale, jstring locale) { - +static jstring ICU_getDisplayCountryNative(JNIEnv* env, jclass, jstring targetLocale, jstring locale) { Locale loc = getLocale(env, locale); Locale targetLoc = getLocale(env, targetLocale); - UnicodeString str; targetLoc.getDisplayCountry(loc, str); return env->NewString(str.getBuffer(), str.length()); } -static jstring getDisplayLanguageNative(JNIEnv* env, jclass, jstring targetLocale, jstring locale) { - +static jstring ICU_getDisplayLanguageNative(JNIEnv* env, jclass, jstring targetLocale, jstring locale) { Locale loc = getLocale(env, locale); Locale targetLoc = getLocale(env, targetLocale); - UnicodeString str; targetLoc.getDisplayLanguage(loc, str); return env->NewString(str.getBuffer(), str.length()); } -static jstring getDisplayVariantNative(JNIEnv* env, jclass, jstring targetLocale, jstring locale) { +static jstring ICU_getDisplayVariantNative(JNIEnv* env, jclass, jstring targetLocale, jstring locale) { Locale loc = getLocale(env, locale); Locale targetLoc = getLocale(env, targetLocale); UnicodeString str; @@ -195,12 +189,12 @@ static jstring getDisplayVariantNative(JNIEnv* env, jclass, jstring targetLocale return env->NewString(str.getBuffer(), str.length()); } -static jstring getISO3CountryNative(JNIEnv* env, jclass, jstring locale) { +static jstring ICU_getISO3CountryNative(JNIEnv* env, jclass, jstring locale) { Locale loc = getLocale(env, locale); return env->NewStringUTF(loc.getISO3Country()); } -static jstring getISO3LanguageNative(JNIEnv* env, jclass, jstring locale) { +static jstring ICU_getISO3LanguageNative(JNIEnv* env, jclass, jstring locale) { Locale loc = getLocale(env, locale); return env->NewStringUTF(loc.getISO3Language()); } @@ -218,11 +212,11 @@ static jobjectArray toStringArray(JNIEnv* env, const char* const* strings) { return result; } -static jobjectArray getISOCountriesNative(JNIEnv* env, jclass) { +static jobjectArray ICU_getISOCountriesNative(JNIEnv* env, jclass) { return toStringArray(env, Locale::getISOCountries()); } -static jobjectArray getISOLanguagesNative(JNIEnv* env, jclass) { +static jobjectArray ICU_getISOLanguagesNative(JNIEnv* env, jclass) { return toStringArray(env, Locale::getISOLanguages()); } @@ -237,27 +231,27 @@ static jobjectArray getAvailableLocales(JNIEnv* env, Counter* counter, Getter* g return result; } -static jobjectArray getAvailableLocalesNative(JNIEnv* env, jclass) { +static jobjectArray ICU_getAvailableLocalesNative(JNIEnv* env, jclass) { return getAvailableLocales(env, uloc_countAvailable, uloc_getAvailable); } -static jobjectArray getAvailableBreakIteratorLocalesNative(JNIEnv* env, jclass) { +static jobjectArray ICU_getAvailableBreakIteratorLocalesNative(JNIEnv* env, jclass) { return getAvailableLocales(env, ubrk_countAvailable, ubrk_getAvailable); } -static jobjectArray getAvailableCalendarLocalesNative(JNIEnv* env, jclass) { +static jobjectArray ICU_getAvailableCalendarLocalesNative(JNIEnv* env, jclass) { return getAvailableLocales(env, ucal_countAvailable, ucal_getAvailable); } -static jobjectArray getAvailableCollatorLocalesNative(JNIEnv* env, jclass) { +static jobjectArray ICU_getAvailableCollatorLocalesNative(JNIEnv* env, jclass) { return getAvailableLocales(env, ucol_countAvailable, ucol_getAvailable); } -static jobjectArray getAvailableDateFormatLocalesNative(JNIEnv* env, jclass) { +static jobjectArray ICU_getAvailableDateFormatLocalesNative(JNIEnv* env, jclass) { return getAvailableLocales(env, udat_countAvailable, udat_getAvailable); } -static jobjectArray getAvailableNumberFormatLocalesNative(JNIEnv* env, jclass) { +static jobjectArray ICU_getAvailableNumberFormatLocalesNative(JNIEnv* env, jclass) { return getAvailableLocales(env, unum_countAvailable, unum_getAvailable); } @@ -371,7 +365,7 @@ static jstring getIntCurrencyCode(JNIEnv* env, jstring locale) { } char country[3] = { localeChars[3], localeChars[4], 0 }; - return getCurrencyCodeNative(env, NULL, env->NewStringUTF(country)); + return ICU_getCurrencyCodeNative(env, NULL, env->NewStringUTF(country)); } static void setIntegerField(JNIEnv* env, jobject obj, const char* fieldName, int value) { @@ -413,7 +407,7 @@ static void setCharField(JNIEnv* env, jobject obj, const char* fieldName, UResou } } -static jboolean initLocaleDataImpl(JNIEnv* env, jclass, jstring locale, jobject localeData) { +static jboolean ICU_initLocaleDataImpl(JNIEnv* env, jclass, jstring locale, jobject localeData) { ScopedUtfChars localeName(env, locale); UErrorCode status = U_ZERO_ERROR; ScopedResourceBundle root(ures_open(NULL, localeName.c_str(), &status)); @@ -435,7 +429,7 @@ static jboolean initLocaleDataImpl(JNIEnv* env, jclass, jstring locale, jobject return JNI_FALSE; } - int firstDayVals[2]; + int firstDayVals[] = { 0, 0 }; if (getDayIntVector(env, gregorian.get(), firstDayVals)) { setIntegerField(env, localeData, "firstDayOfWeek", firstDayVals[0]); setIntegerField(env, localeData, "minimalDaysInFirstWeek", firstDayVals[1]); @@ -515,7 +509,7 @@ static jboolean initLocaleDataImpl(JNIEnv* env, jclass, jstring locale, jobject jstring internationalCurrencySymbol = getIntCurrencyCode(env, locale); jstring currencySymbol = NULL; if (internationalCurrencySymbol != NULL) { - currencySymbol = getCurrencySymbolNative(env, NULL, locale, internationalCurrencySymbol); + currencySymbol = ICU_getCurrencySymbolNative(env, NULL, locale, internationalCurrencySymbol); } else { internationalCurrencySymbol = env->NewStringUTF("XXX"); } @@ -553,25 +547,25 @@ static jstring ICU_toUpperCase(JNIEnv* env, jclass, jstring javaString, jstring } static JNINativeMethod gMethods[] = { - {"getAvailableBreakIteratorLocalesNative", "()[Ljava/lang/String;", (void*) getAvailableBreakIteratorLocalesNative}, - {"getAvailableCalendarLocalesNative", "()[Ljava/lang/String;", (void*) getAvailableCalendarLocalesNative}, - {"getAvailableCollatorLocalesNative", "()[Ljava/lang/String;", (void*) getAvailableCollatorLocalesNative}, - {"getAvailableDateFormatLocalesNative", "()[Ljava/lang/String;", (void*) getAvailableDateFormatLocalesNative}, - {"getAvailableLocalesNative", "()[Ljava/lang/String;", (void*) getAvailableLocalesNative}, - {"getAvailableNumberFormatLocalesNative", "()[Ljava/lang/String;", (void*) getAvailableNumberFormatLocalesNative}, - {"getCurrencyCodeNative", "(Ljava/lang/String;)Ljava/lang/String;", (void*) getCurrencyCodeNative}, - {"getCurrencyFractionDigitsNative", "(Ljava/lang/String;)I", (void*) getCurrencyFractionDigitsNative}, - {"getCurrencySymbolNative", "(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;", (void*) getCurrencySymbolNative}, - {"getDisplayCountryNative", "(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;", (void*) getDisplayCountryNative}, - {"getDisplayLanguageNative", "(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;", (void*) getDisplayLanguageNative}, - {"getDisplayVariantNative", "(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;", (void*) getDisplayVariantNative}, - {"getISO3CountryNative", "(Ljava/lang/String;)Ljava/lang/String;", (void*) getISO3CountryNative}, - {"getISO3LanguageNative", "(Ljava/lang/String;)Ljava/lang/String;", (void*) getISO3LanguageNative}, - {"getISOCountriesNative", "()[Ljava/lang/String;", (void*) getISOCountriesNative}, - {"getISOLanguagesNative", "()[Ljava/lang/String;", (void*) getISOLanguagesNative}, - {"initLocaleDataImpl", "(Ljava/lang/String;Lcom/ibm/icu4jni/util/LocaleData;)Z", (void*) initLocaleDataImpl}, - {"toLowerCase", "(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;", (void*) ICU_toLowerCase}, - {"toUpperCase", "(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;", (void*) ICU_toUpperCase}, + NATIVE_METHOD(ICU, getAvailableBreakIteratorLocalesNative, "()[Ljava/lang/String;"), + NATIVE_METHOD(ICU, getAvailableCalendarLocalesNative, "()[Ljava/lang/String;"), + NATIVE_METHOD(ICU, getAvailableCollatorLocalesNative, "()[Ljava/lang/String;"), + NATIVE_METHOD(ICU, getAvailableDateFormatLocalesNative, "()[Ljava/lang/String;"), + NATIVE_METHOD(ICU, getAvailableLocalesNative, "()[Ljava/lang/String;"), + NATIVE_METHOD(ICU, getAvailableNumberFormatLocalesNative, "()[Ljava/lang/String;"), + NATIVE_METHOD(ICU, getCurrencyCodeNative, "(Ljava/lang/String;)Ljava/lang/String;"), + NATIVE_METHOD(ICU, getCurrencyFractionDigitsNative, "(Ljava/lang/String;)I"), + NATIVE_METHOD(ICU, getCurrencySymbolNative, "(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;"), + NATIVE_METHOD(ICU, getDisplayCountryNative, "(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;"), + NATIVE_METHOD(ICU, getDisplayLanguageNative, "(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;"), + NATIVE_METHOD(ICU, getDisplayVariantNative, "(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;"), + NATIVE_METHOD(ICU, getISO3CountryNative, "(Ljava/lang/String;)Ljava/lang/String;"), + NATIVE_METHOD(ICU, getISO3LanguageNative, "(Ljava/lang/String;)Ljava/lang/String;"), + NATIVE_METHOD(ICU, getISOCountriesNative, "()[Ljava/lang/String;"), + NATIVE_METHOD(ICU, getISOLanguagesNative, "()[Ljava/lang/String;"), + NATIVE_METHOD(ICU, initLocaleDataImpl, "(Ljava/lang/String;Lcom/ibm/icu4jni/util/LocaleData;)Z"), + NATIVE_METHOD(ICU, toLowerCase, "(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;"), + NATIVE_METHOD(ICU, toUpperCase, "(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;"), }; int register_com_ibm_icu4jni_util_ICU(JNIEnv* env) { return jniRegisterNativeMethods(env, "com/ibm/icu4jni/util/ICU", gMethods, NELEM(gMethods)); diff --git a/luni/src/main/native/JniConstants.h b/luni/src/main/native/JniConstants.h index 1106e14..6512f27 100644 --- a/luni/src/main/native/JniConstants.h +++ b/luni/src/main/native/JniConstants.h @@ -68,4 +68,7 @@ struct JniConstants { static jclass vmRuntimeClass; }; +#define NATIVE_METHOD(className, functionName, signature) \ + { #functionName, signature, reinterpret_cast<void*>(className ## _ ## functionName) } + #endif // JNI_CONSTANTS_H_included diff --git a/luni/src/main/native/NativeBN.cpp b/luni/src/main/native/NativeBN.cpp index 70deebc..c6dca37 100644 --- a/luni/src/main/native/NativeBN.cpp +++ b/luni/src/main/native/NativeBN.cpp @@ -21,6 +21,7 @@ #define LOG_TAG "NativeBN" #include "JNIHelp.h" +#include "JniConstants.h" #include "ScopedPrimitiveArray.h" #include "ScopedUtfChars.h" #include "UniquePtr.h" @@ -512,46 +513,46 @@ static jboolean NativeBN_BN_is_prime_ex(JNIEnv* env, jclass, BIGNUM* p, int nche } static JNINativeMethod gMethods[] = { - { "BN_add", "(III)Z", (void*)NativeBN_BN_add }, - { "BN_add_word", "(II)Z", (void*)NativeBN_BN_add_word }, - { "BN_bin2bn", "([BIZI)Z", (void*)NativeBN_BN_bin2bn }, - { "BN_bn2bin", "(I)[B", (void*)NativeBN_BN_bn2bin }, - { "BN_bn2dec", "(I)Ljava/lang/String;", (void*)NativeBN_BN_bn2dec }, - { "BN_bn2hex", "(I)Ljava/lang/String;", (void*)NativeBN_BN_bn2hex }, - { "BN_cmp", "(II)I", (void*)NativeBN_BN_cmp }, - { "BN_copy", "(II)Z", (void*)NativeBN_BN_copy }, - { "BN_dec2bn", "(ILjava/lang/String;)I", (void*)NativeBN_BN_dec2bn }, - { "BN_div", "(IIII)Z", (void*)NativeBN_BN_div }, - { "BN_div_word", "(II)I", (void*)NativeBN_BN_div_word }, - { "BN_exp", "(III)Z", (void*)NativeBN_BN_exp }, - { "BN_free", "(I)V", (void*)NativeBN_BN_free }, - { "BN_gcd", "(III)Z", (void*)NativeBN_BN_gcd }, - { "BN_generate_prime_ex", "(IIZIII)Z", (void*)NativeBN_BN_generate_prime_ex }, - { "BN_hex2bn", "(ILjava/lang/String;)I", (void*)NativeBN_BN_hex2bn }, - { "BN_is_bit_set", "(II)Z", (void*)NativeBN_BN_is_bit_set }, - { "BN_is_prime_ex", "(III)Z", (void*)NativeBN_BN_is_prime_ex }, - { "BN_mod_exp", "(IIII)Z", (void*)NativeBN_BN_mod_exp }, - { "BN_mod_inverse", "(III)Z", (void*)NativeBN_BN_mod_inverse }, - { "BN_mod_word", "(II)I", (void*)NativeBN_BN_mod_word }, - { "BN_mul", "(III)Z", (void*)NativeBN_BN_mul }, - { "BN_mul_word", "(II)Z", (void*)NativeBN_BN_mul_word }, - { "BN_new", "()I", (void*)NativeBN_BN_new }, - { "BN_nnmod", "(III)Z", (void*)NativeBN_BN_nnmod }, - { "BN_set_negative", "(II)V", (void*)NativeBN_BN_set_negative }, - { "BN_shift", "(III)Z", (void*)NativeBN_BN_shift }, - { "BN_sub", "(III)Z", (void*)NativeBN_BN_sub }, - { "BN_sub_word", "(II)Z", (void*)NativeBN_BN_sub_word }, - { "ERR_error_string", "(I)Ljava/lang/String;", (void*)NativeBN_ERR_error_string }, - { "ERR_get_error", "()I", (void*)NativeBN_ERR_get_error }, - { "bitLength", "(I)I", (void*)NativeBN_bitLength }, - { "bn2litEndInts", "(I)[I", (void*)NativeBN_bn2litEndInts }, - { "litEndInts2bn", "([IIZI)Z", (void*)NativeBN_litEndInts2bn }, - { "longInt", "(I)J", (void*)NativeBN_longInt }, - { "modifyBit", "(III)Z", (void*)NativeBN_modifyBit }, - { "putLongInt", "(IJ)Z", (void*)NativeBN_putLongInt }, - { "putULongInt", "(IJZ)Z", (void*)NativeBN_putULongInt }, - { "sign", "(I)I", (void*)NativeBN_sign }, - { "twosComp2bn", "([BII)Z", (void*)NativeBN_twosComp2bn }, + NATIVE_METHOD(NativeBN, BN_add, "(III)Z"), + NATIVE_METHOD(NativeBN, BN_add_word, "(II)Z"), + NATIVE_METHOD(NativeBN, BN_bin2bn, "([BIZI)Z"), + NATIVE_METHOD(NativeBN, BN_bn2bin, "(I)[B"), + NATIVE_METHOD(NativeBN, BN_bn2dec, "(I)Ljava/lang/String;"), + NATIVE_METHOD(NativeBN, BN_bn2hex, "(I)Ljava/lang/String;"), + NATIVE_METHOD(NativeBN, BN_cmp, "(II)I"), + NATIVE_METHOD(NativeBN, BN_copy, "(II)Z"), + NATIVE_METHOD(NativeBN, BN_dec2bn, "(ILjava/lang/String;)I"), + NATIVE_METHOD(NativeBN, BN_div, "(IIII)Z"), + NATIVE_METHOD(NativeBN, BN_div_word, "(II)I"), + NATIVE_METHOD(NativeBN, BN_exp, "(III)Z"), + NATIVE_METHOD(NativeBN, BN_free, "(I)V"), + NATIVE_METHOD(NativeBN, BN_gcd, "(III)Z"), + NATIVE_METHOD(NativeBN, BN_generate_prime_ex, "(IIZIII)Z"), + NATIVE_METHOD(NativeBN, BN_hex2bn, "(ILjava/lang/String;)I"), + NATIVE_METHOD(NativeBN, BN_is_bit_set, "(II)Z"), + NATIVE_METHOD(NativeBN, BN_is_prime_ex, "(III)Z"), + NATIVE_METHOD(NativeBN, BN_mod_exp, "(IIII)Z"), + NATIVE_METHOD(NativeBN, BN_mod_inverse, "(III)Z"), + NATIVE_METHOD(NativeBN, BN_mod_word, "(II)I"), + NATIVE_METHOD(NativeBN, BN_mul, "(III)Z"), + NATIVE_METHOD(NativeBN, BN_mul_word, "(II)Z"), + NATIVE_METHOD(NativeBN, BN_new, "()I"), + NATIVE_METHOD(NativeBN, BN_nnmod, "(III)Z"), + NATIVE_METHOD(NativeBN, BN_set_negative, "(II)V"), + NATIVE_METHOD(NativeBN, BN_shift, "(III)Z"), + NATIVE_METHOD(NativeBN, BN_sub, "(III)Z"), + NATIVE_METHOD(NativeBN, BN_sub_word, "(II)Z"), + NATIVE_METHOD(NativeBN, ERR_error_string, "(I)Ljava/lang/String;"), + NATIVE_METHOD(NativeBN, ERR_get_error, "()I"), + NATIVE_METHOD(NativeBN, bitLength, "(I)I"), + NATIVE_METHOD(NativeBN, bn2litEndInts, "(I)[I"), + NATIVE_METHOD(NativeBN, litEndInts2bn, "([IIZI)Z"), + NATIVE_METHOD(NativeBN, longInt, "(I)J"), + NATIVE_METHOD(NativeBN, modifyBit, "(III)Z"), + NATIVE_METHOD(NativeBN, putLongInt, "(IJ)Z"), + NATIVE_METHOD(NativeBN, putULongInt, "(IJZ)Z"), + NATIVE_METHOD(NativeBN, sign, "(I)I"), + NATIVE_METHOD(NativeBN, twosComp2bn, "([BII)Z"), }; int register_java_math_NativeBN(JNIEnv* env) { return jniRegisterNativeMethods(env, "java/math/NativeBN", gMethods, NELEM(gMethods)); diff --git a/luni/src/main/native/NativeBidi.cpp b/luni/src/main/native/NativeBidi.cpp index 0a52f56..3fa299b 100644 --- a/luni/src/main/native/NativeBidi.cpp +++ b/luni/src/main/native/NativeBidi.cpp @@ -172,17 +172,17 @@ static jintArray NativeBidi_ubidi_reorderVisual(JNIEnv* env, jclass, jbyteArray } static JNINativeMethod gMethods[] = { - { "ubidi_close", "(J)V", (void*) NativeBidi_ubidi_close }, - { "ubidi_countRuns", "(J)I", (void*) NativeBidi_ubidi_countRuns }, - { "ubidi_getDirection", "(J)I", (void*) NativeBidi_ubidi_getDirection }, - { "ubidi_getLength", "(J)I", (void*) NativeBidi_ubidi_getLength }, - { "ubidi_getLevels", "(J)[B", (void*) NativeBidi_ubidi_getLevels }, - { "ubidi_getParaLevel", "(J)B", (void*) NativeBidi_ubidi_getParaLevel }, - { "ubidi_getRuns", "(J)[Lorg/apache/harmony/text/BidiRun;", (void*) NativeBidi_ubidi_getRuns }, - { "ubidi_open", "()J", (void*) NativeBidi_ubidi_open }, - { "ubidi_reorderVisual", "([BI)[I", (void*) NativeBidi_ubidi_reorderVisual }, - { "ubidi_setLine", "(JII)J", (void*) NativeBidi_ubidi_setLine }, - { "ubidi_setPara", "(J[CII[B)V", (void*) NativeBidi_ubidi_setPara }, + NATIVE_METHOD(NativeBidi, ubidi_close, "(J)V"), + NATIVE_METHOD(NativeBidi, ubidi_countRuns, "(J)I"), + NATIVE_METHOD(NativeBidi, ubidi_getDirection, "(J)I"), + NATIVE_METHOD(NativeBidi, ubidi_getLength, "(J)I"), + NATIVE_METHOD(NativeBidi, ubidi_getLevels, "(J)[B"), + NATIVE_METHOD(NativeBidi, ubidi_getParaLevel, "(J)B"), + NATIVE_METHOD(NativeBidi, ubidi_getRuns, "(J)[Lorg/apache/harmony/text/BidiRun;"), + NATIVE_METHOD(NativeBidi, ubidi_open, "()J"), + NATIVE_METHOD(NativeBidi, ubidi_reorderVisual, "([BI)[I"), + NATIVE_METHOD(NativeBidi, ubidi_setLine, "(JII)J"), + NATIVE_METHOD(NativeBidi, ubidi_setPara, "(J[CII[B)V"), }; int register_org_apache_harmony_text_NativeBidi(JNIEnv* env) { return jniRegisterNativeMethods(env, "org/apache/harmony/text/NativeBidi", diff --git a/luni/src/main/native/NativeBreakIterator.cpp b/luni/src/main/native/NativeBreakIterator.cpp index cd4407f..742a41a 100644 --- a/luni/src/main/native/NativeBreakIterator.cpp +++ b/luni/src/main/native/NativeBreakIterator.cpp @@ -17,6 +17,7 @@ #define LOG_TAG "NativeBreakIterator" #include "JNIHelp.h" +#include "JniConstants.h" #include "ErrorCode.h" #include "ScopedJavaUnicodeString.h" #include "ScopedUtfChars.h" @@ -122,21 +123,21 @@ static jint NativeBreakIterator_lastImpl(JNIEnv*, jclass, jint address) { } static JNINativeMethod gMethods[] = { - { "cloneImpl", "(I)I", (void*) NativeBreakIterator_cloneImpl }, - { "closeBreakIteratorImpl", "(I)V", (void*) NativeBreakIterator_closeBreakIteratorImpl }, - { "currentImpl", "(I)I", (void*) NativeBreakIterator_currentImpl }, - { "firstImpl", "(I)I", (void*) NativeBreakIterator_firstImpl }, - { "followingImpl", "(II)I", (void*) NativeBreakIterator_followingImpl }, - { "getCharacterInstanceImpl", "(Ljava/lang/String;)I", (void*) NativeBreakIterator_getCharacterInstanceImpl }, - { "getLineInstanceImpl", "(Ljava/lang/String;)I", (void*) NativeBreakIterator_getLineInstanceImpl }, - { "getSentenceInstanceImpl", "(Ljava/lang/String;)I", (void*) NativeBreakIterator_getSentenceInstanceImpl }, - { "getWordInstanceImpl", "(Ljava/lang/String;)I", (void*) NativeBreakIterator_getWordInstanceImpl }, - { "isBoundaryImpl", "(II)Z", (void*) NativeBreakIterator_isBoundaryImpl }, - { "lastImpl", "(I)I", (void*) NativeBreakIterator_lastImpl }, - { "nextImpl", "(II)I", (void*) NativeBreakIterator_nextImpl }, - { "precedingImpl", "(II)I", (void*) NativeBreakIterator_precedingImpl }, - { "previousImpl", "(I)I", (void*) NativeBreakIterator_previousImpl }, - { "setTextImpl", "(ILjava/lang/String;)V", (void*) NativeBreakIterator_setTextImpl }, + NATIVE_METHOD(NativeBreakIterator, cloneImpl, "(I)I"), + NATIVE_METHOD(NativeBreakIterator, closeBreakIteratorImpl, "(I)V"), + NATIVE_METHOD(NativeBreakIterator, currentImpl, "(I)I"), + NATIVE_METHOD(NativeBreakIterator, firstImpl, "(I)I"), + NATIVE_METHOD(NativeBreakIterator, followingImpl, "(II)I"), + NATIVE_METHOD(NativeBreakIterator, getCharacterInstanceImpl, "(Ljava/lang/String;)I"), + NATIVE_METHOD(NativeBreakIterator, getLineInstanceImpl, "(Ljava/lang/String;)I"), + NATIVE_METHOD(NativeBreakIterator, getSentenceInstanceImpl, "(Ljava/lang/String;)I"), + NATIVE_METHOD(NativeBreakIterator, getWordInstanceImpl, "(Ljava/lang/String;)I"), + NATIVE_METHOD(NativeBreakIterator, isBoundaryImpl, "(II)Z"), + NATIVE_METHOD(NativeBreakIterator, lastImpl, "(I)I"), + NATIVE_METHOD(NativeBreakIterator, nextImpl, "(II)I"), + NATIVE_METHOD(NativeBreakIterator, precedingImpl, "(II)I"), + NATIVE_METHOD(NativeBreakIterator, previousImpl, "(I)I"), + NATIVE_METHOD(NativeBreakIterator, setTextImpl, "(ILjava/lang/String;)V"), }; int register_com_ibm_icu4jni_text_NativeBreakIterator(JNIEnv* env) { return jniRegisterNativeMethods(env, "com/ibm/icu4jni/text/NativeBreakIterator", diff --git a/luni/src/main/native/NativeCollation.cpp b/luni/src/main/native/NativeCollation.cpp index 868a88f..b2d7013 100644 --- a/luni/src/main/native/NativeCollation.cpp +++ b/luni/src/main/native/NativeCollation.cpp @@ -11,6 +11,7 @@ #include "ErrorCode.h" #include "JNIHelp.h" +#include "JniConstants.h" #include "ScopedJavaUnicodeString.h" #include "ScopedUtfChars.h" #include "UniquePtr.h" @@ -175,26 +176,26 @@ static void NativeCollation_setText(JNIEnv* env, jclass, jint address, jstring s } static JNINativeMethod gMethods[] = { - { "closeCollator", "(I)V", (void*) NativeCollation_closeCollator }, - { "closeElements", "(I)V", (void*) NativeCollation_closeElements }, - { "compare", "(ILjava/lang/String;Ljava/lang/String;)I", (void*) NativeCollation_compare }, - { "getAttribute", "(II)I", (void*) NativeCollation_getAttribute }, - { "getCollationElementIterator", "(ILjava/lang/String;)I", (void*) NativeCollation_getCollationElementIterator }, - { "getMaxExpansion", "(II)I", (void*) NativeCollation_getMaxExpansion }, - { "getNormalization", "(I)I", (void*) NativeCollation_getNormalization }, - { "getOffset", "(I)I", (void*) NativeCollation_getOffset }, - { "getRules", "(I)Ljava/lang/String;", (void*) NativeCollation_getRules }, - { "getSortKey", "(ILjava/lang/String;)[B", (void*) NativeCollation_getSortKey }, - { "next", "(I)I", (void*) NativeCollation_next }, - { "openCollator", "(Ljava/lang/String;)I", (void*) NativeCollation_openCollator }, - { "openCollatorFromRules", "(Ljava/lang/String;II)I", (void*) NativeCollation_openCollatorFromRules }, - { "previous", "(I)I", (void*) NativeCollation_previous }, - { "reset", "(I)V", (void*) NativeCollation_reset }, - { "safeClone", "(I)I", (void*) NativeCollation_safeClone }, - { "setAttribute", "(III)V", (void*) NativeCollation_setAttribute }, - { "setNormalization", "(II)V", (void*) NativeCollation_setNormalization }, - { "setOffset", "(II)V", (void*) NativeCollation_setOffset }, - { "setText", "(ILjava/lang/String;)V", (void*) NativeCollation_setText }, + NATIVE_METHOD(NativeCollation, closeCollator, "(I)V"), + NATIVE_METHOD(NativeCollation, closeElements, "(I)V"), + NATIVE_METHOD(NativeCollation, compare, "(ILjava/lang/String;Ljava/lang/String;)I"), + NATIVE_METHOD(NativeCollation, getAttribute, "(II)I"), + NATIVE_METHOD(NativeCollation, getCollationElementIterator, "(ILjava/lang/String;)I"), + NATIVE_METHOD(NativeCollation, getMaxExpansion, "(II)I"), + NATIVE_METHOD(NativeCollation, getNormalization, "(I)I"), + NATIVE_METHOD(NativeCollation, getOffset, "(I)I"), + NATIVE_METHOD(NativeCollation, getRules, "(I)Ljava/lang/String;"), + NATIVE_METHOD(NativeCollation, getSortKey, "(ILjava/lang/String;)[B"), + NATIVE_METHOD(NativeCollation, next, "(I)I"), + NATIVE_METHOD(NativeCollation, openCollator, "(Ljava/lang/String;)I"), + NATIVE_METHOD(NativeCollation, openCollatorFromRules, "(Ljava/lang/String;II)I"), + NATIVE_METHOD(NativeCollation, previous, "(I)I"), + NATIVE_METHOD(NativeCollation, reset, "(I)V"), + NATIVE_METHOD(NativeCollation, safeClone, "(I)I"), + NATIVE_METHOD(NativeCollation, setAttribute, "(III)V"), + NATIVE_METHOD(NativeCollation, setNormalization, "(II)V"), + NATIVE_METHOD(NativeCollation, setOffset, "(II)V"), + NATIVE_METHOD(NativeCollation, setText, "(ILjava/lang/String;)V"), }; int register_com_ibm_icu4jni_text_NativeCollator(JNIEnv* env) { return jniRegisterNativeMethods(env, "com/ibm/icu4jni/text/NativeCollation", diff --git a/luni/src/main/native/NativeConverter.cpp b/luni/src/main/native/NativeConverter.cpp index f54d546..f76658e 100644 --- a/luni/src/main/native/NativeConverter.cpp +++ b/luni/src/main/native/NativeConverter.cpp @@ -666,25 +666,25 @@ static jobject NativeConverter_charsetForName(JNIEnv* env, jclass, jstring chars } static JNINativeMethod gMethods[] = { - { "canEncode", "(JI)Z", (void*) NativeConverter_canEncode }, - { "charsetForName", "(Ljava/lang/String;)Ljava/nio/charset/Charset;", (void*) NativeConverter_charsetForName }, - { "closeConverter", "(J)V", (void*) NativeConverter_closeConverter }, - { "contains", "(Ljava/lang/String;Ljava/lang/String;)Z", (void*) NativeConverter_contains }, - { "decode", "(J[BI[CI[IZ)I", (void*) NativeConverter_decode }, - { "encode", "(J[CI[BI[IZ)I", (void*) NativeConverter_encode }, - { "flushByteToChar", "(J[CI[I)I", (void*) NativeConverter_flushByteToChar }, - { "flushCharToByte", "(J[BI[I)I", (void*) NativeConverter_flushCharToByte }, - { "getAvailableCharsetNames", "()[Ljava/lang/String;", (void*) NativeConverter_getAvailableCharsetNames }, - { "getAveBytesPerChar", "(J)F", (void*) NativeConverter_getAveBytesPerChar }, - { "getAveCharsPerByte", "(J)F", (void*) NativeConverter_getAveCharsPerByte }, - { "getMaxBytesPerChar", "(J)I", (void*) NativeConverter_getMaxBytesPerChar }, - { "getMinBytesPerChar", "(J)I", (void*) NativeConverter_getMinBytesPerChar }, - { "getSubstitutionBytes", "(J)[B", (void*) NativeConverter_getSubstitutionBytes }, - { "openConverter", "(Ljava/lang/String;)J", (void*) NativeConverter_openConverter }, - { "resetByteToChar", "(J)V", (void*) NativeConverter_resetByteToChar }, - { "resetCharToByte", "(J)V", (void*) NativeConverter_resetCharToByte }, - { "setCallbackDecode", "(JII[C)I", (void*) NativeConverter_setCallbackDecode }, - { "setCallbackEncode", "(JII[B)I", (void*) NativeConverter_setCallbackEncode }, + NATIVE_METHOD(NativeConverter, canEncode, "(JI)Z"), + NATIVE_METHOD(NativeConverter, charsetForName, "(Ljava/lang/String;)Ljava/nio/charset/Charset;"), + NATIVE_METHOD(NativeConverter, closeConverter, "(J)V"), + NATIVE_METHOD(NativeConverter, contains, "(Ljava/lang/String;Ljava/lang/String;)Z"), + NATIVE_METHOD(NativeConverter, decode, "(J[BI[CI[IZ)I"), + NATIVE_METHOD(NativeConverter, encode, "(J[CI[BI[IZ)I"), + NATIVE_METHOD(NativeConverter, flushByteToChar, "(J[CI[I)I"), + NATIVE_METHOD(NativeConverter, flushCharToByte, "(J[BI[I)I"), + NATIVE_METHOD(NativeConverter, getAvailableCharsetNames, "()[Ljava/lang/String;"), + NATIVE_METHOD(NativeConverter, getAveBytesPerChar, "(J)F"), + NATIVE_METHOD(NativeConverter, getAveCharsPerByte, "(J)F"), + NATIVE_METHOD(NativeConverter, getMaxBytesPerChar, "(J)I"), + NATIVE_METHOD(NativeConverter, getMinBytesPerChar, "(J)I"), + NATIVE_METHOD(NativeConverter, getSubstitutionBytes, "(J)[B"), + NATIVE_METHOD(NativeConverter, openConverter, "(Ljava/lang/String;)J"), + NATIVE_METHOD(NativeConverter, resetByteToChar, "(J)V"), + NATIVE_METHOD(NativeConverter, resetCharToByte, "(J)V"), + NATIVE_METHOD(NativeConverter, setCallbackDecode, "(JII[C)I"), + NATIVE_METHOD(NativeConverter, setCallbackEncode, "(JII[B)I"), }; int register_com_ibm_icu4jni_converters_NativeConverter(JNIEnv* env) { return jniRegisterNativeMethods(env, "com/ibm/icu4jni/charset/NativeConverter", diff --git a/luni/src/main/native/NativeCrypto.cpp b/luni/src/main/native/NativeCrypto.cpp index 26be805..e21d8ad 100644 --- a/luni/src/main/native/NativeCrypto.cpp +++ b/luni/src/main/native/NativeCrypto.cpp @@ -851,10 +851,10 @@ static int rsaVerify(const jbyte* msg, unsigned int msgLen, const jbyte* sig, /** * Verifies an RSA signature. */ -static int NativeCrypto_verifysignature(JNIEnv* env, jclass, +static int NativeCrypto_verifySignature(JNIEnv* env, jclass, jbyteArray msg, jbyteArray sig, jstring algorithm, jbyteArray mod, jbyteArray exp) { - JNI_TRACE("NativeCrypto_verifysignature msg=%p sig=%p algorithm=%p mod=%p exp%p", + JNI_TRACE("NativeCrypto_verifySignature msg=%p sig=%p algorithm=%p mod=%p exp%p", msg, sig, algorithm, mod, exp); ScopedByteArrayRO msgBytes(env, msg); @@ -878,7 +878,7 @@ static int NativeCrypto_verifysignature(JNIEnv* env, jclass, if (algorithmChars.c_str() == NULL) { return -1; } - JNI_TRACE("NativeCrypto_verifysignature algorithmChars=%s", algorithmChars.c_str()); + JNI_TRACE("NativeCrypto_verifySignature algorithmChars=%s", algorithmChars.c_str()); Unique_RSA rsa(rsaCreateKey(modBytes.get(), modBytes.size(), expBytes.get(), expBytes.size())); int result = -1; @@ -888,12 +888,12 @@ static int NativeCrypto_verifysignature(JNIEnv* env, jclass, } if (result == -1) { - if (!throwExceptionIfNecessary(env, "NativeCrypto_verifysignature")) { + if (!throwExceptionIfNecessary(env, "NativeCrypto_verifySignature")) { jniThrowRuntimeException(env, "Internal error during verification"); } } - JNI_TRACE("NativeCrypto_verifysignature => %d", result); + JNI_TRACE("NativeCrypto_verifySignature => %d", result); return result; } @@ -1321,8 +1321,8 @@ static int sslSelect(int type, int fd, AppData* appData, int timeout) { int max = fd > appData->fdsEmergency[0] ? fd : appData->fdsEmergency[0]; // Build a struct for the timeout data if we actually want a timeout. - struct timeval tv; - struct timeval *ptv; + timeval tv; + timeval *ptv; if (timeout > 0) { tv.tv_sec = timeout / 1000; tv.tv_usec = 0; @@ -3216,61 +3216,61 @@ static jint NativeCrypto_d2i_SSL_SESSION(JNIEnv* env, jclass, jbyteArray javaByt * (3) pointer to C function. */ static JNINativeMethod sNativeCryptoMethods[] = { - { "clinit", "()V", (void*)NativeCrypto_clinit}, - { "EVP_PKEY_new_DSA", "([B[B[B[B[B)I", (void*)NativeCrypto_EVP_PKEY_new_DSA }, - { "EVP_PKEY_new_RSA", "([B[B[B[B[B)I", (void*)NativeCrypto_EVP_PKEY_new_RSA }, - { "EVP_PKEY_free", "(I)V", (void*)NativeCrypto_EVP_PKEY_free }, - { "EVP_new", "()I", (void*)NativeCrypto_EVP_new }, - { "EVP_free", "(I)V", (void*)NativeCrypto_EVP_free }, - { "EVP_DigestFinal", "(I[BI)I", (void*)NativeCrypto_EVP_DigestFinal }, - { "EVP_DigestInit", "(ILjava/lang/String;)V", (void*)NativeCrypto_EVP_DigestInit }, - { "EVP_DigestBlockSize", "(I)I", (void*)NativeCrypto_EVP_DigestBlockSize }, - { "EVP_DigestSize", "(I)I", (void*)NativeCrypto_EVP_DigestSize }, - { "EVP_DigestUpdate", "(I[BII)V", (void*)NativeCrypto_EVP_DigestUpdate }, - { "EVP_VerifyInit", "(ILjava/lang/String;)V", (void*)NativeCrypto_EVP_VerifyInit }, - { "EVP_VerifyUpdate", "(I[BII)V", (void*)NativeCrypto_EVP_VerifyUpdate }, - { "EVP_VerifyFinal", "(I[BIII)I", (void*)NativeCrypto_EVP_VerifyFinal }, - { "verifySignature", "([B[BLjava/lang/String;[B[B)I", (void*)NativeCrypto_verifysignature}, - { "RAND_seed", "([B)V", (void*)NativeCrypto_RAND_seed }, - { "RAND_load_file", "(Ljava/lang/String;J)I", (void*)NativeCrypto_RAND_load_file }, - { "SSL_CTX_new", "()I", (void*)NativeCrypto_SSL_CTX_new }, - { "SSL_CTX_free", "(I)V", (void*)NativeCrypto_SSL_CTX_free }, - { "SSL_new", "(I)I", (void*)NativeCrypto_SSL_new}, - { "SSL_use_PrivateKey", "(I[B)V", (void*)NativeCrypto_SSL_use_PrivateKey}, - { "SSL_use_certificate", "(I[[B)V", (void*)NativeCrypto_SSL_use_certificate}, - { "SSL_check_private_key","(I)V", (void*)NativeCrypto_SSL_check_private_key}, - { "SSL_set_client_CA_list", "(I[[B)V", (void*)NativeCrypto_SSL_set_client_CA_list}, - { "SSL_get_mode", "(I)J", (void*)NativeCrypto_SSL_get_mode }, - { "SSL_set_mode", "(IJ)J", (void*)NativeCrypto_SSL_set_mode }, - { "SSL_clear_mode", "(IJ)J", (void*)NativeCrypto_SSL_clear_mode }, - { "SSL_get_options", "(I)J", (void*)NativeCrypto_SSL_get_options }, - { "SSL_set_options", "(IJ)J", (void*)NativeCrypto_SSL_set_options }, - { "SSL_clear_options", "(IJ)J", (void*)NativeCrypto_SSL_clear_options }, - { "SSL_set_cipher_lists", "(I[Ljava/lang/String;)V", (void*)NativeCrypto_SSL_set_cipher_lists }, - { "SSL_set_verify", "(II)V", (void*)NativeCrypto_SSL_set_verify}, - { "SSL_set_session", "(II)V", (void*)NativeCrypto_SSL_set_session }, - { "SSL_set_session_creation_enabled", "(IZ)V", (void*)NativeCrypto_SSL_set_session_creation_enabled }, - { "SSL_set_tlsext_host_name", "(ILjava/lang/String;)V", (void*)NativeCrypto_SSL_set_tlsext_host_name }, - { "SSL_get_servername", "(I)Ljava/lang/String;", (void*)NativeCrypto_SSL_get_servername }, - { "SSL_do_handshake", "(ILjava/net/Socket;Lorg/apache/harmony/xnet/provider/jsse/NativeCrypto$SSLHandshakeCallbacks;IZ)I",(void*)NativeCrypto_SSL_do_handshake}, - { "SSL_renegotiate", "(I)V", (void*)NativeCrypto_SSL_renegotiate}, - { "SSL_get_certificate", "(I)[[B", (void*)NativeCrypto_SSL_get_certificate}, - { "SSL_read_byte", "(II)I", (void*)NativeCrypto_SSL_read_byte}, - { "SSL_read", "(I[BIII)I", (void*)NativeCrypto_SSL_read}, - { "SSL_write_byte", "(II)V", (void*)NativeCrypto_SSL_write_byte}, - { "SSL_write", "(I[BII)V", (void*)NativeCrypto_SSL_write}, - { "SSL_interrupt", "(I)V", (void*)NativeCrypto_SSL_interrupt}, - { "SSL_shutdown", "(I)V", (void*)NativeCrypto_SSL_shutdown}, - { "SSL_free", "(I)V", (void*)NativeCrypto_SSL_free}, - { "SSL_SESSION_session_id", "(I)[B", (void*)NativeCrypto_SSL_SESSION_session_id }, - { "SSL_SESSION_get_peer_cert_chain", "(II)[[B", (void*)NativeCrypto_SSL_SESSION_get_peer_cert_chain }, - { "SSL_SESSION_get_time", "(I)J", (void*)NativeCrypto_SSL_SESSION_get_time }, - { "SSL_SESSION_get_version", "(I)Ljava/lang/String;", (void*)NativeCrypto_SSL_SESSION_get_version }, - { "SSL_SESSION_cipher", "(I)Ljava/lang/String;", (void*)NativeCrypto_SSL_SESSION_cipher }, - { "SSL_SESSION_compress_meth", "(II)Ljava/lang/String;", (void*)NativeCrypto_SSL_SESSION_compress_meth }, - { "SSL_SESSION_free", "(I)V", (void*)NativeCrypto_SSL_SESSION_free }, - { "i2d_SSL_SESSION", "(I)[B", (void*)NativeCrypto_i2d_SSL_SESSION }, - { "d2i_SSL_SESSION", "([B)I", (void*)NativeCrypto_d2i_SSL_SESSION }, + NATIVE_METHOD(NativeCrypto, clinit, "()V"), + NATIVE_METHOD(NativeCrypto, EVP_PKEY_new_DSA, "([B[B[B[B[B)I"), + NATIVE_METHOD(NativeCrypto, EVP_PKEY_new_RSA, "([B[B[B[B[B)I"), + NATIVE_METHOD(NativeCrypto, EVP_PKEY_free, "(I)V"), + NATIVE_METHOD(NativeCrypto, EVP_new, "()I"), + NATIVE_METHOD(NativeCrypto, EVP_free, "(I)V"), + NATIVE_METHOD(NativeCrypto, EVP_DigestFinal, "(I[BI)I"), + NATIVE_METHOD(NativeCrypto, EVP_DigestInit, "(ILjava/lang/String;)V"), + NATIVE_METHOD(NativeCrypto, EVP_DigestBlockSize, "(I)I"), + NATIVE_METHOD(NativeCrypto, EVP_DigestSize, "(I)I"), + NATIVE_METHOD(NativeCrypto, EVP_DigestUpdate, "(I[BII)V"), + NATIVE_METHOD(NativeCrypto, EVP_VerifyInit, "(ILjava/lang/String;)V"), + NATIVE_METHOD(NativeCrypto, EVP_VerifyUpdate, "(I[BII)V"), + NATIVE_METHOD(NativeCrypto, EVP_VerifyFinal, "(I[BIII)I"), + NATIVE_METHOD(NativeCrypto, verifySignature, "([B[BLjava/lang/String;[B[B)I"), + NATIVE_METHOD(NativeCrypto, RAND_seed, "([B)V"), + NATIVE_METHOD(NativeCrypto, RAND_load_file, "(Ljava/lang/String;J)I"), + NATIVE_METHOD(NativeCrypto, SSL_CTX_new, "()I"), + NATIVE_METHOD(NativeCrypto, SSL_CTX_free, "(I)V"), + NATIVE_METHOD(NativeCrypto, SSL_new, "(I)I"), + NATIVE_METHOD(NativeCrypto, SSL_use_PrivateKey, "(I[B)V"), + NATIVE_METHOD(NativeCrypto, SSL_use_certificate, "(I[[B)V"), + NATIVE_METHOD(NativeCrypto, SSL_check_private_key, "(I)V"), + NATIVE_METHOD(NativeCrypto, SSL_set_client_CA_list, "(I[[B)V"), + NATIVE_METHOD(NativeCrypto, SSL_get_mode, "(I)J"), + NATIVE_METHOD(NativeCrypto, SSL_set_mode, "(IJ)J"), + NATIVE_METHOD(NativeCrypto, SSL_clear_mode, "(IJ)J"), + NATIVE_METHOD(NativeCrypto, SSL_get_options, "(I)J"), + NATIVE_METHOD(NativeCrypto, SSL_set_options, "(IJ)J"), + NATIVE_METHOD(NativeCrypto, SSL_clear_options, "(IJ)J"), + NATIVE_METHOD(NativeCrypto, SSL_set_cipher_lists, "(I[Ljava/lang/String;)V"), + NATIVE_METHOD(NativeCrypto, SSL_set_verify, "(II)V"), + NATIVE_METHOD(NativeCrypto, SSL_set_session, "(II)V"), + NATIVE_METHOD(NativeCrypto, SSL_set_session_creation_enabled, "(IZ)V"), + NATIVE_METHOD(NativeCrypto, SSL_set_tlsext_host_name, "(ILjava/lang/String;)V"), + NATIVE_METHOD(NativeCrypto, SSL_get_servername, "(I)Ljava/lang/String;"), + NATIVE_METHOD(NativeCrypto, SSL_do_handshake, "(ILjava/net/Socket;Lorg/apache/harmony/xnet/provider/jsse/NativeCrypto$SSLHandshakeCallbacks;IZ)I"), + NATIVE_METHOD(NativeCrypto, SSL_renegotiate, "(I)V"), + NATIVE_METHOD(NativeCrypto, SSL_get_certificate, "(I)[[B"), + NATIVE_METHOD(NativeCrypto, SSL_read_byte, "(II)I"), + NATIVE_METHOD(NativeCrypto, SSL_read, "(I[BIII)I"), + NATIVE_METHOD(NativeCrypto, SSL_write_byte, "(II)V"), + NATIVE_METHOD(NativeCrypto, SSL_write, "(I[BII)V"), + NATIVE_METHOD(NativeCrypto, SSL_interrupt, "(I)V"), + NATIVE_METHOD(NativeCrypto, SSL_shutdown, "(I)V"), + NATIVE_METHOD(NativeCrypto, SSL_free, "(I)V"), + NATIVE_METHOD(NativeCrypto, SSL_SESSION_session_id, "(I)[B"), + NATIVE_METHOD(NativeCrypto, SSL_SESSION_get_peer_cert_chain, "(II)[[B"), + NATIVE_METHOD(NativeCrypto, SSL_SESSION_get_time, "(I)J"), + NATIVE_METHOD(NativeCrypto, SSL_SESSION_get_version, "(I)Ljava/lang/String;"), + NATIVE_METHOD(NativeCrypto, SSL_SESSION_cipher, "(I)Ljava/lang/String;"), + NATIVE_METHOD(NativeCrypto, SSL_SESSION_compress_meth, "(II)Ljava/lang/String;"), + NATIVE_METHOD(NativeCrypto, SSL_SESSION_free, "(I)V"), + NATIVE_METHOD(NativeCrypto, i2d_SSL_SESSION, "(I)[B"), + NATIVE_METHOD(NativeCrypto, d2i_SSL_SESSION, "([B)I"), }; int register_org_apache_harmony_xnet_provider_jsse_NativeCrypto(JNIEnv* env) { diff --git a/luni/src/main/native/NativeDecimalFormat.cpp b/luni/src/main/native/NativeDecimalFormat.cpp index 4a7b821..0352d53 100644 --- a/luni/src/main/native/NativeDecimalFormat.cpp +++ b/luni/src/main/native/NativeDecimalFormat.cpp @@ -329,22 +329,22 @@ static jint NativeDecimalFormat_cloneImpl(JNIEnv*, jclass, jint addr) { } static JNINativeMethod gMethods[] = { - {"applyPatternImpl", "(IZLjava/lang/String;)V", (void*) NativeDecimalFormat_applyPatternImpl}, - {"cloneImpl", "(I)I", (void*) NativeDecimalFormat_cloneImpl}, - {"close", "(I)V", (void*) NativeDecimalFormat_close}, - {"format", "(IDLcom/ibm/icu4jni/text/NativeDecimalFormat$FieldPositionIterator;)Ljava/lang/String;", (void*) NativeDecimalFormat_formatDouble}, - {"format", "(IJLcom/ibm/icu4jni/text/NativeDecimalFormat$FieldPositionIterator;)Ljava/lang/String;", (void*) NativeDecimalFormat_formatLong}, - {"format", "(ILjava/lang/String;Lcom/ibm/icu4jni/text/NativeDecimalFormat$FieldPositionIterator;)Ljava/lang/String;", (void*) NativeDecimalFormat_formatDigitList}, - {"getAttribute", "(II)I", (void*) NativeDecimalFormat_getAttribute}, - {"getTextAttribute", "(II)Ljava/lang/String;", (void*) NativeDecimalFormat_getTextAttribute}, - {"open", "(Ljava/lang/String;Ljava/lang/String;CCCLjava/lang/String;Ljava/lang/String;CCLjava/lang/String;CCCC)I", (void*) NativeDecimalFormat_open}, - {"parse", "(ILjava/lang/String;Ljava/text/ParsePosition;Z)Ljava/lang/Number;", (void*) NativeDecimalFormat_parse}, - {"setAttribute", "(III)V", (void*) NativeDecimalFormat_setAttribute}, - {"setDecimalFormatSymbols", "(ILjava/lang/String;CCCLjava/lang/String;Ljava/lang/String;CCLjava/lang/String;CCCC)V", (void*) NativeDecimalFormat_setDecimalFormatSymbols}, - {"setRoundingMode", "(IID)V", (void*) NativeDecimalFormat_setRoundingMode}, - {"setSymbol", "(IILjava/lang/String;)V", (void*) NativeDecimalFormat_setSymbol}, - {"setTextAttribute", "(IILjava/lang/String;)V", (void*) NativeDecimalFormat_setTextAttribute}, - {"toPatternImpl", "(IZ)Ljava/lang/String;", (void*) NativeDecimalFormat_toPatternImpl}, + NATIVE_METHOD(NativeDecimalFormat, applyPatternImpl, "(IZLjava/lang/String;)V"), + NATIVE_METHOD(NativeDecimalFormat, cloneImpl, "(I)I"), + NATIVE_METHOD(NativeDecimalFormat, close, "(I)V"), + NATIVE_METHOD(NativeDecimalFormat, formatDouble, "(IDLcom/ibm/icu4jni/text/NativeDecimalFormat$FieldPositionIterator;)Ljava/lang/String;"), + NATIVE_METHOD(NativeDecimalFormat, formatLong, "(IJLcom/ibm/icu4jni/text/NativeDecimalFormat$FieldPositionIterator;)Ljava/lang/String;"), + NATIVE_METHOD(NativeDecimalFormat, formatDigitList, "(ILjava/lang/String;Lcom/ibm/icu4jni/text/NativeDecimalFormat$FieldPositionIterator;)Ljava/lang/String;"), + NATIVE_METHOD(NativeDecimalFormat, getAttribute, "(II)I"), + NATIVE_METHOD(NativeDecimalFormat, getTextAttribute, "(II)Ljava/lang/String;"), + NATIVE_METHOD(NativeDecimalFormat, open, "(Ljava/lang/String;Ljava/lang/String;CCCLjava/lang/String;Ljava/lang/String;CCLjava/lang/String;CCCC)I"), + NATIVE_METHOD(NativeDecimalFormat, parse, "(ILjava/lang/String;Ljava/text/ParsePosition;Z)Ljava/lang/Number;"), + NATIVE_METHOD(NativeDecimalFormat, setAttribute, "(III)V"), + NATIVE_METHOD(NativeDecimalFormat, setDecimalFormatSymbols, "(ILjava/lang/String;CCCLjava/lang/String;Ljava/lang/String;CCLjava/lang/String;CCCC)V"), + NATIVE_METHOD(NativeDecimalFormat, setRoundingMode, "(IID)V"), + NATIVE_METHOD(NativeDecimalFormat, setSymbol, "(IILjava/lang/String;)V"), + NATIVE_METHOD(NativeDecimalFormat, setTextAttribute, "(IILjava/lang/String;)V"), + NATIVE_METHOD(NativeDecimalFormat, toPatternImpl, "(IZ)Ljava/lang/String;"), }; int register_com_ibm_icu4jni_text_NativeDecimalFormat(JNIEnv* env) { return jniRegisterNativeMethods(env, "com/ibm/icu4jni/text/NativeDecimalFormat", gMethods, diff --git a/luni/src/main/native/NativeIDN.cpp b/luni/src/main/native/NativeIDN.cpp index c507eaf..118bd7a 100644 --- a/luni/src/main/native/NativeIDN.cpp +++ b/luni/src/main/native/NativeIDN.cpp @@ -18,6 +18,7 @@ #include "ErrorCode.h" #include "JNIHelp.h" +#include "JniConstants.h" #include "ScopedJavaUnicodeString.h" #include "unicode/uidna.h" @@ -59,7 +60,7 @@ static jstring NativeIDN_convertImpl(JNIEnv* env, jclass, jstring s, jint flags, } static JNINativeMethod gMethods[] = { - {"convertImpl", "(Ljava/lang/String;IZ)Ljava/lang/String;", (void*) NativeIDN_convertImpl}, + NATIVE_METHOD(NativeIDN, convertImpl, "(Ljava/lang/String;IZ)Ljava/lang/String;"), }; int register_libcore_icu_NativeIDN(JNIEnv* env) { return jniRegisterNativeMethods(env, "libcore/icu/NativeIDN", gMethods, NELEM(gMethods)); diff --git a/luni/src/main/native/NativeNormalizer.cpp b/luni/src/main/native/NativeNormalizer.cpp index e4afed4..244c5be 100644 --- a/luni/src/main/native/NativeNormalizer.cpp +++ b/luni/src/main/native/NativeNormalizer.cpp @@ -18,6 +18,7 @@ #include "ErrorCode.h" #include "JNIHelp.h" +#include "JniConstants.h" #include "ScopedJavaUnicodeString.h" #include "unicode/normlzr.h" @@ -41,8 +42,8 @@ static jboolean NativeNormalizer_isNormalizedImpl(JNIEnv* env, jclass, jstring s } static JNINativeMethod gMethods[] = { - {"normalizeImpl", "(Ljava/lang/String;I)Ljava/lang/String;", (void*) NativeNormalizer_normalizeImpl}, - {"isNormalizedImpl", "(Ljava/lang/String;I)Z", (void*) NativeNormalizer_isNormalizedImpl}, + NATIVE_METHOD(NativeNormalizer, normalizeImpl, "(Ljava/lang/String;I)Ljava/lang/String;"), + NATIVE_METHOD(NativeNormalizer, isNormalizedImpl, "(Ljava/lang/String;I)Z"), }; int register_libcore_icu_NativeNormalizer(JNIEnv* env) { return jniRegisterNativeMethods(env, "libcore/icu/NativeNormalizer", gMethods, NELEM(gMethods)); diff --git a/luni/src/main/native/NativePluralRules.cpp b/luni/src/main/native/NativePluralRules.cpp index 2e1c635..5a74be9 100644 --- a/luni/src/main/native/NativePluralRules.cpp +++ b/luni/src/main/native/NativePluralRules.cpp @@ -18,6 +18,7 @@ #include "ErrorCode.h" #include "JNIHelp.h" +#include "JniConstants.h" #include "ScopedUtfChars.h" #include "unicode/plurrule.h" @@ -55,9 +56,9 @@ static jint NativePluralRules_quantityForIntImpl(JNIEnv*, jclass, jint address, } static JNINativeMethod gMethods[] = { - {"finalizeImpl", "(I)V", (void*) NativePluralRules_finalizeImpl}, - {"forLocaleImpl", "(Ljava/lang/String;)I", (void*) NativePluralRules_forLocaleImpl}, - {"quantityForIntImpl", "(II)I", (void*) NativePluralRules_quantityForIntImpl}, + NATIVE_METHOD(NativePluralRules, finalizeImpl, "(I)V"), + NATIVE_METHOD(NativePluralRules, forLocaleImpl, "(Ljava/lang/String;)I"), + NATIVE_METHOD(NativePluralRules, quantityForIntImpl, "(II)I"), }; int register_libcore_icu_NativePluralRules(JNIEnv* env) { return jniRegisterNativeMethods(env, "libcore/icu/NativePluralRules", gMethods, NELEM(gMethods)); diff --git a/luni/src/main/native/TimeZones.cpp b/luni/src/main/native/TimeZones.cpp index 2ca9988..dbe351f 100644 --- a/luni/src/main/native/TimeZones.cpp +++ b/luni/src/main/native/TimeZones.cpp @@ -145,9 +145,9 @@ static void TimeZones_getZoneStringsImpl(JNIEnv* env, jclass, jobjectArray outer } static JNINativeMethod gMethods[] = { - {"getDisplayNameImpl", "(Ljava/lang/String;ZILjava/lang/String;)Ljava/lang/String;", (void*) TimeZones_getDisplayNameImpl}, - {"forCountryCode", "(Ljava/lang/String;)[Ljava/lang/String;", (void*) TimeZones_forCountryCode}, - {"getZoneStringsImpl", "([[Ljava/lang/String;Ljava/lang/String;)V", (void*) TimeZones_getZoneStringsImpl}, + NATIVE_METHOD(TimeZones, getDisplayNameImpl, "(Ljava/lang/String;ZILjava/lang/String;)Ljava/lang/String;"), + NATIVE_METHOD(TimeZones, forCountryCode, "(Ljava/lang/String;)[Ljava/lang/String;"), + NATIVE_METHOD(TimeZones, getZoneStringsImpl, "([[Ljava/lang/String;Ljava/lang/String;)V"), }; int register_libcore_icu_TimeZones(JNIEnv* env) { return jniRegisterNativeMethods(env, "libcore/icu/TimeZones", gMethods, NELEM(gMethods)); diff --git a/luni/src/main/native/java_io_Console.cpp b/luni/src/main/native/java_io_Console.cpp index 4d8a5ea..7af5204 100644 --- a/luni/src/main/native/java_io_Console.cpp +++ b/luni/src/main/native/java_io_Console.cpp @@ -18,6 +18,7 @@ #define LOG_TAG "Console" #include "JNIHelp.h" +#include "JniConstants.h" #include <errno.h> #include <termios.h> @@ -27,7 +28,7 @@ static jboolean Console_isatty(JNIEnv*, jclass, jint fd) { return TEMP_FAILURE_RETRY(isatty(fd)); } -static jint Console_setEcho(JNIEnv* env, jclass, jboolean on, jint previousState) { +static jint Console_setEchoImpl(JNIEnv* env, jclass, jboolean on, jint previousState) { termios state; if (TEMP_FAILURE_RETRY(tcgetattr(STDIN_FILENO, &state)) == -1) { jniThrowIOException(env, errno); @@ -47,8 +48,8 @@ static jint Console_setEcho(JNIEnv* env, jclass, jboolean on, jint previousState } static JNINativeMethod gMethods[] = { - { "isatty", "(I)Z", (void*) Console_isatty }, - { "setEchoImpl", "(ZI)I", (void*) Console_setEcho }, + NATIVE_METHOD(Console, isatty, "(I)Z"), + NATIVE_METHOD(Console, setEchoImpl, "(ZI)I"), }; int register_java_io_Console(JNIEnv* env) { return jniRegisterNativeMethods(env, "java/io/Console", gMethods, NELEM(gMethods)); diff --git a/luni/src/main/native/java_io_File.cpp b/luni/src/main/native/java_io_File.cpp index 34d8d40..ed8ba40 100644 --- a/luni/src/main/native/java_io_File.cpp +++ b/luni/src/main/native/java_io_File.cpp @@ -203,7 +203,7 @@ static bool doStatFs(JNIEnv* env, jstring javaPath, struct statfs& sb) { return (rc != -1); } -static jlong File_getFreeSpace(JNIEnv* env, jclass, jstring javaPath) { +static jlong File_getFreeSpaceImpl(JNIEnv* env, jclass, jstring javaPath) { struct statfs sb; if (!doStatFs(env, javaPath, sb)) { return 0; @@ -211,7 +211,7 @@ static jlong File_getFreeSpace(JNIEnv* env, jclass, jstring javaPath) { return sb.f_bfree * sb.f_bsize; // free block count * block size in bytes. } -static jlong File_getTotalSpace(JNIEnv* env, jclass, jstring javaPath) { +static jlong File_getTotalSpaceImpl(JNIEnv* env, jclass, jstring javaPath) { struct statfs sb; if (!doStatFs(env, javaPath, sb)) { return 0; @@ -219,7 +219,7 @@ static jlong File_getTotalSpace(JNIEnv* env, jclass, jstring javaPath) { return sb.f_blocks * sb.f_bsize; // total block count * block size in bytes. } -static jlong File_getUsableSpace(JNIEnv* env, jclass, jstring javaPath) { +static jlong File_getUsableSpaceImpl(JNIEnv* env, jclass, jstring javaPath) { struct statfs sb; if (!doStatFs(env, javaPath, sb)) { return 0; @@ -417,27 +417,27 @@ static jboolean File_renameToImpl(JNIEnv* env, jclass, jstring javaOldPath, jstr } static JNINativeMethod gMethods[] = { - { "canExecuteImpl", "(Ljava/lang/String;)Z", (void*) File_canExecuteImpl }, - { "canReadImpl", "(Ljava/lang/String;)Z", (void*) File_canReadImpl }, - { "canWriteImpl", "(Ljava/lang/String;)Z", (void*) File_canWriteImpl }, - { "createNewFileImpl", "(Ljava/lang/String;)Z", (void*) File_createNewFileImpl }, - { "deleteImpl", "(Ljava/lang/String;)Z", (void*) File_deleteImpl }, - { "existsImpl", "(Ljava/lang/String;)Z", (void*) File_existsImpl }, - { "getFreeSpaceImpl", "(Ljava/lang/String;)J", (void*) File_getFreeSpace }, - { "getTotalSpaceImpl", "(Ljava/lang/String;)J", (void*) File_getTotalSpace }, - { "getUsableSpaceImpl", "(Ljava/lang/String;)J", (void*) File_getUsableSpace }, - { "isDirectoryImpl", "(Ljava/lang/String;)Z", (void*) File_isDirectoryImpl }, - { "isFileImpl", "(Ljava/lang/String;)Z", (void*) File_isFileImpl }, - { "lastModifiedImpl", "(Ljava/lang/String;)J", (void*) File_lastModifiedImpl }, - { "lengthImpl", "(Ljava/lang/String;)J", (void*) File_lengthImpl }, - { "listImpl", "(Ljava/lang/String;)[Ljava/lang/String;", (void*) File_listImpl }, - { "mkdirImpl", "(Ljava/lang/String;)Z", (void*) File_mkdirImpl }, - { "readlink", "(Ljava/lang/String;)Ljava/lang/String;", (void*) File_readlink }, - { "renameToImpl", "(Ljava/lang/String;Ljava/lang/String;)Z", (void*) File_renameToImpl }, - { "setExecutableImpl", "(Ljava/lang/String;ZZ)Z", (void*) File_setExecutableImpl }, - { "setLastModifiedImpl","(Ljava/lang/String;J)Z", (void*) File_setLastModifiedImpl }, - { "setReadableImpl", "(Ljava/lang/String;ZZ)Z", (void*) File_setReadableImpl }, - { "setWritableImpl", "(Ljava/lang/String;ZZ)Z", (void*) File_setWritableImpl }, + NATIVE_METHOD(File, canExecuteImpl, "(Ljava/lang/String;)Z"), + NATIVE_METHOD(File, canReadImpl, "(Ljava/lang/String;)Z"), + NATIVE_METHOD(File, canWriteImpl, "(Ljava/lang/String;)Z"), + NATIVE_METHOD(File, createNewFileImpl, "(Ljava/lang/String;)Z"), + NATIVE_METHOD(File, deleteImpl, "(Ljava/lang/String;)Z"), + NATIVE_METHOD(File, existsImpl, "(Ljava/lang/String;)Z"), + NATIVE_METHOD(File, getFreeSpaceImpl, "(Ljava/lang/String;)J"), + NATIVE_METHOD(File, getTotalSpaceImpl, "(Ljava/lang/String;)J"), + NATIVE_METHOD(File, getUsableSpaceImpl, "(Ljava/lang/String;)J"), + NATIVE_METHOD(File, isDirectoryImpl, "(Ljava/lang/String;)Z"), + NATIVE_METHOD(File, isFileImpl, "(Ljava/lang/String;)Z"), + NATIVE_METHOD(File, lastModifiedImpl, "(Ljava/lang/String;)J"), + NATIVE_METHOD(File, lengthImpl, "(Ljava/lang/String;)J"), + NATIVE_METHOD(File, listImpl, "(Ljava/lang/String;)[Ljava/lang/String;"), + NATIVE_METHOD(File, mkdirImpl, "(Ljava/lang/String;)Z"), + NATIVE_METHOD(File, readlink, "(Ljava/lang/String;)Ljava/lang/String;"), + NATIVE_METHOD(File, renameToImpl, "(Ljava/lang/String;Ljava/lang/String;)Z"), + NATIVE_METHOD(File, setExecutableImpl, "(Ljava/lang/String;ZZ)Z"), + NATIVE_METHOD(File, setLastModifiedImpl, "(Ljava/lang/String;J)Z"), + NATIVE_METHOD(File, setReadableImpl, "(Ljava/lang/String;ZZ)Z"), + NATIVE_METHOD(File, setWritableImpl, "(Ljava/lang/String;ZZ)Z"), }; int register_java_io_File(JNIEnv* env) { return jniRegisterNativeMethods(env, "java/io/File", gMethods, NELEM(gMethods)); diff --git a/luni/src/main/native/java_io_FileDescriptor.cpp b/luni/src/main/native/java_io_FileDescriptor.cpp index a0bdf89..c70f905 100644 --- a/luni/src/main/native/java_io_FileDescriptor.cpp +++ b/luni/src/main/native/java_io_FileDescriptor.cpp @@ -18,6 +18,7 @@ #define LOG_TAG "FileDescriptor" #include "JNIHelp.h" +#include "JniConstants.h" #include <errno.h> #include <unistd.h> @@ -41,7 +42,7 @@ static void FileDescriptor_syncImpl(JNIEnv* env, jobject obj) { } static JNINativeMethod gMethods[] = { - { "syncImpl", "()V", (void*) FileDescriptor_syncImpl } + NATIVE_METHOD(FileDescriptor, syncImpl, "()V"), }; int register_java_io_FileDescriptor(JNIEnv* env) { return jniRegisterNativeMethods(env, "java/io/FileDescriptor", gMethods, NELEM(gMethods)); diff --git a/luni/src/main/native/java_io_ObjectInputStream.cpp b/luni/src/main/native/java_io_ObjectInputStream.cpp index e88f384..1dd2f89 100644 --- a/luni/src/main/native/java_io_ObjectInputStream.cpp +++ b/luni/src/main/native/java_io_ObjectInputStream.cpp @@ -18,6 +18,7 @@ #define LOG_TAG "ObjectInputStream" #include "JNIHelp.h" +#include "JniConstants.h" #include "ScopedUtfChars.h" #define SETTER(FUNCTION_NAME, JNI_C_TYPE, JNI_TYPE_STRING, JNI_SETTER_FUNCTION) \ @@ -45,7 +46,7 @@ SETTER(ObjectInputStream_setFieldInt, jint, "I", SetIntField) SETTER(ObjectInputStream_setFieldLong, jlong, "J", SetLongField) SETTER(ObjectInputStream_setFieldShort, jshort, "S", SetShortField) -static void ObjectInputStream_setFieldObj(JNIEnv* env, jclass, jobject instance, +static void ObjectInputStream_setFieldObject(JNIEnv* env, jclass, jobject instance, jclass declaringClass, jstring javaFieldName, jstring javaFieldTypeName, jobject newValue) { if (instance == NULL) { return; @@ -74,16 +75,16 @@ static jobject ObjectInputStream_newInstance(JNIEnv* env, jclass, } static JNINativeMethod gMethods[] = { - { "newInstance", "(Ljava/lang/Class;Ljava/lang/Class;)Ljava/lang/Object;", (void*) ObjectInputStream_newInstance }, - { "objSetField", "(Ljava/lang/Object;Ljava/lang/Class;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;)V", (void*) ObjectInputStream_setFieldObj }, - { "setField", "(Ljava/lang/Object;Ljava/lang/Class;Ljava/lang/String;B)V", (void*) ObjectInputStream_setFieldByte }, - { "setField", "(Ljava/lang/Object;Ljava/lang/Class;Ljava/lang/String;C)V", (void*) ObjectInputStream_setFieldChar }, - { "setField", "(Ljava/lang/Object;Ljava/lang/Class;Ljava/lang/String;D)V", (void*) ObjectInputStream_setFieldDouble }, - { "setField", "(Ljava/lang/Object;Ljava/lang/Class;Ljava/lang/String;F)V", (void*) ObjectInputStream_setFieldFloat }, - { "setField", "(Ljava/lang/Object;Ljava/lang/Class;Ljava/lang/String;I)V", (void*) ObjectInputStream_setFieldInt }, - { "setField", "(Ljava/lang/Object;Ljava/lang/Class;Ljava/lang/String;J)V", (void*) ObjectInputStream_setFieldLong }, - { "setField", "(Ljava/lang/Object;Ljava/lang/Class;Ljava/lang/String;S)V", (void*) ObjectInputStream_setFieldShort }, - { "setField", "(Ljava/lang/Object;Ljava/lang/Class;Ljava/lang/String;Z)V", (void*) ObjectInputStream_setFieldBool }, + NATIVE_METHOD(ObjectInputStream, newInstance, "(Ljava/lang/Class;Ljava/lang/Class;)Ljava/lang/Object;"), + NATIVE_METHOD(ObjectInputStream, setFieldObject, "(Ljava/lang/Object;Ljava/lang/Class;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;)V"), + NATIVE_METHOD(ObjectInputStream, setFieldByte, "(Ljava/lang/Object;Ljava/lang/Class;Ljava/lang/String;B)V"), + NATIVE_METHOD(ObjectInputStream, setFieldChar, "(Ljava/lang/Object;Ljava/lang/Class;Ljava/lang/String;C)V"), + NATIVE_METHOD(ObjectInputStream, setFieldDouble, "(Ljava/lang/Object;Ljava/lang/Class;Ljava/lang/String;D)V"), + NATIVE_METHOD(ObjectInputStream, setFieldFloat, "(Ljava/lang/Object;Ljava/lang/Class;Ljava/lang/String;F)V"), + NATIVE_METHOD(ObjectInputStream, setFieldInt, "(Ljava/lang/Object;Ljava/lang/Class;Ljava/lang/String;I)V"), + NATIVE_METHOD(ObjectInputStream, setFieldLong, "(Ljava/lang/Object;Ljava/lang/Class;Ljava/lang/String;J)V"), + NATIVE_METHOD(ObjectInputStream, setFieldShort, "(Ljava/lang/Object;Ljava/lang/Class;Ljava/lang/String;S)V"), + NATIVE_METHOD(ObjectInputStream, setFieldBool, "(Ljava/lang/Object;Ljava/lang/Class;Ljava/lang/String;Z)V"), }; int register_java_io_ObjectInputStream(JNIEnv* env) { return jniRegisterNativeMethods(env, "java/io/ObjectInputStream", gMethods, NELEM(gMethods)); diff --git a/luni/src/main/native/java_io_ObjectOutputStream.cpp b/luni/src/main/native/java_io_ObjectOutputStream.cpp index c4de575..e99f9b2 100644 --- a/luni/src/main/native/java_io_ObjectOutputStream.cpp +++ b/luni/src/main/native/java_io_ObjectOutputStream.cpp @@ -18,6 +18,7 @@ #define LOG_TAG "ObjectOutputStream" #include "JNIHelp.h" +#include "JniConstants.h" #include "ScopedUtfChars.h" #define GETTER(FUNCTION_NAME, JNI_C_TYPE, JNI_TYPE_STRING, JNI_GETTER_FUNCTION) \ @@ -64,15 +65,15 @@ static jobject ObjectOutputStream_getFieldObj(JNIEnv* env, jclass, jobject insta } static JNINativeMethod gMethods[] = { - { "getFieldBool", "(Ljava/lang/Object;Ljava/lang/Class;Ljava/lang/String;)Z", (void*) ObjectOutputStream_getFieldBool }, - { "getFieldByte", "(Ljava/lang/Object;Ljava/lang/Class;Ljava/lang/String;)B", (void*) ObjectOutputStream_getFieldByte }, - { "getFieldChar", "(Ljava/lang/Object;Ljava/lang/Class;Ljava/lang/String;)C", (void*) ObjectOutputStream_getFieldChar }, - { "getFieldDouble", "(Ljava/lang/Object;Ljava/lang/Class;Ljava/lang/String;)D", (void*) ObjectOutputStream_getFieldDouble }, - { "getFieldFloat", "(Ljava/lang/Object;Ljava/lang/Class;Ljava/lang/String;)F", (void*) ObjectOutputStream_getFieldFloat }, - { "getFieldInt", "(Ljava/lang/Object;Ljava/lang/Class;Ljava/lang/String;)I", (void*) ObjectOutputStream_getFieldInt }, - { "getFieldLong", "(Ljava/lang/Object;Ljava/lang/Class;Ljava/lang/String;)J", (void*) ObjectOutputStream_getFieldLong }, - { "getFieldObj", "(Ljava/lang/Object;Ljava/lang/Class;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/Object;", (void*) ObjectOutputStream_getFieldObj }, - { "getFieldShort", "(Ljava/lang/Object;Ljava/lang/Class;Ljava/lang/String;)S", (void*) ObjectOutputStream_getFieldShort }, + NATIVE_METHOD(ObjectOutputStream, getFieldBool, "(Ljava/lang/Object;Ljava/lang/Class;Ljava/lang/String;)Z"), + NATIVE_METHOD(ObjectOutputStream, getFieldByte, "(Ljava/lang/Object;Ljava/lang/Class;Ljava/lang/String;)B"), + NATIVE_METHOD(ObjectOutputStream, getFieldChar, "(Ljava/lang/Object;Ljava/lang/Class;Ljava/lang/String;)C"), + NATIVE_METHOD(ObjectOutputStream, getFieldDouble, "(Ljava/lang/Object;Ljava/lang/Class;Ljava/lang/String;)D"), + NATIVE_METHOD(ObjectOutputStream, getFieldFloat, "(Ljava/lang/Object;Ljava/lang/Class;Ljava/lang/String;)F"), + NATIVE_METHOD(ObjectOutputStream, getFieldInt, "(Ljava/lang/Object;Ljava/lang/Class;Ljava/lang/String;)I"), + NATIVE_METHOD(ObjectOutputStream, getFieldLong, "(Ljava/lang/Object;Ljava/lang/Class;Ljava/lang/String;)J"), + NATIVE_METHOD(ObjectOutputStream, getFieldObj, "(Ljava/lang/Object;Ljava/lang/Class;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/Object;"), + NATIVE_METHOD(ObjectOutputStream, getFieldShort, "(Ljava/lang/Object;Ljava/lang/Class;Ljava/lang/String;)S"), }; int register_java_io_ObjectOutputStream(JNIEnv* env) { return jniRegisterNativeMethods(env, "java/io/ObjectOutputStream", gMethods, NELEM(gMethods)); diff --git a/luni/src/main/native/java_io_ObjectStreamClass.cpp b/luni/src/main/native/java_io_ObjectStreamClass.cpp index 3799f3a..c131d4f 100644 --- a/luni/src/main/native/java_io_ObjectStreamClass.cpp +++ b/luni/src/main/native/java_io_ObjectStreamClass.cpp @@ -48,10 +48,10 @@ static jboolean ObjectStreamClass_hasClinit(JNIEnv * env, jclass, jclass targetC } static JNINativeMethod gMethods[] = { - { "getConstructorSignature", "(Ljava/lang/reflect/Constructor;)Ljava/lang/String;", (void*) ObjectStreamClass_getConstructorSignature }, - { "getFieldSignature", "(Ljava/lang/reflect/Field;)Ljava/lang/String;", (void*) ObjectStreamClass_getFieldSignature }, - { "getMethodSignature", "(Ljava/lang/reflect/Method;)Ljava/lang/String;", (void*) ObjectStreamClass_getMethodSignature }, - { "hasClinit", "(Ljava/lang/Class;)Z", (void*) ObjectStreamClass_hasClinit }, + NATIVE_METHOD(ObjectStreamClass, getConstructorSignature, "(Ljava/lang/reflect/Constructor;)Ljava/lang/String;"), + NATIVE_METHOD(ObjectStreamClass, getFieldSignature, "(Ljava/lang/reflect/Field;)Ljava/lang/String;"), + NATIVE_METHOD(ObjectStreamClass, getMethodSignature, "(Ljava/lang/reflect/Method;)Ljava/lang/String;"), + NATIVE_METHOD(ObjectStreamClass, hasClinit, "(Ljava/lang/Class;)Z"), }; int register_java_io_ObjectStreamClass(JNIEnv* env) { return jniRegisterNativeMethods(env, "java/io/ObjectStreamClass", gMethods, NELEM(gMethods)); diff --git a/luni/src/main/native/java_lang_Character.cpp b/luni/src/main/native/java_lang_Character.cpp index b2563e4..d433269 100644 --- a/luni/src/main/native/java_lang_Character.cpp +++ b/luni/src/main/native/java_lang_Character.cpp @@ -17,6 +17,7 @@ #define LOG_TAG "Character" #include "JNIHelp.h" +#include "JniConstants.h" #include "ScopedUtfChars.h" #include "unicode/uchar.h" #include <math.h> @@ -151,28 +152,28 @@ static int Character_ofImpl(JNIEnv*, jclass, jint codePoint) { } static JNINativeMethod gMethods[] = { - { "digitImpl", "(II)I", (void*) Character_digitImpl }, - { "forNameImpl", "(Ljava/lang/String;)I", (void*) Character_forNameImpl }, - { "getDirectionalityImpl", "(I)B", (void*) Character_getDirectionalityImpl }, - { "getNumericValueImpl", "(I)I", (void*) Character_getNumericValueImpl }, - { "getTypeImpl", "(I)I", (void*) Character_getTypeImpl }, - { "isDefinedImpl", "(I)Z", (void*) Character_isDefinedImpl }, - { "isDigitImpl", "(I)Z", (void*) Character_isDigitImpl }, - { "isIdentifierIgnorableImpl", "(I)Z", (void*) Character_isIdentifierIgnorableImpl }, - { "isLetterImpl", "(I)Z", (void*) Character_isLetterImpl }, - { "isLetterOrDigitImpl", "(I)Z", (void*) Character_isLetterOrDigitImpl }, - { "isLowerCaseImpl", "(I)Z", (void*) Character_isLowerCaseImpl }, - { "isMirroredImpl", "(I)Z", (void*) Character_isMirroredImpl }, - { "isSpaceCharImpl", "(I)Z", (void*) Character_isSpaceCharImpl }, - { "isTitleCaseImpl", "(I)Z", (void*) Character_isTitleCaseImpl }, - { "isUnicodeIdentifierPartImpl", "(I)Z", (void*) Character_isUnicodeIdentifierPartImpl }, - { "isUnicodeIdentifierStartImpl", "(I)Z", (void*) Character_isUnicodeIdentifierStartImpl }, - { "isUpperCaseImpl", "(I)Z", (void*) Character_isUpperCaseImpl }, - { "isWhitespaceImpl", "(I)Z", (void*) Character_isWhitespaceImpl }, - { "ofImpl", "(I)I", (void*) Character_ofImpl }, - { "toLowerCaseImpl", "(I)I", (void*) Character_toLowerCaseImpl }, - { "toTitleCaseImpl", "(I)I", (void*) Character_toTitleCaseImpl }, - { "toUpperCaseImpl", "(I)I", (void*) Character_toUpperCaseImpl }, + NATIVE_METHOD(Character, digitImpl, "(II)I"), + NATIVE_METHOD(Character, forNameImpl, "(Ljava/lang/String;)I"), + NATIVE_METHOD(Character, getDirectionalityImpl, "(I)B"), + NATIVE_METHOD(Character, getNumericValueImpl, "(I)I"), + NATIVE_METHOD(Character, getTypeImpl, "(I)I"), + NATIVE_METHOD(Character, isDefinedImpl, "(I)Z"), + NATIVE_METHOD(Character, isDigitImpl, "(I)Z"), + NATIVE_METHOD(Character, isIdentifierIgnorableImpl, "(I)Z"), + NATIVE_METHOD(Character, isLetterImpl, "(I)Z"), + NATIVE_METHOD(Character, isLetterOrDigitImpl, "(I)Z"), + NATIVE_METHOD(Character, isLowerCaseImpl, "(I)Z"), + NATIVE_METHOD(Character, isMirroredImpl, "(I)Z"), + NATIVE_METHOD(Character, isSpaceCharImpl, "(I)Z"), + NATIVE_METHOD(Character, isTitleCaseImpl, "(I)Z"), + NATIVE_METHOD(Character, isUnicodeIdentifierPartImpl, "(I)Z"), + NATIVE_METHOD(Character, isUnicodeIdentifierStartImpl, "(I)Z"), + NATIVE_METHOD(Character, isUpperCaseImpl, "(I)Z"), + NATIVE_METHOD(Character, isWhitespaceImpl, "(I)Z"), + NATIVE_METHOD(Character, ofImpl, "(I)I"), + NATIVE_METHOD(Character, toLowerCaseImpl, "(I)I"), + NATIVE_METHOD(Character, toTitleCaseImpl, "(I)I"), + NATIVE_METHOD(Character, toUpperCaseImpl, "(I)I"), }; int register_java_lang_Character(JNIEnv* env) { return jniRegisterNativeMethods(env, "java/lang/Character", gMethods, NELEM(gMethods)); diff --git a/luni/src/main/native/java_lang_Double.cpp b/luni/src/main/native/java_lang_Double.cpp index b8db38a..259be30 100644 --- a/luni/src/main/native/java_lang_Double.cpp +++ b/luni/src/main/native/java_lang_Double.cpp @@ -17,6 +17,7 @@ #define LOG_TAG "Double" #include "JNIHelp.h" +#include "JniConstants.h" #include <math.h> #include <stdlib.h> @@ -50,9 +51,9 @@ static jdouble Double_longBitsToDouble(JNIEnv*, jclass, jlong val) { } static JNINativeMethod gMethods[] = { - { "doubleToLongBits", "(D)J", (void*)Double_doubleToLongBits }, - { "doubleToRawLongBits", "(D)J", (void*)Double_doubleToRawLongBits }, - { "longBitsToDouble", "(J)D", (void*)Double_longBitsToDouble }, + NATIVE_METHOD(Double, doubleToLongBits, "(D)J"), + NATIVE_METHOD(Double, doubleToRawLongBits, "(D)J"), + NATIVE_METHOD(Double, longBitsToDouble, "(J)D"), }; int register_java_lang_Double(JNIEnv* env) { return jniRegisterNativeMethods(env, "java/lang/Double", gMethods, NELEM(gMethods)); diff --git a/luni/src/main/native/java_lang_Float.cpp b/luni/src/main/native/java_lang_Float.cpp index f2838a5..59544db 100644 --- a/luni/src/main/native/java_lang_Float.cpp +++ b/luni/src/main/native/java_lang_Float.cpp @@ -17,6 +17,7 @@ #define LOG_TAG "Float" #include "JNIHelp.h" +#include "JniConstants.h" #include <math.h> #include <stdlib.h> @@ -36,7 +37,7 @@ static jint Float_floatToIntBits(JNIEnv*, jclass, jfloat val) { return isnanf(f.f) ? NaN : f.bits; } -jint Float_floatToRawBits(JNIEnv*, jclass, jfloat val) { +jint Float_floatToRawIntBits(JNIEnv*, jclass, jfloat val) { Float f; f.f = val; return f.bits; @@ -49,9 +50,9 @@ jfloat Float_intBitsToFloat(JNIEnv*, jclass, jint val) { } static JNINativeMethod gMethods[] = { - { "floatToIntBits", "(F)I", (void*)Float_floatToIntBits }, - { "floatToRawIntBits", "(F)I", (void*)Float_floatToRawBits }, - { "intBitsToFloat", "(I)F", (void*)Float_intBitsToFloat }, + NATIVE_METHOD(Float, floatToIntBits, "(F)I"), + NATIVE_METHOD(Float, floatToRawIntBits, "(F)I"), + NATIVE_METHOD(Float, intBitsToFloat, "(I)F"), }; int register_java_lang_Float(JNIEnv* env) { return jniRegisterNativeMethods(env, "java/lang/Float", gMethods, NELEM(gMethods)); diff --git a/luni/src/main/native/java_lang_Math.cpp b/luni/src/main/native/java_lang_Math.cpp index 42be565..2bd21e7 100644 --- a/luni/src/main/native/java_lang_Math.cpp +++ b/luni/src/main/native/java_lang_Math.cpp @@ -18,6 +18,7 @@ #include "jni.h" #include "JNIHelp.h" +#include "JniConstants.h" #include <stdlib.h> #include <math.h> @@ -122,44 +123,44 @@ static jfloat Math_nextafterf(JNIEnv*, jclass, jfloat a, jfloat b) { return nextafterf(a, b); } -static jdouble Math_copySign(JNIEnv*, jclass, jdouble a, jdouble b) { +static jdouble Math_copysign(JNIEnv*, jclass, jdouble a, jdouble b) { // Our StrictMath.copySign delegates to Math.copySign, so we need to treat NaN as positive. return copysign(a, isnan(b) ? 1.0 : b); } -static jfloat Math_copySign_f(JNIEnv*, jclass, jfloat a, jfloat b) { +static jfloat Math_copysignf(JNIEnv*, jclass, jfloat a, jfloat b) { // Our StrictMath.copySign delegates to Math.copySign, so we need to treat NaN as positive. return copysignf(a, isnan(b) ? 1.0 : b); } static JNINativeMethod gMethods[] = { - { "IEEEremainder", "(DD)D", (void*) Math_IEEEremainder }, - { "acos", "(D)D", (void*) Math_acos }, - { "asin", "(D)D", (void*) Math_asin }, - { "atan", "(D)D", (void*) Math_atan }, - { "atan2", "(DD)D", (void*) Math_atan2 }, - { "cbrt", "(D)D", (void*) Math_cbrt }, - { "ceil", "(D)D", (void*) Math_ceil }, - { "copySign", "(DD)D", (void*) Math_copySign }, - { "copySign", "(FF)F", (void*) Math_copySign_f }, - { "cos", "(D)D", (void*) Math_cos }, - { "cosh", "(D)D", (void*) Math_cosh }, - { "exp", "(D)D", (void*) Math_exp }, - { "expm1", "(D)D", (void*) Math_expm1 }, - { "floor", "(D)D", (void*) Math_floor }, - { "hypot", "(DD)D", (void*) Math_hypot }, - { "log", "(D)D", (void*) Math_log }, - { "log10", "(D)D", (void*) Math_log10 }, - { "log1p", "(D)D", (void*) Math_log1p }, - { "nextafter", "(DD)D", (void*) Math_nextafter }, - { "nextafterf", "(FF)F", (void*) Math_nextafterf }, - { "pow", "(DD)D", (void*) Math_pow }, - { "rint", "(D)D", (void*) Math_rint }, - { "sin", "(D)D", (void*) Math_sin }, - { "sinh", "(D)D", (void*) Math_sinh }, - { "sqrt", "(D)D", (void*) Math_sqrt }, - { "tan", "(D)D", (void*) Math_tan }, - { "tanh", "(D)D", (void*) Math_tanh }, + NATIVE_METHOD(Math, IEEEremainder, "(DD)D"), + NATIVE_METHOD(Math, acos, "(D)D"), + NATIVE_METHOD(Math, asin, "(D)D"), + NATIVE_METHOD(Math, atan, "(D)D"), + NATIVE_METHOD(Math, atan2, "(DD)D"), + NATIVE_METHOD(Math, cbrt, "(D)D"), + NATIVE_METHOD(Math, ceil, "(D)D"), + NATIVE_METHOD(Math, copysign, "(DD)D"), + NATIVE_METHOD(Math, copysignf, "(FF)F"), + NATIVE_METHOD(Math, cos, "(D)D"), + NATIVE_METHOD(Math, cosh, "(D)D"), + NATIVE_METHOD(Math, exp, "(D)D"), + NATIVE_METHOD(Math, expm1, "(D)D"), + NATIVE_METHOD(Math, floor, "(D)D"), + NATIVE_METHOD(Math, hypot, "(DD)D"), + NATIVE_METHOD(Math, log, "(D)D"), + NATIVE_METHOD(Math, log10, "(D)D"), + NATIVE_METHOD(Math, log1p, "(D)D"), + NATIVE_METHOD(Math, nextafter, "(DD)D"), + NATIVE_METHOD(Math, nextafterf, "(FF)F"), + NATIVE_METHOD(Math, pow, "(DD)D"), + NATIVE_METHOD(Math, rint, "(D)D"), + NATIVE_METHOD(Math, sin, "(D)D"), + NATIVE_METHOD(Math, sinh, "(D)D"), + NATIVE_METHOD(Math, sqrt, "(D)D"), + NATIVE_METHOD(Math, tan, "(D)D"), + NATIVE_METHOD(Math, tanh, "(D)D"), }; int register_java_lang_Math(JNIEnv* env) { diff --git a/luni/src/main/native/java_lang_ProcessManager.cpp b/luni/src/main/native/java_lang_ProcessManager.cpp index 00a7193..386b5f3 100644 --- a/luni/src/main/native/java_lang_ProcessManager.cpp +++ b/luni/src/main/native/java_lang_ProcessManager.cpp @@ -138,7 +138,7 @@ static void ProcessManager_watchChildren(JNIEnv* env, jobject o) { /** Close all open fds > 2 (i.e. everything but stdin/out/err), != skipFd. */ static void closeNonStandardFds(int skipFd) { // TODO: rather than close all these non-open files, we could look in /proc/self/fd. - struct rlimit rlimit; + rlimit rlimit; getrlimit(RLIMIT_NOFILE, &rlimit); const int max_fd = rlimit.rlim_max; for (int fd = 3; fd < max_fd; ++fd) { @@ -385,11 +385,10 @@ static void ProcessManager_staticInitialize(JNIEnv* env, } static JNINativeMethod methods[] = { - { "kill", "(I)V", (void*) ProcessManager_kill }, - { "staticInitialize", "()V", (void*) ProcessManager_staticInitialize }, - { "watchChildren", "()V", (void*) ProcessManager_watchChildren }, - { "exec", "([Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;Ljava/io/FileDescriptor;Ljava/io/FileDescriptor;Ljava/io/FileDescriptor;Z)I", - (void*) ProcessManager_exec }, + NATIVE_METHOD(ProcessManager, kill, "(I)V"), + NATIVE_METHOD(ProcessManager, staticInitialize, "()V"), + NATIVE_METHOD(ProcessManager, watchChildren, "()V"), + NATIVE_METHOD(ProcessManager, exec, "([Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;Ljava/io/FileDescriptor;Ljava/io/FileDescriptor;Ljava/io/FileDescriptor;Z)I"), }; int register_java_lang_ProcessManager(JNIEnv* env) { return jniRegisterNativeMethods(env, "java/lang/ProcessManager", methods, NELEM(methods)); diff --git a/luni/src/main/native/java_lang_StrictMath.cpp b/luni/src/main/native/java_lang_StrictMath.cpp index d73185b..c2db6fc 100644 --- a/luni/src/main/native/java_lang_StrictMath.cpp +++ b/luni/src/main/native/java_lang_StrictMath.cpp @@ -18,6 +18,7 @@ #include "jni.h" #include "JNIHelp.h" +#include "JniConstants.h" #include <stdlib.h> /* This static way is the "best" way to integrate fdlibm without a conflict @@ -65,7 +66,7 @@ static jdouble StrictMath_log(JNIEnv*, jclass, jdouble a) { return ieee_log(a); } -static jdouble StrictMath_sqrt2(JNIEnv*, jclass, jdouble a) { +static jdouble StrictMath_sqrt(JNIEnv*, jclass, jdouble a) { return ieee_sqrt(a); } @@ -129,14 +130,14 @@ static jdouble StrictMath_nextafter(JNIEnv*, jclass, jdouble a, jdouble b) { return ieee_nextafter(a, b); } -extern jint Float_floatToRawBits(JNIEnv*, jclass, jfloat); +extern jint Float_floatToRawIntBits(JNIEnv*, jclass, jfloat); extern jfloat Float_intBitsToFloat(JNIEnv*, jclass, jint val); // TODO: we should make Float.floatToRawBits and Float.intBitsToFloat intrinsics, and move // this kind of code into Java. static jfloat StrictMath_nextafterf(JNIEnv*, jclass, jfloat arg1, jfloat arg2) { - jint hx = Float_floatToRawBits(NULL, NULL, arg1); - jint hy = Float_floatToRawBits(NULL, NULL, arg2); + jint hx = Float_floatToRawIntBits(NULL, NULL, arg1); + jint hy = Float_floatToRawIntBits(NULL, NULL, arg2); if (!(hx & 0x7fffffff)) { /* arg1 == 0 */ return Float_intBitsToFloat(NULL, NULL, (hy & 0x80000000) | 0x1); @@ -151,31 +152,31 @@ static jfloat StrictMath_nextafterf(JNIEnv*, jclass, jfloat arg1, jfloat arg2) { } static JNINativeMethod gMethods[] = { - { "IEEEremainder", "(DD)D", (void*)StrictMath_IEEEremainder }, - { "acos", "(D)D", (void*)StrictMath_acos }, - { "asin", "(D)D", (void*)StrictMath_asin }, - { "atan", "(D)D", (void*)StrictMath_atan }, - { "atan2", "(DD)D", (void*)StrictMath_atan2 }, - { "cbrt", "(D)D", (void*)StrictMath_cbrt }, - { "ceil", "(D)D", (void*)StrictMath_ceil }, - { "cos", "(D)D", (void*)StrictMath_cos }, - { "cosh", "(D)D", (void*)StrictMath_cosh }, - { "exp", "(D)D", (void*)StrictMath_exp }, - { "expm1", "(D)D", (void*)StrictMath_expm1 }, - { "floor", "(D)D", (void*)StrictMath_floor }, - { "hypot", "(DD)D", (void*)StrictMath_hypot }, - { "log", "(D)D", (void*)StrictMath_log }, - { "log10", "(D)D", (void*)StrictMath_log10 }, - { "log1p", "(D)D", (void*)StrictMath_log1p }, - { "nextafter", "(DD)D", (void*)StrictMath_nextafter }, - { "nextafterf", "(FF)F", (void*)StrictMath_nextafterf }, - { "pow", "(DD)D", (void*)StrictMath_pow }, - { "rint", "(D)D", (void*)StrictMath_rint }, - { "sin", "(D)D", (void*)StrictMath_sin }, - { "sinh", "(D)D", (void*)StrictMath_sinh }, - { "sqrt", "(D)D", (void*)StrictMath_sqrt2 }, - { "tan", "(D)D", (void*)StrictMath_tan }, - { "tanh", "(D)D", (void*)StrictMath_tanh }, + NATIVE_METHOD(StrictMath, IEEEremainder, "(DD)D"), + NATIVE_METHOD(StrictMath, acos, "(D)D"), + NATIVE_METHOD(StrictMath, asin, "(D)D"), + NATIVE_METHOD(StrictMath, atan, "(D)D"), + NATIVE_METHOD(StrictMath, atan2, "(DD)D"), + NATIVE_METHOD(StrictMath, cbrt, "(D)D"), + NATIVE_METHOD(StrictMath, ceil, "(D)D"), + NATIVE_METHOD(StrictMath, cos, "(D)D"), + NATIVE_METHOD(StrictMath, cosh, "(D)D"), + NATIVE_METHOD(StrictMath, exp, "(D)D"), + NATIVE_METHOD(StrictMath, expm1, "(D)D"), + NATIVE_METHOD(StrictMath, floor, "(D)D"), + NATIVE_METHOD(StrictMath, hypot, "(DD)D"), + NATIVE_METHOD(StrictMath, log, "(D)D"), + NATIVE_METHOD(StrictMath, log10, "(D)D"), + NATIVE_METHOD(StrictMath, log1p, "(D)D"), + NATIVE_METHOD(StrictMath, nextafter, "(DD)D"), + NATIVE_METHOD(StrictMath, nextafterf, "(FF)F"), + NATIVE_METHOD(StrictMath, pow, "(DD)D"), + NATIVE_METHOD(StrictMath, rint, "(D)D"), + NATIVE_METHOD(StrictMath, sin, "(D)D"), + NATIVE_METHOD(StrictMath, sinh, "(D)D"), + NATIVE_METHOD(StrictMath, sqrt, "(D)D"), + NATIVE_METHOD(StrictMath, tan, "(D)D"), + NATIVE_METHOD(StrictMath, tanh, "(D)D"), }; int register_java_lang_StrictMath(JNIEnv* env) { diff --git a/luni/src/main/native/java_lang_System.cpp b/luni/src/main/native/java_lang_System.cpp index 3b907db..a5c3f68 100644 --- a/luni/src/main/native/java_lang_System.cpp +++ b/luni/src/main/native/java_lang_System.cpp @@ -17,6 +17,7 @@ #define LOG_TAG "System" #include "JNIHelp.h" +#include "JniConstants.h" #include "ScopedUtfChars.h" #include <stdlib.h> @@ -53,9 +54,9 @@ static void System_setFieldImpl(JNIEnv* env, jclass clazz, } static JNINativeMethod gMethods[] = { - { "getEnvByIndex", "(I)Ljava/lang/String;", (void*) System_getEnvByIndex }, - { "getEnvByName", "(Ljava/lang/String;)Ljava/lang/String;", (void*) System_getEnvByName }, - { "setFieldImpl", "(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;)V", (void*) System_setFieldImpl }, + NATIVE_METHOD(System, getEnvByIndex, "(I)Ljava/lang/String;"), + NATIVE_METHOD(System, getEnvByName, "(Ljava/lang/String;)Ljava/lang/String;"), + NATIVE_METHOD(System, setFieldImpl, "(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;)V"), }; int register_java_lang_System(JNIEnv* env) { return jniRegisterNativeMethods(env, "java/lang/System", gMethods, NELEM(gMethods)); diff --git a/luni/src/main/native/java_net_InetAddress.cpp b/luni/src/main/native/java_net_InetAddress.cpp index 64c6764..7a5f4a4 100644 --- a/luni/src/main/native/java_net_InetAddress.cpp +++ b/luni/src/main/native/java_net_InetAddress.cpp @@ -326,11 +326,11 @@ static jstring InetAddress_byteArrayToIpString(JNIEnv* env, jobject, jbyteArray } static JNINativeMethod gMethods[] = { - { "byteArrayToIpString", "([B)Ljava/lang/String;", (void*) InetAddress_byteArrayToIpString }, - { "getaddrinfo", "(Ljava/lang/String;)[[B", (void*) InetAddress_getaddrinfo }, - { "gethostname", "()Ljava/lang/String;", (void*) InetAddress_gethostname }, - { "getnameinfo", "([B)Ljava/lang/String;", (void*) InetAddress_getnameinfo }, - { "ipStringToByteArray", "(Ljava/lang/String;)[B", (void*) InetAddress_ipStringToByteArray }, + NATIVE_METHOD(InetAddress, byteArrayToIpString, "([B)Ljava/lang/String;"), + NATIVE_METHOD(InetAddress, getaddrinfo, "(Ljava/lang/String;)[[B"), + NATIVE_METHOD(InetAddress, gethostname, "()Ljava/lang/String;"), + NATIVE_METHOD(InetAddress, getnameinfo, "([B)Ljava/lang/String;"), + NATIVE_METHOD(InetAddress, ipStringToByteArray, "(Ljava/lang/String;)[B"), }; int register_java_net_InetAddress(JNIEnv* env) { return jniRegisterNativeMethods(env, "java/net/InetAddress", gMethods, NELEM(gMethods)); diff --git a/luni/src/main/native/java_net_NetworkInterface.cpp b/luni/src/main/native/java_net_NetworkInterface.cpp index c4bb92d..f8f0ba4 100644 --- a/luni/src/main/native/java_net_NetworkInterface.cpp +++ b/luni/src/main/native/java_net_NetworkInterface.cpp @@ -217,13 +217,13 @@ static jboolean NetworkInterface_supportsMulticastImpl(JNIEnv* env, jclass, jstr } static JNINativeMethod gMethods[] = { - { "getAllInterfaceAddressesImpl", "()[Ljava/net/InterfaceAddress;", (void*) NetworkInterface_getAllInterfaceAddressesImpl }, - { "getHardwareAddressImpl", "(Ljava/lang/String;)[B", (void*) NetworkInterface_getHardwareAddressImpl }, - { "getMTUImpl", "(Ljava/lang/String;)I", (void*) NetworkInterface_getMTUImpl }, - { "isLoopbackImpl", "(Ljava/lang/String;)Z", (void*) NetworkInterface_isLoopbackImpl }, - { "isPointToPointImpl", "(Ljava/lang/String;)Z", (void*) NetworkInterface_isPointToPointImpl }, - { "isUpImpl", "(Ljava/lang/String;)Z", (void*) NetworkInterface_isUpImpl }, - { "supportsMulticastImpl", "(Ljava/lang/String;)Z", (void*) NetworkInterface_supportsMulticastImpl }, + NATIVE_METHOD(NetworkInterface, getAllInterfaceAddressesImpl, "()[Ljava/net/InterfaceAddress;"), + NATIVE_METHOD(NetworkInterface, getHardwareAddressImpl, "(Ljava/lang/String;)[B"), + NATIVE_METHOD(NetworkInterface, getMTUImpl, "(Ljava/lang/String;)I"), + NATIVE_METHOD(NetworkInterface, isLoopbackImpl, "(Ljava/lang/String;)Z"), + NATIVE_METHOD(NetworkInterface, isPointToPointImpl, "(Ljava/lang/String;)Z"), + NATIVE_METHOD(NetworkInterface, isUpImpl, "(Ljava/lang/String;)Z"), + NATIVE_METHOD(NetworkInterface, supportsMulticastImpl, "(Ljava/lang/String;)Z"), }; int register_java_net_NetworkInterface(JNIEnv* env) { return jniRegisterNativeMethods(env, "java/net/NetworkInterface", gMethods, NELEM(gMethods)); diff --git a/luni/src/main/native/java_nio_charset_Charsets.cpp b/luni/src/main/native/java_nio_charset_Charsets.cpp index a7d1827..44e169f 100644 --- a/luni/src/main/native/java_nio_charset_Charsets.cpp +++ b/luni/src/main/native/java_nio_charset_Charsets.cpp @@ -17,6 +17,7 @@ #define LOG_TAG "String" #include "JNIHelp.h" +#include "JniConstants.h" #include "ScopedPrimitiveArray.h" #include "jni.h" #include "unicode/utf16.h" @@ -237,11 +238,11 @@ static jbyteArray Charsets_toUtf8Bytes(JNIEnv* env, jclass, jcharArray javaChars } static JNINativeMethod gMethods[] = { - { "asciiBytesToChars", "([BII[C)V", (void*) Charsets_asciiBytesToChars }, - { "isoLatin1BytesToChars", "([BII[C)V", (void*) Charsets_isoLatin1BytesToChars }, - { "toAsciiBytes", "([CII)[B", (void*) Charsets_toAsciiBytes }, - { "toIsoLatin1Bytes", "([CII)[B", (void*) Charsets_toIsoLatin1Bytes }, - { "toUtf8Bytes", "([CII)[B", (void*) Charsets_toUtf8Bytes }, + NATIVE_METHOD(Charsets, asciiBytesToChars, "([BII[C)V"), + NATIVE_METHOD(Charsets, isoLatin1BytesToChars, "([BII[C)V"), + NATIVE_METHOD(Charsets, toAsciiBytes, "([CII)[B"), + NATIVE_METHOD(Charsets, toIsoLatin1Bytes, "([CII)[B"), + NATIVE_METHOD(Charsets, toUtf8Bytes, "([CII)[B"), }; int register_java_nio_charset_Charsets(JNIEnv* env) { return jniRegisterNativeMethods(env, "java/nio/charset/Charsets", gMethods, NELEM(gMethods)); diff --git a/luni/src/main/native/java_util_regex_Matcher.cpp b/luni/src/main/native/java_util_regex_Matcher.cpp index b0e5e44..2af1932 100644 --- a/luni/src/main/native/java_util_regex_Matcher.cpp +++ b/luni/src/main/native/java_util_regex_Matcher.cpp @@ -199,18 +199,18 @@ static void Matcher_useTransparentBoundsImpl(JNIEnv* env, jclass, jint addr, jbo } static JNINativeMethod gMethods[] = { - { "closeImpl", "(I)V", (void*) Matcher_closeImpl }, - { "findImpl", "(ILjava/lang/String;I[I)Z", (void*) Matcher_findImpl }, - { "findNextImpl", "(ILjava/lang/String;[I)Z", (void*) Matcher_findNextImpl }, - { "groupCountImpl", "(I)I", (void*) Matcher_groupCountImpl }, - { "hitEndImpl", "(I)Z", (void*) Matcher_hitEndImpl }, - { "lookingAtImpl", "(ILjava/lang/String;[I)Z", (void*) Matcher_lookingAtImpl }, - { "matchesImpl", "(ILjava/lang/String;[I)Z", (void*) Matcher_matchesImpl }, - { "openImpl", "(I)I", (void*) Matcher_openImpl }, - { "requireEndImpl", "(I)Z", (void*) Matcher_requireEndImpl }, - { "setInputImpl", "(ILjava/lang/String;II)V", (void*) Matcher_setInputImpl }, - { "useAnchoringBoundsImpl", "(IZ)V", (void*) Matcher_useAnchoringBoundsImpl }, - { "useTransparentBoundsImpl", "(IZ)V", (void*) Matcher_useTransparentBoundsImpl }, + NATIVE_METHOD(Matcher, closeImpl, "(I)V"), + NATIVE_METHOD(Matcher, findImpl, "(ILjava/lang/String;I[I)Z"), + NATIVE_METHOD(Matcher, findNextImpl, "(ILjava/lang/String;[I)Z"), + NATIVE_METHOD(Matcher, groupCountImpl, "(I)I"), + NATIVE_METHOD(Matcher, hitEndImpl, "(I)Z"), + NATIVE_METHOD(Matcher, lookingAtImpl, "(ILjava/lang/String;[I)Z"), + NATIVE_METHOD(Matcher, matchesImpl, "(ILjava/lang/String;[I)Z"), + NATIVE_METHOD(Matcher, openImpl, "(I)I"), + NATIVE_METHOD(Matcher, requireEndImpl, "(I)Z"), + NATIVE_METHOD(Matcher, setInputImpl, "(ILjava/lang/String;II)V"), + NATIVE_METHOD(Matcher, useAnchoringBoundsImpl, "(IZ)V"), + NATIVE_METHOD(Matcher, useTransparentBoundsImpl, "(IZ)V"), }; int register_java_util_regex_Matcher(JNIEnv* env) { return jniRegisterNativeMethods(env, "java/util/regex/Matcher", gMethods, NELEM(gMethods)); diff --git a/luni/src/main/native/java_util_regex_Pattern.cpp b/luni/src/main/native/java_util_regex_Pattern.cpp index b03d564..5541d33 100644 --- a/luni/src/main/native/java_util_regex_Pattern.cpp +++ b/luni/src/main/native/java_util_regex_Pattern.cpp @@ -62,8 +62,8 @@ static jint Pattern_compileImpl(JNIEnv* env, jclass, jstring javaRegex, jint fla } static JNINativeMethod gMethods[] = { - { "closeImpl", "(I)V", (void*) Pattern_closeImpl }, - { "compileImpl", "(Ljava/lang/String;I)I", (void*) Pattern_compileImpl }, + NATIVE_METHOD(Pattern, closeImpl, "(I)V"), + NATIVE_METHOD(Pattern, compileImpl, "(Ljava/lang/String;I)I"), }; int register_java_util_regex_Pattern(JNIEnv* env) { return jniRegisterNativeMethods(env, "java/util/regex/Pattern", gMethods, NELEM(gMethods)); diff --git a/luni/src/main/native/java_util_zip_Adler32.cpp b/luni/src/main/native/java_util_zip_Adler32.cpp index 9873c8b..d0c96ea 100644 --- a/luni/src/main/native/java_util_zip_Adler32.cpp +++ b/luni/src/main/native/java_util_zip_Adler32.cpp @@ -18,6 +18,7 @@ #define LOG_TAG "Adler32" #include "JNIHelp.h" +#include "JniConstants.h" #include "ScopedPrimitiveArray.h" #include "jni.h" #include "zlib.h" @@ -36,8 +37,8 @@ static jlong Adler32_updateByteImpl(JNIEnv*, jobject, jint val, jlong crc) { } static JNINativeMethod gMethods[] = { - { "updateImpl", "([BIIJ)J", (void*) Adler32_updateImpl }, - { "updateByteImpl", "(IJ)J", (void*) Adler32_updateByteImpl }, + NATIVE_METHOD(Adler32, updateImpl, "([BIIJ)J"), + NATIVE_METHOD(Adler32, updateByteImpl, "(IJ)J"), }; int register_java_util_zip_Adler32(JNIEnv* env) { return jniRegisterNativeMethods(env, "java/util/zip/Adler32", gMethods, NELEM(gMethods)); diff --git a/luni/src/main/native/java_util_zip_CRC32.cpp b/luni/src/main/native/java_util_zip_CRC32.cpp index b419188..ecfde7f 100644 --- a/luni/src/main/native/java_util_zip_CRC32.cpp +++ b/luni/src/main/native/java_util_zip_CRC32.cpp @@ -18,6 +18,7 @@ #define LOG_TAG "CRC32" #include "JNIHelp.h" +#include "JniConstants.h" #include "ScopedPrimitiveArray.h" #include "jni.h" #include "zlib.h" @@ -36,8 +37,8 @@ static jlong CRC32_updateByteImpl(JNIEnv*, jobject, jbyte val, jlong crc) { } static JNINativeMethod gMethods[] = { - { "updateImpl", "([BIIJ)J", (void*) CRC32_updateImpl }, - { "updateByteImpl", "(BJ)J", (void*) CRC32_updateByteImpl }, + NATIVE_METHOD(CRC32, updateImpl, "([BIIJ)J"), + NATIVE_METHOD(CRC32, updateByteImpl, "(BJ)J"), }; int register_java_util_zip_CRC32(JNIEnv* env) { return jniRegisterNativeMethods(env, "java/util/zip/CRC32", gMethods, NELEM(gMethods)); diff --git a/luni/src/main/native/java_util_zip_Deflater.cpp b/luni/src/main/native/java_util_zip_Deflater.cpp index 6d68bf1..c0b2fef 100644 --- a/luni/src/main/native/java_util_zip_Deflater.cpp +++ b/luni/src/main/native/java_util_zip_Deflater.cpp @@ -132,16 +132,16 @@ static void Deflater_setLevelsImpl(JNIEnv* env, jobject, int level, int strategy } static JNINativeMethod gMethods[] = { - { "createStream", "(IIZ)J", (void*) Deflater_createStream }, - { "deflateImpl", "([BIIJI)I", (void*) Deflater_deflateImpl }, - { "endImpl", "(J)V", (void*) Deflater_endImpl }, - { "getAdlerImpl", "(J)I", (void*) Deflater_getAdlerImpl }, - { "getTotalInImpl", "(J)J", (void*) Deflater_getTotalInImpl }, - { "getTotalOutImpl", "(J)J", (void*) Deflater_getTotalOutImpl }, - { "resetImpl", "(J)V", (void*) Deflater_resetImpl }, - { "setDictionaryImpl", "([BIIJ)V", (void*) Deflater_setDictionaryImpl }, - { "setInputImpl", "([BIIJ)V", (void*) Deflater_setInputImpl }, - { "setLevelsImpl", "(IIJ)V", (void*) Deflater_setLevelsImpl }, + NATIVE_METHOD(Deflater, createStream, "(IIZ)J"), + NATIVE_METHOD(Deflater, deflateImpl, "([BIIJI)I"), + NATIVE_METHOD(Deflater, endImpl, "(J)V"), + NATIVE_METHOD(Deflater, getAdlerImpl, "(J)I"), + NATIVE_METHOD(Deflater, getTotalInImpl, "(J)J"), + NATIVE_METHOD(Deflater, getTotalOutImpl, "(J)J"), + NATIVE_METHOD(Deflater, resetImpl, "(J)V"), + NATIVE_METHOD(Deflater, setDictionaryImpl, "([BIIJ)V"), + NATIVE_METHOD(Deflater, setInputImpl, "([BIIJ)V"), + NATIVE_METHOD(Deflater, setLevelsImpl, "(IIJ)V"), }; int register_java_util_zip_Deflater(JNIEnv* env) { gCachedFields.finished = env->GetFieldID(JniConstants::deflaterClass, "finished", "Z"); diff --git a/luni/src/main/native/java_util_zip_Inflater.cpp b/luni/src/main/native/java_util_zip_Inflater.cpp index ddf494e..8dd9e87 100644 --- a/luni/src/main/native/java_util_zip_Inflater.cpp +++ b/luni/src/main/native/java_util_zip_Inflater.cpp @@ -167,16 +167,16 @@ static jlong Inflater_getTotalInImpl(JNIEnv*, jobject, jlong handle) { } static JNINativeMethod gMethods[] = { - { "createStream", "(Z)J", (void*) Inflater_createStream }, - { "endImpl", "(J)V", (void*) Inflater_endImpl }, - { "getAdlerImpl", "(J)I", (void*) Inflater_getAdlerImpl }, - { "getTotalInImpl", "(J)J", (void*) Inflater_getTotalInImpl }, - { "getTotalOutImpl", "(J)J", (void*) Inflater_getTotalOutImpl }, - { "inflateImpl", "([BIIJ)I", (void*) Inflater_inflateImpl }, - { "resetImpl", "(J)V", (void*) Inflater_resetImpl }, - { "setDictionaryImpl", "([BIIJ)V", (void*) Inflater_setDictionaryImpl }, - { "setFileInputImpl", "(Ljava/io/FileDescriptor;JIJ)I", (void*) Inflater_setFileInputImpl }, - { "setInputImpl", "([BIIJ)V", (void*) Inflater_setInputImpl }, + NATIVE_METHOD(Inflater, createStream, "(Z)J"), + NATIVE_METHOD(Inflater, endImpl, "(J)V"), + NATIVE_METHOD(Inflater, getAdlerImpl, "(J)I"), + NATIVE_METHOD(Inflater, getTotalInImpl, "(J)J"), + NATIVE_METHOD(Inflater, getTotalOutImpl, "(J)J"), + NATIVE_METHOD(Inflater, inflateImpl, "([BIIJ)I"), + NATIVE_METHOD(Inflater, resetImpl, "(J)V"), + NATIVE_METHOD(Inflater, setDictionaryImpl, "([BIIJ)V"), + NATIVE_METHOD(Inflater, setFileInputImpl, "(Ljava/io/FileDescriptor;JIJ)I"), + NATIVE_METHOD(Inflater, setInputImpl, "([BIIJ)V"), }; int register_java_util_zip_Inflater(JNIEnv* env) { gCachedFields.finished = env->GetFieldID(JniConstants::inflaterClass, "finished", "Z"); diff --git a/luni/src/main/native/libcore_io_IoUtils.cpp b/luni/src/main/native/libcore_io_IoUtils.cpp index eb6b9d4..289b28c 100644 --- a/luni/src/main/native/libcore_io_IoUtils.cpp +++ b/luni/src/main/native/libcore_io_IoUtils.cpp @@ -64,11 +64,11 @@ static void IoUtils_setBlocking(JNIEnv* env, jclass, jobject fileDescriptor, jbo } static JNINativeMethod gMethods[] = { - { "close", "(Ljava/io/FileDescriptor;)V", (void*) IoUtils_close }, - { "getFd", "(Ljava/io/FileDescriptor;)I", (void*) IoUtils_getFd }, - { "pipe", "([I)V", (void*) IoUtils_pipe }, - { "setFd", "(Ljava/io/FileDescriptor;I)V", (void*) IoUtils_setFd }, - { "setBlocking", "(Ljava/io/FileDescriptor;Z)V", (void*) IoUtils_setBlocking }, + NATIVE_METHOD(IoUtils, close, "(Ljava/io/FileDescriptor;)V"), + NATIVE_METHOD(IoUtils, getFd, "(Ljava/io/FileDescriptor;)I"), + NATIVE_METHOD(IoUtils, pipe, "([I)V"), + NATIVE_METHOD(IoUtils, setFd, "(Ljava/io/FileDescriptor;I)V"), + NATIVE_METHOD(IoUtils, setBlocking, "(Ljava/io/FileDescriptor;Z)V"), }; int register_libcore_io_IoUtils(JNIEnv* env) { return jniRegisterNativeMethods(env, "libcore/io/IoUtils", gMethods, NELEM(gMethods)); diff --git a/luni/src/main/native/org_apache_harmony_luni_platform_OSFileSystem.cpp b/luni/src/main/native/org_apache_harmony_luni_platform_OSFileSystem.cpp index b7d2d30..d617c21 100644 --- a/luni/src/main/native/org_apache_harmony_luni_platform_OSFileSystem.cpp +++ b/luni/src/main/native/org_apache_harmony_luni_platform_OSFileSystem.cpp @@ -31,6 +31,7 @@ #define SHARED_LOCK_TYPE 1L #include "JNIHelp.h" +#include "JniConstants.h" #include "LocalArray.h" #include "ScopedPrimitiveArray.h" #include "ScopedUtfChars.h" @@ -486,7 +487,7 @@ static jint OSFileSystem_ioctlAvailable(JNIEnv*env, jobject, jobject fileDescrip return (jint) avail; } -static jlong lengthImpl(JNIEnv* env, jobject, jint fd) { +static jlong OSFileSystem_length(JNIEnv* env, jobject, jint fd) { struct stat sb; jint rc = TEMP_FAILURE_RETRY(fstat(fd, &sb)); if (rc == -1) { @@ -496,22 +497,22 @@ static jlong lengthImpl(JNIEnv* env, jobject, jint fd) { } static JNINativeMethod gMethods[] = { - { "fsync", "(IZ)V", (void*) OSFileSystem_fsync }, - { "getAllocGranularity", "()I", (void*) OSFileSystem_getAllocGranularity }, - { "ioctlAvailable", "(Ljava/io/FileDescriptor;)I", (void*) OSFileSystem_ioctlAvailable }, - { "length", "(I)J", (void*) lengthImpl }, - { "lockImpl", "(IJJIZ)I", (void*) OSFileSystem_lockImpl }, - { "open", "(Ljava/lang/String;I)I", (void*) OSFileSystem_open }, - { "read", "(I[BII)J", (void*) OSFileSystem_read }, - { "readDirect", "(IIII)J", (void*) OSFileSystem_readDirect }, - { "readv", "(I[I[I[II)J", (void*) OSFileSystem_readv }, - { "seek", "(IJI)J", (void*) OSFileSystem_seek }, - { "transfer", "(ILjava/io/FileDescriptor;JJ)J", (void*) OSFileSystem_transfer }, - { "truncate", "(IJ)V", (void*) OSFileSystem_truncate }, - { "unlockImpl", "(IJJ)V", (void*) OSFileSystem_unlockImpl }, - { "write", "(I[BII)J", (void*) OSFileSystem_write }, - { "writeDirect", "(IIII)J", (void*) OSFileSystem_writeDirect }, - { "writev", "(I[I[I[II)J", (void*) OSFileSystem_writev }, + NATIVE_METHOD(OSFileSystem, fsync, "(IZ)V"), + NATIVE_METHOD(OSFileSystem, getAllocGranularity, "()I"), + NATIVE_METHOD(OSFileSystem, ioctlAvailable, "(Ljava/io/FileDescriptor;)I"), + NATIVE_METHOD(OSFileSystem, length, "(I)J"), + NATIVE_METHOD(OSFileSystem, lockImpl, "(IJJIZ)I"), + NATIVE_METHOD(OSFileSystem, open, "(Ljava/lang/String;I)I"), + NATIVE_METHOD(OSFileSystem, read, "(I[BII)J"), + NATIVE_METHOD(OSFileSystem, readDirect, "(IIII)J"), + NATIVE_METHOD(OSFileSystem, readv, "(I[I[I[II)J"), + NATIVE_METHOD(OSFileSystem, seek, "(IJI)J"), + NATIVE_METHOD(OSFileSystem, transfer, "(ILjava/io/FileDescriptor;JJ)J"), + NATIVE_METHOD(OSFileSystem, truncate, "(IJ)V"), + NATIVE_METHOD(OSFileSystem, unlockImpl, "(IJJ)V"), + NATIVE_METHOD(OSFileSystem, write, "(I[BII)J"), + NATIVE_METHOD(OSFileSystem, writeDirect, "(IIII)J"), + NATIVE_METHOD(OSFileSystem, writev, "(I[I[I[II)J"), }; int register_org_apache_harmony_luni_platform_OSFileSystem(JNIEnv* env) { return jniRegisterNativeMethods(env, "org/apache/harmony/luni/platform/OSFileSystem", gMethods, diff --git a/luni/src/main/native/org_apache_harmony_luni_platform_OSMemory.cpp b/luni/src/main/native/org_apache_harmony_luni_platform_OSMemory.cpp index abb6ca2..a34e54b 100644 --- a/luni/src/main/native/org_apache_harmony_luni_platform_OSMemory.cpp +++ b/luni/src/main/native/org_apache_harmony_luni_platform_OSMemory.cpp @@ -348,36 +348,36 @@ static jint OSMemory_flushImpl(JNIEnv*, jobject, jint address, jlong size) { } static JNINativeMethod gMethods[] = { - { "flushImpl", "(IJ)I", (void*) OSMemory_flushImpl }, - { "free", "(I)V", (void*) OSMemory_free }, - { "getAddress", "(I)I", (void*) OSMemory_getAddress }, - { "getByte", "(I)B", (void*) OSMemory_getByte }, - { "getByteArray", "(I[BII)V",(void*) OSMemory_getByteArray }, - { "getDouble", "(I)D", (void*) OSMemory_getDouble }, - { "getFloat", "(I)F", (void*) OSMemory_getFloat }, - { "getInt", "(I)I", (void*) OSMemory_getInt }, - { "getLong", "(I)J", (void*) OSMemory_getLong }, - { "getPointerSizeImpl", "()I", (void*) OSMemory_getPointerSizeImpl }, - { "getShort", "(I)S", (void*) OSMemory_getShort }, - { "isLittleEndianImpl", "()Z", (void*) OSMemory_isLittleEndianImpl }, - { "isLoadedImpl", "(IJ)Z", (void*) OSMemory_isLoadedImpl }, - { "loadImpl", "(IJ)I", (void*) OSMemory_loadImpl }, - { "malloc", "(I)I", (void*) OSMemory_malloc }, - { "memmove", "(IIJ)V", (void*) OSMemory_memmove }, - { "memset", "(IBJ)V", (void*) OSMemory_memset }, - { "mmapImpl", "(IJJI)I", (void*) OSMemory_mmapImpl }, - { "setAddress", "(II)V", (void*) OSMemory_setAddress }, - { "setByte", "(IB)V", (void*) OSMemory_setByte }, - { "setByteArray", "(I[BII)V",(void*) OSMemory_setByteArray }, - { "setDouble", "(ID)V", (void*) OSMemory_setDouble }, - { "setFloat", "(IF)V", (void*) OSMemory_setFloat }, - { "setFloatArray", "(I[FIIZ)V",(void*) OSMemory_setFloatArray }, - { "setInt", "(II)V", (void*) OSMemory_setInt }, - { "setIntArray", "(I[IIIZ)V",(void*) OSMemory_setIntArray }, - { "setLong", "(IJ)V", (void*) OSMemory_setLong }, - { "setShort", "(IS)V", (void*) OSMemory_setShort }, - { "setShortArray", "(I[SIIZ)V",(void*) OSMemory_setShortArray }, - { "unmapImpl", "(IJ)V", (void*) OSMemory_unmapImpl }, + NATIVE_METHOD(OSMemory, flushImpl, "(IJ)I"), + NATIVE_METHOD(OSMemory, free, "(I)V"), + NATIVE_METHOD(OSMemory, getAddress, "(I)I"), + NATIVE_METHOD(OSMemory, getByte, "(I)B"), + NATIVE_METHOD(OSMemory, getByteArray, "(I[BII)V"), + NATIVE_METHOD(OSMemory, getDouble, "(I)D"), + NATIVE_METHOD(OSMemory, getFloat, "(I)F"), + NATIVE_METHOD(OSMemory, getInt, "(I)I"), + NATIVE_METHOD(OSMemory, getLong, "(I)J"), + NATIVE_METHOD(OSMemory, getPointerSizeImpl, "()I"), + NATIVE_METHOD(OSMemory, getShort, "(I)S"), + NATIVE_METHOD(OSMemory, isLittleEndianImpl, "()Z"), + NATIVE_METHOD(OSMemory, isLoadedImpl, "(IJ)Z"), + NATIVE_METHOD(OSMemory, loadImpl, "(IJ)I"), + NATIVE_METHOD(OSMemory, malloc, "(I)I"), + NATIVE_METHOD(OSMemory, memmove, "(IIJ)V"), + NATIVE_METHOD(OSMemory, memset, "(IBJ)V"), + NATIVE_METHOD(OSMemory, mmapImpl, "(IJJI)I"), + NATIVE_METHOD(OSMemory, setAddress, "(II)V"), + NATIVE_METHOD(OSMemory, setByte, "(IB)V"), + NATIVE_METHOD(OSMemory, setByteArray, "(I[BII)V"), + NATIVE_METHOD(OSMemory, setDouble, "(ID)V"), + NATIVE_METHOD(OSMemory, setFloat, "(IF)V"), + NATIVE_METHOD(OSMemory, setFloatArray, "(I[FIIZ)V"), + NATIVE_METHOD(OSMemory, setInt, "(II)V"), + NATIVE_METHOD(OSMemory, setIntArray, "(I[IIIZ)V"), + NATIVE_METHOD(OSMemory, setLong, "(IJ)V"), + NATIVE_METHOD(OSMemory, setShort, "(IS)V"), + NATIVE_METHOD(OSMemory, setShortArray, "(I[SIIZ)V"), + NATIVE_METHOD(OSMemory, unmapImpl, "(IJ)V"), }; int register_org_apache_harmony_luni_platform_OSMemory(JNIEnv* env) { /* diff --git a/luni/src/main/native/org_apache_harmony_luni_platform_OSNetworkSystem.cpp b/luni/src/main/native/org_apache_harmony_luni_platform_OSNetworkSystem.cpp index f83ccc1..553ccbb 100644 --- a/luni/src/main/native/org_apache_harmony_luni_platform_OSNetworkSystem.cpp +++ b/luni/src/main/native/org_apache_harmony_luni_platform_OSNetworkSystem.cpp @@ -75,7 +75,7 @@ #define JAVASOCKOPT_SO_SNDBUF 4097 #define JAVASOCKOPT_TCP_NODELAY 1 -/* constants for osNetworkSystem_selectImpl */ +/* constants for OSNetworkSystem_selectImpl */ #define SOCKET_OP_NONE 0 #define SOCKET_OP_READ 1 #define SOCKET_OP_WRITE 2 @@ -149,14 +149,14 @@ private: * * @return the port number, or -1 if the address family is unknown. */ -static int getSocketAddressPort(struct sockaddr_storage *address) { - switch (address->ss_family) { - case AF_INET: - return ntohs(((struct sockaddr_in *) address)->sin_port); - case AF_INET6: - return ntohs(((struct sockaddr_in6 *) address)->sin6_port); - default: - return -1; +static int getSocketAddressPort(sockaddr_storage* ss) { + switch (ss->ss_family) { + case AF_INET: + return ntohs(reinterpret_cast<sockaddr_in*>(ss)->sin_port); + case AF_INET6: + return ntohs(reinterpret_cast<sockaddr_in6*>(ss)->sin6_port); + default: + return -1; } } @@ -169,7 +169,7 @@ static int getSocketAddressPort(struct sockaddr_storage *address) { static int getSocketAddressFamily(int socket) { sockaddr_storage ss; socklen_t namelen = sizeof(ss); - int ret = getsockname(socket, (sockaddr*) &ss, &namelen); + int ret = getsockname(socket, reinterpret_cast<sockaddr*>(&ss), &namelen); if (ret != 0) { return AF_UNSPEC; } else { @@ -410,8 +410,8 @@ private: static int interfaceIndexFromMulticastSocket(int socket) { int family = getSocketAddressFamily(socket); if (family == AF_INET) { - // IP_MULTICAST_IF returns a pointer to a struct ip_mreqn. - struct ip_mreqn tempRequest; + // IP_MULTICAST_IF returns a pointer to a ip_mreqn struct. + ip_mreqn tempRequest; socklen_t requestLength = sizeof(tempRequest); int rc = getsockopt(socket, IPPROTO_IP, IP_MULTICAST_IF, &tempRequest, &requestLength); return (rc == -1) ? -1 : tempRequest.imr_ifindex; @@ -456,7 +456,7 @@ static void mcastAddDropMembership(JNIEnv *env, int fd, jobject optVal, int setS * optVal is an InetAddress. Construct a multicast request structure * from this address. Support IPv4 only. */ - struct ip_mreqn multicastRequest; + ip_mreqn multicastRequest; socklen_t length = sizeof(multicastRequest); memset(&multicastRequest, 0, length); @@ -468,17 +468,15 @@ static void mcastAddDropMembership(JNIEnv *env, int fd, jobject optVal, int setS } // Convert the inetAddress to an IPv4 address structure. - sockaddr_storage sockaddrP; - if (!inetAddressToSocketAddress(env, optVal, 0, &sockaddrP)) { + sockaddr_storage ss; + if (!inetAddressToSocketAddress(env, optVal, 0, &ss)) { return; } - if (sockaddrP.ss_family != AF_INET) { + if (ss.ss_family != AF_INET) { jniThrowSocketException(env, EAFNOSUPPORT); return; } - struct sockaddr_in *sin = (struct sockaddr_in *) &sockaddrP; - multicastRequest.imr_multiaddr = sin->sin_addr; - + multicastRequest.imr_multiaddr = reinterpret_cast<sockaddr_in*>(&ss)->sin_addr; int rc = setsockopt(fd, IPPROTO_IP, setSockOptVal, &multicastRequest, length); if (rc == -1) { jniThrowSocketException(env, errno); @@ -500,20 +498,20 @@ static void mcastAddDropMembership(JNIEnv *env, int fd, jobject optVal, int setS int interfaceIndex = env->GetIntField(optVal, interfaceIdxID); LOGI("mcastAddDropMembership interfaceIndex=%i", interfaceIndex); - sockaddr_storage sockaddrP; - if (!inetAddressToSocketAddress(env, multiaddr, 0, &sockaddrP)) { + sockaddr_storage ss; + if (!inetAddressToSocketAddress(env, multiaddr, 0, &ss)) { return; } int family = getSocketAddressFamily(fd); // Handle IPv4 multicast on an IPv6 socket. - if (family == AF_INET6 && sockaddrP.ss_family == AF_INET) { + if (family == AF_INET6 && ss.ss_family == AF_INET) { family = AF_INET; } - struct ip_mreqn ipv4Request; - struct ipv6_mreq ipv6Request; + ip_mreqn ipv4Request; + ipv6_mreq ipv6Request; void *multicastRequest; socklen_t requestLength; int level; @@ -521,7 +519,7 @@ static void mcastAddDropMembership(JNIEnv *env, int fd, jobject optVal, int setS case AF_INET: requestLength = sizeof(ipv4Request); memset(&ipv4Request, 0, requestLength); - ipv4Request.imr_multiaddr = ((struct sockaddr_in *) &sockaddrP)->sin_addr; + ipv4Request.imr_multiaddr = reinterpret_cast<sockaddr_in*>(&ss)->sin_addr; ipv4Request.imr_ifindex = interfaceIndex; multicastRequest = &ipv4Request; level = IPPROTO_IP; @@ -536,7 +534,7 @@ static void mcastAddDropMembership(JNIEnv *env, int fd, jobject optVal, int setS } requestLength = sizeof(ipv6Request); memset(&ipv6Request, 0, requestLength); - ipv6Request.ipv6mr_multiaddr = ((struct sockaddr_in6 *) &sockaddrP)->sin6_addr; + ipv6Request.ipv6mr_multiaddr = reinterpret_cast<sockaddr_in6*>(&ss)->sin6_addr; ipv6Request.ipv6mr_interface = interfaceIndex; multicastRequest = &ipv6Request; level = IPPROTO_IPV6; @@ -584,7 +582,7 @@ static bool initCachedFields(JNIEnv* env) { return true; } -static void osNetworkSystem_socket(JNIEnv* env, jobject, jobject fileDescriptor, jboolean stream) { +static void OSNetworkSystem_socket(JNIEnv* env, jobject, jobject fileDescriptor, jboolean stream) { if (fileDescriptor == NULL) { jniThrowNullPointerException(env, NULL); errno = EBADF; @@ -617,7 +615,7 @@ static void osNetworkSystem_socket(JNIEnv* env, jobject, jobject fileDescriptor, #endif } -static jint osNetworkSystem_writeDirect(JNIEnv* env, jobject, +static jint OSNetworkSystem_writeDirect(JNIEnv* env, jobject, jobject fileDescriptor, jint address, jint offset, jint count) { if (count <= 0) { return 0; @@ -653,18 +651,18 @@ static jint osNetworkSystem_writeDirect(JNIEnv* env, jobject, return bytesSent; } -static jint osNetworkSystem_write(JNIEnv* env, jobject, +static jint OSNetworkSystem_write(JNIEnv* env, jobject, jobject fileDescriptor, jbyteArray byteArray, jint offset, jint count) { ScopedByteArrayRW bytes(env, byteArray); if (bytes.get() == NULL) { return -1; } jint address = static_cast<jint>(reinterpret_cast<uintptr_t>(bytes.get())); - int result = osNetworkSystem_writeDirect(env, NULL, fileDescriptor, address, offset, count); + int result = OSNetworkSystem_writeDirect(env, NULL, fileDescriptor, address, offset, count); return result; } -static jboolean osNetworkSystem_connectNonBlocking(JNIEnv* env, jobject, jobject fileDescriptor, jobject inetAddr, jint port) { +static jboolean OSNetworkSystem_connectNonBlocking(JNIEnv* env, jobject, jobject fileDescriptor, jobject inetAddr, jint port) { NetFd fd(env, fileDescriptor); if (fd.isClosed()) { return JNI_FALSE; @@ -674,7 +672,7 @@ static jboolean osNetworkSystem_connectNonBlocking(JNIEnv* env, jobject, jobject return context.start(fd, inetAddr, port) == 0; } -static jboolean osNetworkSystem_isConnected(JNIEnv* env, jobject, jobject fileDescriptor, jint timeout) { +static jboolean OSNetworkSystem_isConnected(JNIEnv* env, jobject, jobject fileDescriptor, jint timeout) { NetFd fd(env, fileDescriptor); if (fd.isClosed()) { return JNI_FALSE; @@ -695,7 +693,7 @@ static jboolean osNetworkSystem_isConnected(JNIEnv* env, jobject, jobject fileDe } // TODO: move this into Java, using connectNonBlocking and isConnected! -static void osNetworkSystem_connect(JNIEnv* env, jobject, jobject fileDescriptor, +static void OSNetworkSystem_connect(JNIEnv* env, jobject, jobject fileDescriptor, jobject inetAddr, jint port, jint timeout) { /* if a timeout was specified calculate the finish time value */ @@ -743,7 +741,7 @@ static void osNetworkSystem_connect(JNIEnv* env, jobject, jobject fileDescriptor } } -static void osNetworkSystem_bind(JNIEnv* env, jobject, jobject fileDescriptor, +static void OSNetworkSystem_bind(JNIEnv* env, jobject, jobject fileDescriptor, jobject inetAddress, jint port) { sockaddr_storage socketAddress; if (!inetAddressToSocketAddress(env, inetAddress, port, &socketAddress)) { @@ -762,7 +760,7 @@ static void osNetworkSystem_bind(JNIEnv* env, jobject, jobject fileDescriptor, } } -static void osNetworkSystem_listen(JNIEnv* env, jobject, jobject fileDescriptor, jint backlog) { +static void OSNetworkSystem_listen(JNIEnv* env, jobject, jobject fileDescriptor, jint backlog) { NetFd fd(env, fileDescriptor); if (fd.isClosed()) { return; @@ -774,7 +772,7 @@ static void osNetworkSystem_listen(JNIEnv* env, jobject, jobject fileDescriptor, } } -static void osNetworkSystem_accept(JNIEnv* env, jobject, jobject serverFileDescriptor, +static void OSNetworkSystem_accept(JNIEnv* env, jobject, jobject serverFileDescriptor, jobject newSocket, jobject clientFileDescriptor) { if (newSocket == NULL) { @@ -848,7 +846,7 @@ static void osNetworkSystem_accept(JNIEnv* env, jobject, jobject serverFileDescr jniSetFileDescriptorOfFD(env, clientFileDescriptor, clientFd); } -static void osNetworkSystem_sendUrgentData(JNIEnv* env, jobject, +static void OSNetworkSystem_sendUrgentData(JNIEnv* env, jobject, jobject fileDescriptor, jbyte value) { NetFd fd(env, fileDescriptor); if (fd.isClosed()) { @@ -861,7 +859,7 @@ static void osNetworkSystem_sendUrgentData(JNIEnv* env, jobject, } } -static void osNetworkSystem_disconnectDatagram(JNIEnv* env, jobject, jobject fileDescriptor) { +static void OSNetworkSystem_disconnectDatagram(JNIEnv* env, jobject, jobject fileDescriptor) { NetFd fd(env, fileDescriptor); if (fd.isClosed()) { return; @@ -879,13 +877,13 @@ static void osNetworkSystem_disconnectDatagram(JNIEnv* env, jobject, jobject fil } } -static void osNetworkSystem_setInetAddress(JNIEnv* env, jobject, +static void OSNetworkSystem_setInetAddress(JNIEnv* env, jobject, jobject sender, jbyteArray address) { env->SetObjectField(sender, gCachedFields.iaddr_ipaddress, address); } // TODO: can we merge this with recvDirect? -static jint osNetworkSystem_readDirect(JNIEnv* env, jobject, jobject fileDescriptor, +static jint OSNetworkSystem_readDirect(JNIEnv* env, jobject, jobject fileDescriptor, jint address, jint count) { NetFd fd(env, fileDescriptor); if (fd.isClosed()) { @@ -918,18 +916,18 @@ static jint osNetworkSystem_readDirect(JNIEnv* env, jobject, jobject fileDescrip } } -static jint osNetworkSystem_read(JNIEnv* env, jclass, jobject fileDescriptor, +static jint OSNetworkSystem_read(JNIEnv* env, jclass, jobject fileDescriptor, jbyteArray byteArray, jint offset, jint count) { ScopedByteArrayRW bytes(env, byteArray); if (bytes.get() == NULL) { return -1; } jint address = static_cast<jint>(reinterpret_cast<uintptr_t>(bytes.get() + offset)); - return osNetworkSystem_readDirect(env, NULL, fileDescriptor, address, count); + return OSNetworkSystem_readDirect(env, NULL, fileDescriptor, address, count); } // TODO: can we merge this with readDirect? -static jint osNetworkSystem_recvDirect(JNIEnv* env, jobject, jobject fileDescriptor, jobject packet, +static jint OSNetworkSystem_recvDirect(JNIEnv* env, jobject, jobject fileDescriptor, jobject packet, jint address, jint offset, jint length, jboolean peek, jboolean connected) { NetFd fd(env, fileDescriptor); if (fd.isClosed()) { @@ -983,14 +981,14 @@ static jint osNetworkSystem_recvDirect(JNIEnv* env, jobject, jobject fileDescrip return bytesReceived; } -static jint osNetworkSystem_recv(JNIEnv* env, jobject, jobject fd, jobject packet, +static jint OSNetworkSystem_recv(JNIEnv* env, jobject, jobject fd, jobject packet, jbyteArray javaBytes, jint offset, jint length, jboolean peek, jboolean connected) { ScopedByteArrayRW bytes(env, javaBytes); if (bytes.get() == NULL) { return -1; } uintptr_t address = reinterpret_cast<uintptr_t>(bytes.get()); - return osNetworkSystem_recvDirect(env, NULL, fd, packet, address, offset, length, peek, + return OSNetworkSystem_recvDirect(env, NULL, fd, packet, address, offset, length, peek, connected); } @@ -1001,7 +999,7 @@ static jint osNetworkSystem_recv(JNIEnv* env, jobject, jobject fd, jobject packe -static jint osNetworkSystem_sendDirect(JNIEnv* env, jobject, jobject fileDescriptor, jint address, jint offset, jint length, jint port, jobject inetAddress) { +static jint OSNetworkSystem_sendDirect(JNIEnv* env, jobject, jobject fileDescriptor, jint address, jint offset, jint length, jint port, jobject inetAddress) { NetFd fd(env, fileDescriptor); if (fd.isClosed()) { return -1; @@ -1036,14 +1034,14 @@ static jint osNetworkSystem_sendDirect(JNIEnv* env, jobject, jobject fileDescrip return bytesSent; } -static jint osNetworkSystem_send(JNIEnv* env, jobject, jobject fd, +static jint OSNetworkSystem_send(JNIEnv* env, jobject, jobject fd, jbyteArray data, jint offset, jint length, jint port, jobject inetAddress) { ScopedByteArrayRO bytes(env, data); if (bytes.get() == NULL) { return -1; } - return osNetworkSystem_sendDirect(env, NULL, fd, + return OSNetworkSystem_sendDirect(env, NULL, fd, reinterpret_cast<uintptr_t>(bytes.get()), offset, length, port, inetAddress); } @@ -1103,7 +1101,7 @@ static bool translateFdSet(JNIEnv* env, jobjectArray fdArray, jint count, fd_set return true; } -static jboolean osNetworkSystem_selectImpl(JNIEnv* env, jclass, +static jboolean OSNetworkSystem_selectImpl(JNIEnv* env, jclass, jobjectArray readFDArray, jobjectArray writeFDArray, jint countReadC, jint countWriteC, jintArray outFlags, jlong timeoutMs) { @@ -1151,17 +1149,17 @@ static jboolean osNetworkSystem_selectImpl(JNIEnv* env, jclass, translateFdSet(env, writeFDArray, countWriteC, writeFds, flagArray.get(), countReadC, SOCKET_OP_WRITE); } -static jobject osNetworkSystem_getSocketLocalAddress(JNIEnv* env, +static jobject OSNetworkSystem_getSocketLocalAddress(JNIEnv* env, jobject, jobject fileDescriptor) { NetFd fd(env, fileDescriptor); if (fd.isClosed()) { return NULL; } - sockaddr_storage addr; - socklen_t addrLen = sizeof(addr); - memset(&addr, 0, addrLen); - int rc = getsockname(fd.get(), (sockaddr*) &addr, &addrLen); + sockaddr_storage ss; + socklen_t ssLen = sizeof(ss); + memset(&ss, 0, ssLen); + int rc = getsockname(fd.get(), reinterpret_cast<sockaddr*>(&ss), &ssLen); if (rc == -1) { // TODO: the public API doesn't allow failure, so this whole method // represents a broken design. In practice, though, getsockname can't @@ -1169,20 +1167,20 @@ static jobject osNetworkSystem_getSocketLocalAddress(JNIEnv* env, LOGE("getsockname failed: %s (errno=%i)", strerror(errno), errno); return NULL; } - return socketAddressToInetAddress(env, &addr); + return socketAddressToInetAddress(env, &ss); } -static jint osNetworkSystem_getSocketLocalPort(JNIEnv* env, jobject, +static jint OSNetworkSystem_getSocketLocalPort(JNIEnv* env, jobject, jobject fileDescriptor) { NetFd fd(env, fileDescriptor); if (fd.isClosed()) { return 0; } - sockaddr_storage addr; - socklen_t addrLen = sizeof(addr); - memset(&addr, 0, addrLen); - int rc = getsockname(fd.get(), (sockaddr*) &addr, &addrLen); + sockaddr_storage ss; + socklen_t ssLen = sizeof(ss); + memset(&ss, 0, sizeof(ss)); + int rc = getsockname(fd.get(), reinterpret_cast<sockaddr*>(&ss), &ssLen); if (rc == -1) { // TODO: the public API doesn't allow failure, so this whole method // represents a broken design. In practice, though, getsockname can't @@ -1190,7 +1188,7 @@ static jint osNetworkSystem_getSocketLocalPort(JNIEnv* env, jobject, LOGE("getsockname failed: %s (errno=%i)", strerror(errno), errno); return 0; } - return getSocketAddressPort(&addr); + return getSocketAddressPort(&ss); } template <typename T> @@ -1216,7 +1214,7 @@ static jobject getSocketOption_Integer(JNIEnv* env, const NetFd& fd, int level, return getSocketOption(env, fd, level, option, &value) ? integerValueOf(env, value) : NULL; } -static jobject osNetworkSystem_getSocketOption(JNIEnv* env, jobject, jobject fileDescriptor, jint option) { +static jobject OSNetworkSystem_getSocketOption(JNIEnv* env, jobject, jobject fileDescriptor, jint option) { NetFd fd(env, fileDescriptor); if (fd.isClosed()) { return NULL; @@ -1284,7 +1282,7 @@ static jobject osNetworkSystem_getSocketOption(JNIEnv* env, jobject, jobject fil } case JAVASOCKOPT_IP_MULTICAST_IF2: if (family == AF_INET) { - struct ip_mreqn multicastRequest; + ip_mreqn multicastRequest; bool ok = getSocketOption(env, fd, IPPROTO_IP, IP_MULTICAST_IF, &multicastRequest); return ok ? integerValueOf(env, multicastRequest.imr_ifindex) : NULL; } else { @@ -1333,7 +1331,7 @@ static void setSocketOption(JNIEnv* env, const NetFd& fd, int level, int option, } } -static void osNetworkSystem_setSocketOption(JNIEnv* env, jobject, jobject fileDescriptor, jint option, jobject optVal) { +static void OSNetworkSystem_setSocketOption(JNIEnv* env, jobject, jobject fileDescriptor, jint option, jobject optVal) { NetFd fd(env, fileDescriptor); if (fd.isClosed()) { return; @@ -1424,7 +1422,7 @@ static void osNetworkSystem_setSocketOption(JNIEnv* env, jobject, jobject fileDe jniThrowSocketException(env, EAFNOSUPPORT); return; } - struct ip_mreqn mcast_req; + ip_mreqn mcast_req; memset(&mcast_req, 0, sizeof(mcast_req)); mcast_req.imr_address = reinterpret_cast<sockaddr_in*>(&sockVal)->sin_addr; setSocketOption(env, fd, IPPROTO_IP, IP_MULTICAST_IF, &mcast_req); @@ -1434,8 +1432,8 @@ static void osNetworkSystem_setSocketOption(JNIEnv* env, jobject, jobject fileDe // TODO: is this right? should we unconditionally set the IPPROTO_IP state in case // we have an IPv6 socket communicating via IPv4? if (family == AF_INET) { - // IP_MULTICAST_IF expects a pointer to a struct ip_mreqn. - struct ip_mreqn multicastRequest; + // IP_MULTICAST_IF expects a pointer to an ip_mreqn struct. + ip_mreqn multicastRequest; memset(&multicastRequest, 0, sizeof(multicastRequest)); multicastRequest.imr_ifindex = intVal; setSocketOption(env, fd, IPPROTO_IP, IP_MULTICAST_IF, &multicastRequest); @@ -1491,15 +1489,15 @@ static void doShutdown(JNIEnv* env, jobject fileDescriptor, int how) { } } -static void osNetworkSystem_shutdownInput(JNIEnv* env, jobject, jobject fd) { +static void OSNetworkSystem_shutdownInput(JNIEnv* env, jobject, jobject fd) { doShutdown(env, fd, SHUT_RD); } -static void osNetworkSystem_shutdownOutput(JNIEnv* env, jobject, jobject fd) { +static void OSNetworkSystem_shutdownOutput(JNIEnv* env, jobject, jobject fd) { doShutdown(env, fd, SHUT_WR); } -static void osNetworkSystem_close(JNIEnv* env, jobject, jobject fileDescriptor) { +static void OSNetworkSystem_close(JNIEnv* env, jobject, jobject fileDescriptor) { NetFd fd(env, fileDescriptor); if (fd.isClosed()) { return; @@ -1512,32 +1510,32 @@ static void osNetworkSystem_close(JNIEnv* env, jobject, jobject fileDescriptor) } static JNINativeMethod gMethods[] = { - { "accept", "(Ljava/io/FileDescriptor;Ljava/net/SocketImpl;Ljava/io/FileDescriptor;)V", (void*) osNetworkSystem_accept }, - { "bind", "(Ljava/io/FileDescriptor;Ljava/net/InetAddress;I)V", (void*) osNetworkSystem_bind }, - { "close", "(Ljava/io/FileDescriptor;)V", (void*) osNetworkSystem_close }, - { "connectNonBlocking", "(Ljava/io/FileDescriptor;Ljava/net/InetAddress;I)Z", (void*) osNetworkSystem_connectNonBlocking }, - { "connect", "(Ljava/io/FileDescriptor;Ljava/net/InetAddress;II)V", (void*) osNetworkSystem_connect }, - { "disconnectDatagram", "(Ljava/io/FileDescriptor;)V", (void*) osNetworkSystem_disconnectDatagram }, - { "getSocketLocalAddress", "(Ljava/io/FileDescriptor;)Ljava/net/InetAddress;", (void*) osNetworkSystem_getSocketLocalAddress }, - { "getSocketLocalPort", "(Ljava/io/FileDescriptor;)I", (void*) osNetworkSystem_getSocketLocalPort }, - { "getSocketOption", "(Ljava/io/FileDescriptor;I)Ljava/lang/Object;", (void*) osNetworkSystem_getSocketOption }, - { "isConnected", "(Ljava/io/FileDescriptor;I)Z", (void*) osNetworkSystem_isConnected }, - { "listen", "(Ljava/io/FileDescriptor;I)V", (void*) osNetworkSystem_listen }, - { "read", "(Ljava/io/FileDescriptor;[BII)I", (void*) osNetworkSystem_read }, - { "readDirect", "(Ljava/io/FileDescriptor;II)I", (void*) osNetworkSystem_readDirect }, - { "recv", "(Ljava/io/FileDescriptor;Ljava/net/DatagramPacket;[BIIZZ)I", (void*) osNetworkSystem_recv }, - { "recvDirect", "(Ljava/io/FileDescriptor;Ljava/net/DatagramPacket;IIIZZ)I", (void*) osNetworkSystem_recvDirect }, - { "selectImpl", "([Ljava/io/FileDescriptor;[Ljava/io/FileDescriptor;II[IJ)Z", (void*) osNetworkSystem_selectImpl }, - { "send", "(Ljava/io/FileDescriptor;[BIIILjava/net/InetAddress;)I", (void*) osNetworkSystem_send }, - { "sendDirect", "(Ljava/io/FileDescriptor;IIIILjava/net/InetAddress;)I", (void*) osNetworkSystem_sendDirect }, - { "sendUrgentData", "(Ljava/io/FileDescriptor;B)V", (void*) osNetworkSystem_sendUrgentData }, - { "setInetAddress", "(Ljava/net/InetAddress;[B)V", (void*) osNetworkSystem_setInetAddress }, - { "setSocketOption", "(Ljava/io/FileDescriptor;ILjava/lang/Object;)V", (void*) osNetworkSystem_setSocketOption }, - { "shutdownInput", "(Ljava/io/FileDescriptor;)V", (void*) osNetworkSystem_shutdownInput }, - { "shutdownOutput", "(Ljava/io/FileDescriptor;)V", (void*) osNetworkSystem_shutdownOutput }, - { "socket", "(Ljava/io/FileDescriptor;Z)V", (void*) osNetworkSystem_socket }, - { "write", "(Ljava/io/FileDescriptor;[BII)I", (void*) osNetworkSystem_write }, - { "writeDirect", "(Ljava/io/FileDescriptor;III)I", (void*) osNetworkSystem_writeDirect }, + NATIVE_METHOD(OSNetworkSystem, accept, "(Ljava/io/FileDescriptor;Ljava/net/SocketImpl;Ljava/io/FileDescriptor;)V"), + NATIVE_METHOD(OSNetworkSystem, bind, "(Ljava/io/FileDescriptor;Ljava/net/InetAddress;I)V"), + NATIVE_METHOD(OSNetworkSystem, close, "(Ljava/io/FileDescriptor;)V"), + NATIVE_METHOD(OSNetworkSystem, connectNonBlocking, "(Ljava/io/FileDescriptor;Ljava/net/InetAddress;I)Z"), + NATIVE_METHOD(OSNetworkSystem, connect, "(Ljava/io/FileDescriptor;Ljava/net/InetAddress;II)V"), + NATIVE_METHOD(OSNetworkSystem, disconnectDatagram, "(Ljava/io/FileDescriptor;)V"), + NATIVE_METHOD(OSNetworkSystem, getSocketLocalAddress, "(Ljava/io/FileDescriptor;)Ljava/net/InetAddress;"), + NATIVE_METHOD(OSNetworkSystem, getSocketLocalPort, "(Ljava/io/FileDescriptor;)I"), + NATIVE_METHOD(OSNetworkSystem, getSocketOption, "(Ljava/io/FileDescriptor;I)Ljava/lang/Object;"), + NATIVE_METHOD(OSNetworkSystem, isConnected, "(Ljava/io/FileDescriptor;I)Z"), + NATIVE_METHOD(OSNetworkSystem, listen, "(Ljava/io/FileDescriptor;I)V"), + NATIVE_METHOD(OSNetworkSystem, read, "(Ljava/io/FileDescriptor;[BII)I"), + NATIVE_METHOD(OSNetworkSystem, readDirect, "(Ljava/io/FileDescriptor;II)I"), + NATIVE_METHOD(OSNetworkSystem, recv, "(Ljava/io/FileDescriptor;Ljava/net/DatagramPacket;[BIIZZ)I"), + NATIVE_METHOD(OSNetworkSystem, recvDirect, "(Ljava/io/FileDescriptor;Ljava/net/DatagramPacket;IIIZZ)I"), + NATIVE_METHOD(OSNetworkSystem, selectImpl, "([Ljava/io/FileDescriptor;[Ljava/io/FileDescriptor;II[IJ)Z"), + NATIVE_METHOD(OSNetworkSystem, send, "(Ljava/io/FileDescriptor;[BIIILjava/net/InetAddress;)I"), + NATIVE_METHOD(OSNetworkSystem, sendDirect, "(Ljava/io/FileDescriptor;IIIILjava/net/InetAddress;)I"), + NATIVE_METHOD(OSNetworkSystem, sendUrgentData, "(Ljava/io/FileDescriptor;B)V"), + NATIVE_METHOD(OSNetworkSystem, setInetAddress, "(Ljava/net/InetAddress;[B)V"), + NATIVE_METHOD(OSNetworkSystem, setSocketOption, "(Ljava/io/FileDescriptor;ILjava/lang/Object;)V"), + NATIVE_METHOD(OSNetworkSystem, shutdownInput, "(Ljava/io/FileDescriptor;)V"), + NATIVE_METHOD(OSNetworkSystem, shutdownOutput, "(Ljava/io/FileDescriptor;)V"), + NATIVE_METHOD(OSNetworkSystem, socket, "(Ljava/io/FileDescriptor;Z)V"), + NATIVE_METHOD(OSNetworkSystem, write, "(Ljava/io/FileDescriptor;[BII)I"), + NATIVE_METHOD(OSNetworkSystem, writeDirect, "(Ljava/io/FileDescriptor;III)I"), }; int register_org_apache_harmony_luni_platform_OSNetworkSystem(JNIEnv* env) { diff --git a/luni/src/main/native/org_apache_harmony_luni_util_NumberConvert.cpp b/luni/src/main/native/org_apache_harmony_luni_util_NumberConvert.cpp index 6839b98..b1719b2 100644 --- a/luni/src/main/native/org_apache_harmony_luni_util_NumberConvert.cpp +++ b/luni/src/main/native/org_apache_harmony_luni_util_NumberConvert.cpp @@ -22,6 +22,7 @@ #include <stdlib.h> #include "JNIHelp.h" +#include "JniConstants.h" #include "ScopedPrimitiveArray.h" #include "cbigint.h" @@ -252,7 +253,7 @@ void NumberConverter_bigIntDigitGeneratorInstImpl(JNIEnv* env, jobject inst, jlo } static JNINativeMethod gMethods[] = { - { "bigIntDigitGeneratorInstImpl", "(JIZI)V", (void*)NumberConverter_bigIntDigitGeneratorInstImpl }, + NATIVE_METHOD(NumberConverter, bigIntDigitGeneratorInstImpl, "(JIZI)V"), }; int register_org_apache_harmony_luni_util_NumberConvert(JNIEnv *env) { return jniRegisterNativeMethods(env, "org/apache/harmony/luni/util/NumberConverter", diff --git a/luni/src/main/native/org_apache_harmony_luni_util_fltparse.cpp b/luni/src/main/native/org_apache_harmony_luni_util_fltparse.cpp index e85b7f1..e123858 100644 --- a/luni/src/main/native/org_apache_harmony_luni_util_fltparse.cpp +++ b/luni/src/main/native/org_apache_harmony_luni_util_fltparse.cpp @@ -19,6 +19,7 @@ #include <string.h> #include <math.h> #include "JNIHelp.h" +#include "JniConstants.h" #include "ScopedUtfChars.h" #include "commonDblParce.h" #include "cbigint.h" @@ -41,11 +42,11 @@ #define DEFAULT_WIDTH MAX_ACCURACY_WIDTH JNIEXPORT jfloat JNICALL -Java_org_apache_harmony_luni_util_FloatingPointParser_parseFltImpl (JNIEnv* env, +FloatingPointParser_parseFltImpl (JNIEnv* env, jclass clazz, jstring s, jint e); JNIEXPORT jdouble JNICALL -Java_org_apache_harmony_luni_util_FloatingPointParser_parseDblImpl (JNIEnv* env, +FloatingPointParser_parseDblImpl (JNIEnv* env, jclass clazz, jstring s, jint e); @@ -539,7 +540,7 @@ OutOfMemory: #endif JNIEXPORT jfloat JNICALL -Java_org_apache_harmony_luni_util_FloatingPointParser_parseFltImpl (JNIEnv* env, +FloatingPointParser_parseFltImpl (JNIEnv* env, jclass, jstring s, jint e) { @@ -560,7 +561,7 @@ Java_org_apache_harmony_luni_util_FloatingPointParser_parseFltImpl (JNIEnv* env, } JNIEXPORT jdouble JNICALL -Java_org_apache_harmony_luni_util_FloatingPointParser_parseDblImpl (JNIEnv* env, +FloatingPointParser_parseDblImpl (JNIEnv* env, jclass, jstring s, jint e) { @@ -581,10 +582,8 @@ Java_org_apache_harmony_luni_util_FloatingPointParser_parseDblImpl (JNIEnv* env, } static JNINativeMethod gMethods[] = { - { "parseFltImpl", "(Ljava/lang/String;I)F", - (void*)Java_org_apache_harmony_luni_util_FloatingPointParser_parseFltImpl }, - { "parseDblImpl", "(Ljava/lang/String;I)D", - (void*)Java_org_apache_harmony_luni_util_FloatingPointParser_parseDblImpl }, + NATIVE_METHOD(FloatingPointParser, parseFltImpl, "(Ljava/lang/String;I)F"), + NATIVE_METHOD(FloatingPointParser, parseDblImpl, "(Ljava/lang/String;I)D"), }; int register_org_apache_harmony_luni_util_fltparse(JNIEnv *env) { return jniRegisterNativeMethods(env, "org/apache/harmony/luni/util/FloatingPointParser", diff --git a/luni/src/main/native/org_apache_harmony_xml_ExpatParser.cpp b/luni/src/main/native/org_apache_harmony_xml_ExpatParser.cpp index c2862e1..c4623e6 100644 --- a/luni/src/main/native/org_apache_harmony_xml_ExpatParser.cpp +++ b/luni/src/main/native/org_apache_harmony_xml_ExpatParser.cpp @@ -1028,7 +1028,7 @@ static void ExpatParser_appendBytes(JNIEnv* env, jobject object, jint pointer, append(env, object, pointer, bytes, byteOffset, byteCount, XML_FALSE); } -static void ExpatParser_appendCharacters(JNIEnv* env, jobject object, jint pointer, +static void ExpatParser_appendChars(JNIEnv* env, jobject object, jint pointer, jcharArray xml, jint charOffset, jint charCount) { ScopedCharArrayRO charArray(env, xml); if (charArray.get() == NULL) { @@ -1371,29 +1371,29 @@ static void ExpatParser_staticInitialize(JNIEnv* env, jobject classObject, jstri } static JNINativeMethod parserMethods[] = { - { "append", "(ILjava/lang/String;Z)V", (void*) ExpatParser_appendString }, - { "append", "(I[BII)V", (void*) ExpatParser_appendBytes }, - { "append", "(I[CII)V", (void*) ExpatParser_appendCharacters }, - { "cloneAttributes", "(II)I", (void*) ExpatParser_cloneAttributes }, - { "column", "(I)I", (void*) ExpatParser_column }, - { "createEntityParser", "(ILjava/lang/String;)I", (void*) ExpatParser_createEntityParser}, - { "initialize", "(Ljava/lang/String;Z)I", (void*) ExpatParser_initialize}, - { "line", "(I)I", (void*) ExpatParser_line }, - { "release", "(I)V", (void*) ExpatParser_release }, - { "releaseParser", "(I)V", (void*) ExpatParser_releaseParser }, - { "staticInitialize", "(Ljava/lang/String;)V", (void*) ExpatParser_staticInitialize}, + NATIVE_METHOD(ExpatParser, appendString, "(ILjava/lang/String;Z)V"), + NATIVE_METHOD(ExpatParser, appendBytes, "(I[BII)V"), + NATIVE_METHOD(ExpatParser, appendChars, "(I[CII)V"), + NATIVE_METHOD(ExpatParser, cloneAttributes, "(II)I"), + NATIVE_METHOD(ExpatParser, column, "(I)I"), + NATIVE_METHOD(ExpatParser, createEntityParser, "(ILjava/lang/String;)I"), + NATIVE_METHOD(ExpatParser, initialize, "(Ljava/lang/String;Z)I"), + NATIVE_METHOD(ExpatParser, line, "(I)I"), + NATIVE_METHOD(ExpatParser, release, "(I)V"), + NATIVE_METHOD(ExpatParser, releaseParser, "(I)V"), + NATIVE_METHOD(ExpatParser, staticInitialize, "(Ljava/lang/String;)V"), }; static JNINativeMethod attributeMethods[] = { - { "freeAttributes", "(I)V", (void*) ExpatAttributes_freeAttributes }, - { "getIndex", "(ILjava/lang/String;)I", (void*) ExpatAttributes_getIndexForQName }, - { "getIndex", "(ILjava/lang/String;Ljava/lang/String;)I", (void*) ExpatAttributes_getIndex }, - { "getLocalName", "(III)Ljava/lang/String;", (void*) ExpatAttributes_getLocalName }, - { "getQName", "(III)Ljava/lang/String;", (void*) ExpatAttributes_getQName }, - { "getURI", "(III)Ljava/lang/String;", (void*) ExpatAttributes_getURI }, - { "getValue", "(II)Ljava/lang/String;", (void*) ExpatAttributes_getValueByIndex }, - { "getValue", "(ILjava/lang/String;)Ljava/lang/String;", (void*) ExpatAttributes_getValueForQName }, - { "getValue", "(ILjava/lang/String;Ljava/lang/String;)Ljava/lang/String;", (void*) ExpatAttributes_getValue }, + NATIVE_METHOD(ExpatAttributes, freeAttributes, "(I)V"), + NATIVE_METHOD(ExpatAttributes, getIndexForQName, "(ILjava/lang/String;)I"), + NATIVE_METHOD(ExpatAttributes, getIndex, "(ILjava/lang/String;Ljava/lang/String;)I"), + NATIVE_METHOD(ExpatAttributes, getLocalName, "(III)Ljava/lang/String;"), + NATIVE_METHOD(ExpatAttributes, getQName, "(III)Ljava/lang/String;"), + NATIVE_METHOD(ExpatAttributes, getURI, "(III)Ljava/lang/String;"), + NATIVE_METHOD(ExpatAttributes, getValueByIndex, "(II)Ljava/lang/String;"), + NATIVE_METHOD(ExpatAttributes, getValueForQName, "(ILjava/lang/String;)Ljava/lang/String;"), + NATIVE_METHOD(ExpatAttributes, getValue, "(ILjava/lang/String;Ljava/lang/String;)Ljava/lang/String;"), }; int register_org_apache_harmony_xml_ExpatParser(JNIEnv* env) { int result = jniRegisterNativeMethods(env, "org/apache/harmony/xml/ExpatParser", |