[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
master d9814efe075: ; * src/androidfns.c (syms_of_androidfns_for_pdumper
From: |
Po Lu |
Subject: |
master d9814efe075: ; * src/androidfns.c (syms_of_androidfns_for_pdumper): Fix crash. |
Date: |
Thu, 14 Dec 2023 01:02:34 -0500 (EST) |
branch: master
commit d9814efe0759ce916a1c470c5908d2ca3c80b29b
Author: Po Lu <luangruo@yahoo.com>
Commit: Po Lu <luangruo@yahoo.com>
; * src/androidfns.c (syms_of_androidfns_for_pdumper): Fix crash.
---
src/androidfns.c | 41 +++++++++++++++++++++++------------------
1 file changed, 23 insertions(+), 18 deletions(-)
diff --git a/src/androidfns.c b/src/androidfns.c
index 60ace4fd453..e1fd772df9c 100644
--- a/src/androidfns.c
+++ b/src/androidfns.c
@@ -3278,31 +3278,36 @@ syms_of_androidfns_for_pdumper (void)
/* Proceed to retrieve the script. */
- method = (*android_java_env)->GetMethodID (android_java_env, locale,
- "getScript",
- "()Ljava/lang/String;");
- if (!method)
- emacs_abort ();
-
- string = (*android_java_env)->CallObjectMethod (android_java_env, object,
- method);
- android_exception_check_2 (object, locale);
-
- if (!string)
+ if (android_get_current_api_level () < 21)
script = empty_unibyte_string;
else
{
- data = (*android_java_env)->GetStringUTFChars (android_java_env,
- string, NULL);
- android_exception_check_3 (object, locale, string);
+ method = (*android_java_env)->GetMethodID (android_java_env, locale,
+ "getScript",
+ "()Ljava/lang/String;");
+ if (!method)
+ emacs_abort ();
- if (!data)
+ string = (*android_java_env)->CallObjectMethod (android_java_env,
+ object, method);
+ android_exception_check_2 (object, locale);
+
+ if (!string)
script = empty_unibyte_string;
else
{
- script = build_unibyte_string (data);
- (*android_java_env)->ReleaseStringUTFChars (android_java_env,
- string, data);
+ data = (*android_java_env)->GetStringUTFChars (android_java_env,
+ string, NULL);
+ android_exception_check_3 (object, locale, string);
+
+ if (!data)
+ script = empty_unibyte_string;
+ else
+ {
+ script = build_unibyte_string (data);
+ (*android_java_env)->ReleaseStringUTFChars (android_java_env,
+ string, data);
+ }
}
}
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- master d9814efe075: ; * src/androidfns.c (syms_of_androidfns_for_pdumper): Fix crash.,
Po Lu <=