mirror of
https://github.com/samba-team/samba.git
synced 2025-01-11 05:18:09 +03:00
vfs_fruit: add and use is_adouble_file()
This adds a helper function that checks whether the last component of a path is an AppleDouble sidecar file with "._" name prefix. Bug: https://bugzilla.samba.org/show_bug.cgi?id=13968 Signed-off-by: Ralph Boehme <slow@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org>
This commit is contained in:
parent
e266daaed1
commit
ad70c947c7
@ -2174,6 +2174,27 @@ static bool is_apple_stream(const struct smb_filename *smb_fname)
|
||||
return false;
|
||||
}
|
||||
|
||||
static bool is_adouble_file(const char *path)
|
||||
{
|
||||
const char *p = NULL;
|
||||
int match;
|
||||
|
||||
p = strrchr(path, '/');
|
||||
if (p == NULL) {
|
||||
p = path;
|
||||
} else {
|
||||
p++;
|
||||
}
|
||||
|
||||
match = strncmp(p,
|
||||
ADOUBLE_NAME_PREFIX,
|
||||
strlen(ADOUBLE_NAME_PREFIX));
|
||||
if (match != 0) {
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Initialize config struct from our smb.conf config parameters
|
||||
**/
|
||||
@ -4227,16 +4248,12 @@ static int fruit_rmdir(struct vfs_handle_struct *handle,
|
||||
}
|
||||
|
||||
while ((de = SMB_VFS_READDIR(handle->conn, dh, NULL)) != NULL) {
|
||||
int match;
|
||||
struct adouble *ad = NULL;
|
||||
char *p = NULL;
|
||||
struct smb_filename *ad_smb_fname = NULL;
|
||||
int ret;
|
||||
|
||||
match = strncmp(de->d_name,
|
||||
ADOUBLE_NAME_PREFIX,
|
||||
strlen(ADOUBLE_NAME_PREFIX));
|
||||
if (match != 0) {
|
||||
if (!is_adouble_file(de->d_name)) {
|
||||
continue;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user