diff options
| author | Po Lu | 2024-04-21 21:11:22 +0800 |
|---|---|---|
| committer | Po Lu | 2024-04-21 21:11:22 +0800 |
| commit | 4773ecb93193495f141e5d60c0c5ded58eaa2c98 (patch) | |
| tree | d9e2401c2ada487ff2f23d861abb962945302bf4 /src/androidvfs.c | |
| parent | 9c01da56a547f493535e73877e16ccefcb2730a0 (diff) | |
| download | emacs-4773ecb93193495f141e5d60c0c5ded58eaa2c98.tar.gz emacs-4773ecb93193495f141e5d60c0c5ded58eaa2c98.zip | |
Better verify arguments to android-relinquish-directory-access
* src/androidvfs.c (Fandroid_relinquish_directory_access):
Provide for NULL values from android_name_file and remote files.
* src/xdisp.c (decode_mode_spec): Don't intern file-remote-p.
(syms_of_xdisp) <Qfile_remote_p>: New defsym.
Diffstat (limited to 'src/androidvfs.c')
| -rw-r--r-- | src/androidvfs.c | 17 |
1 files changed, 12 insertions, 5 deletions
diff --git a/src/androidvfs.c b/src/androidvfs.c index 9e65dd2b140..c4b3dba4af0 100644 --- a/src/androidvfs.c +++ b/src/androidvfs.c | |||
| @@ -7805,10 +7805,10 @@ DEFUN ("android-relinquish-directory-access", | |||
| 7805 | Sandroid_relinquish_directory_access, 1, 1, | 7805 | Sandroid_relinquish_directory_access, 1, 1, |
| 7806 | "DDirectory: ", | 7806 | "DDirectory: ", |
| 7807 | doc: /* Relinquish access to the provided directory. | 7807 | doc: /* Relinquish access to the provided directory. |
| 7808 | DIRECTORY must be an inferior directory to a subdirectory of | 7808 | DIRECTORY must be the toplevel directory of an open SAF volume (i.e., a |
| 7809 | /content/storage. Once the command completes, the parent of DIRECTORY | 7809 | file under /content/storage), or one of its inferiors. Once the command |
| 7810 | below that subdirectory from will cease to appear there, but no files | 7810 | completes, the SAF directory holding this directory will vanish, but no |
| 7811 | will be removed. */) | 7811 | files will be removed. */) |
| 7812 | (Lisp_Object file) | 7812 | (Lisp_Object file) |
| 7813 | { | 7813 | { |
| 7814 | struct android_vnode *vp; | 7814 | struct android_vnode *vp; |
| @@ -7824,7 +7824,14 @@ will be removed. */) | |||
| 7824 | return Qnil; | 7824 | return Qnil; |
| 7825 | 7825 | ||
| 7826 | file = ENCODE_FILE (Fexpand_file_name (file, Qnil)); | 7826 | file = ENCODE_FILE (Fexpand_file_name (file, Qnil)); |
| 7827 | vp = android_name_file (SSDATA (file)); | 7827 | |
| 7828 | if (!NILP (call1 (Qfile_remote_p, file))) | ||
| 7829 | signal_error ("Cannot relinquish access to remote file", file); | ||
| 7830 | |||
| 7831 | vp = android_name_file (SSDATA (file)); | ||
| 7832 | |||
| 7833 | if (!vp) | ||
| 7834 | report_file_error ("Relinquishing directory", file); | ||
| 7828 | 7835 | ||
| 7829 | if (vp->type != ANDROID_VNODE_SAF_TREE) | 7836 | if (vp->type != ANDROID_VNODE_SAF_TREE) |
| 7830 | { | 7837 | { |