diff options
| author | Po Lu | 2023-08-06 21:45:29 +0800 |
|---|---|---|
| committer | Po Lu | 2023-08-06 21:45:29 +0800 |
| commit | 7873369338ee0159ca285153fd4592cbcff65d7a (patch) | |
| tree | bd4fb3b1c8b19836d8d78b3ff4173470cfefd687 /src/androidvfs.c | |
| parent | 669a4b96c374801faa137f43b4497b2ed6511104 (diff) | |
| download | emacs-7873369338ee0159ca285153fd4592cbcff65d7a.tar.gz emacs-7873369338ee0159ca285153fd4592cbcff65d7a.zip | |
Update Android port
* java/org/gnu/emacs/EmacsNative.java: Declare ftruncate.
* java/org/gnu/emacs/EmacsSafThread.java (openDocument1): If
initially opening with rwt, verify the file descriptor is really
writable; if not, resort to rw and truncating the file descriptor
by hand instead.
* src/androidvfs.c (NATIVE_NAME (ftruncate)): New function.
Truncate file descriptor and return whether that was successful.
Diffstat (limited to 'src/androidvfs.c')
| -rw-r--r-- | src/androidvfs.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/androidvfs.c b/src/androidvfs.c index dc5097f463e..d6daff481b0 100644 --- a/src/androidvfs.c +++ b/src/androidvfs.c | |||
| @@ -5605,7 +5605,7 @@ android_saf_file_open (struct android_vnode *vnode, int flags, | |||
| 5605 | /* Open a parcel file descriptor according to flags. */ | 5605 | /* Open a parcel file descriptor according to flags. */ |
| 5606 | 5606 | ||
| 5607 | method = service_class.open_document; | 5607 | method = service_class.open_document; |
| 5608 | trunc = flags & O_TRUNC; | 5608 | trunc = (flags & O_TRUNC); |
| 5609 | write = ((flags & O_RDWR) == O_RDWR || (flags & O_WRONLY)); | 5609 | write = ((flags & O_RDWR) == O_RDWR || (flags & O_WRONLY)); |
| 5610 | inside_saf_critical_section = true; | 5610 | inside_saf_critical_section = true; |
| 5611 | descriptor | 5611 | descriptor |
| @@ -6121,6 +6121,12 @@ NATIVE_NAME (safPostRequest) (JNIEnv *env, jobject object) | |||
| 6121 | sem_post (&saf_completion_sem); | 6121 | sem_post (&saf_completion_sem); |
| 6122 | } | 6122 | } |
| 6123 | 6123 | ||
| 6124 | JNIEXPORT jboolean JNICALL | ||
| 6125 | NATIVE_NAME (ftruncate) (JNIEnv *env, jobject object, jint fd) | ||
| 6126 | { | ||
| 6127 | return ftruncate (fd, 0) != -1; | ||
| 6128 | } | ||
| 6129 | |||
| 6124 | #ifdef __clang__ | 6130 | #ifdef __clang__ |
| 6125 | #pragma clang diagnostic pop | 6131 | #pragma clang diagnostic pop |
| 6126 | #else /* GNUC */ | 6132 | #else /* GNUC */ |