}
static NTSTATUS get_ea_list_from_fsp(TALLOC_CTX *mem_ctx,
- connection_struct *conn, files_struct *fsp,
+ files_struct *fsp,
size_t *pea_total_len,
struct ea_list **ea_list)
{
*pea_total_len = 0;
*ea_list = NULL;
- if (!lp_ea_support(SNUM(conn))) {
+ /* symlink */
+ if (fsp == NULL) {
return NT_STATUS_OK;
}
- /* symlink */
- if (fsp == NULL) {
+ if (!lp_ea_support(SNUM(fsp->conn))) {
return NT_STATUS_OK;
}
}
return get_ea_list_from_file_path(mem_ctx,
- conn,
+ fsp->conn,
fsp,
pea_total_len,
ea_list);
SSVAL(p,20,mode);
p += 22; /* p now points to the EA area. */
- status = get_ea_list_from_fsp(ctx, conn,
+ status = get_ea_list_from_fsp(ctx,
smb_fname->fsp,
&ea_len, &file_list);
if (!NT_STATUS_IS_OK(status)) {
DEBUG(10,("smbd_do_qfilepathinfo: SMB_INFO_QUERY_EAS_FROM_LIST\n"));
status =
- get_ea_list_from_fsp(mem_ctx, conn,
+ get_ea_list_from_fsp(mem_ctx,
smb_fname->fsp,
&total_ea_len, &ea_file_list);
if (!NT_STATUS_IS_OK(status)) {
size_t total_ea_len = 0;
DEBUG(10,("smbd_do_qfilepathinfo: SMB_INFO_QUERY_ALL_EAS\n"));
- status = get_ea_list_from_fsp(mem_ctx, conn,
+ status = get_ea_list_from_fsp(mem_ctx,
smb_fname->fsp,
&total_ea_len, &ea_list);
if (!NT_STATUS_IS_OK(status)) {
/*TODO: add filtering and index handling */
status =
- get_ea_list_from_fsp(mem_ctx, conn,
+ get_ea_list_from_fsp(mem_ctx,
smb_fname->fsp,
&total_ea_len, &ea_file_list);
if (!NT_STATUS_IS_OK(status)) {