summaryrefslogtreecommitdiffstats
path: root/media/jni/android_mtp_MtpDatabase.cpp
diff options
context:
space:
mode:
authorElliott Hughes <enh@google.com>2011-04-08 17:42:34 -0700
committerElliott Hughes <enh@google.com>2011-04-08 17:42:34 -0700
commit15dd15fd572df6b6f785dff75f66e9b99f40322a (patch)
tree101754d3ee5b9903fbe513b308646c8eaccab8af /media/jni/android_mtp_MtpDatabase.cpp
parent6cab9a6e3fc660ca9c2b32e01f86c71da222c181 (diff)
downloadframeworks_base-15dd15fd572df6b6f785dff75f66e9b99f40322a.zip
frameworks_base-15dd15fd572df6b6f785dff75f66e9b99f40322a.tar.gz
frameworks_base-15dd15fd572df6b6f785dff75f66e9b99f40322a.tar.bz2
Tidy up exception throwing in the media native code.
(I'm going through all of frameworks/base in multiple passes. This pass is just for exception throwing.) Change-Id: Ia14a5c720edae86ac780023be88e676aa1b3315d
Diffstat (limited to 'media/jni/android_mtp_MtpDatabase.cpp')
-rw-r--r--media/jni/android_mtp_MtpDatabase.cpp31
1 files changed, 13 insertions, 18 deletions
diff --git a/media/jni/android_mtp_MtpDatabase.cpp b/media/jni/android_mtp_MtpDatabase.cpp
index 2f88fd1..06708da 100644
--- a/media/jni/android_mtp_MtpDatabase.cpp
+++ b/media/jni/android_mtp_MtpDatabase.cpp
@@ -182,28 +182,23 @@ MyMtpDatabase::MyMtpDatabase(JNIEnv *env, jobject client)
mLongBuffer(NULL),
mStringBuffer(NULL)
{
- jintArray intArray;
- jlongArray longArray;
- jcharArray charArray;
-
// create buffers for out arguments
// we don't need to be thread-safe so this is OK
- intArray = env->NewIntArray(3);
- if (!intArray)
- goto out_of_memory;
+ jintArray intArray = env->NewIntArray(3);
+ if (!intArray) {
+ return; // Already threw.
+ }
mIntBuffer = (jintArray)env->NewGlobalRef(intArray);
- longArray = env->NewLongArray(2);
- if (!longArray)
- goto out_of_memory;
+ jlongArray longArray = env->NewLongArray(2);
+ if (!longArray) {
+ return; // Already threw.
+ }
mLongBuffer = (jlongArray)env->NewGlobalRef(longArray);
- charArray = env->NewCharArray(256);
- if (!charArray)
- goto out_of_memory;
+ jcharArray charArray = env->NewCharArray(256);
+ if (!charArray) {
+ return; // Already threw.
+ }
mStringBuffer = (jcharArray)env->NewGlobalRef(charArray);
- return;
-
-out_of_memory:
- env->ThrowNew(env->FindClass("java/lang/OutOfMemoryError"), NULL);
}
void MyMtpDatabase::cleanup(JNIEnv *env) {
@@ -823,7 +818,7 @@ MtpResponseCode MyMtpDatabase::getObjectFilePath(MtpObjectHandle handle,
outFileLength = longValues[0];
outFormat = longValues[1];
env->ReleaseLongArrayElements(mLongBuffer, longValues, 0);
-
+
checkAndClearExceptionFromCallback(env, __FUNCTION__);
return result;
}