mirror of
https://github.com/masscollaborationlabs/emacs.git
synced 2025-07-03 19:03:24 +00:00
Isolate fchmodat within the Android VFS layer
* src/android.h: Update prototypes. * src/androidvfs.c (unix_vfs_ops, android_unix_chmod, afs_vfs_ops) (android_afs_chmod, content_vfs_ops, android_content_chmod) (authority_vfs_ops, android_authority_chmod, saf_root_vfs_ops) (android_saf_root_chmod, saf_tree_vfs_ops, android_saf_tree_chmod) (saf_file_vfs_ops, saf_new_vfs_ops, android_saf_new_chmod) (root_vfs_ops): Add `chmod' to the list of functions implemented by each vnode. (android_fchmodat): New function. * src/fileio.c (Fset_file_modes): Use `emacs_fchmodat'. * src/lisp.h: * src/sysdep.c (emacs_fchmodat): Delegate to android_fchmodat on Android.
This commit is contained in:
parent
91a7e9d83f
commit
6d44d08e04
5 changed files with 139 additions and 9 deletions
10
src/sysdep.c
10
src/sysdep.c
|
@ -2719,6 +2719,16 @@ emacs_rename (const char *src, const char *dst)
|
|||
#endif /* !(defined HAVE_ANDROID && !defined ANDROID_STUBIFY) */
|
||||
}
|
||||
|
||||
int
|
||||
emacs_fchmodat (int fd, const char *path, mode_t mode, int flags)
|
||||
{
|
||||
#if !(defined HAVE_ANDROID && !defined ANDROID_STUBIFY)
|
||||
return fchmodat (fd, path, mode, flags);
|
||||
#else /* !defined HAVE_ANDROID || defined ANDROID_STUBIFY */
|
||||
return android_fchmodat (fd, path, mode, flags);
|
||||
#endif /* !(defined HAVE_ANDROID && !defined ANDROID_STUBIFY) */
|
||||
}
|
||||
|
||||
/* Maximum number of bytes to read or write in a single system call.
|
||||
This works around a serious bug in Linux kernels before 2.6.16; see
|
||||
<https://bugzilla.redhat.com/show_bug.cgi?format=multiple&id=612839>.
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue