char *base_data,
char *end_data,
int space_remaining,
- bool *got_exact_match,
int *last_entry_off,
struct ea_list *name_list)
{
ppdata, base_data, end_data,
space_remaining,
NULL,
- got_exact_match,
last_entry_off, name_list, NULL);
}
ask_sharemode = fsp_search_ask_sharemode(fsp);
for (i=0;(i<maxentries) && !finished && !out_of_space;i++) {
- bool got_exact_match = False;
ntstatus = get_lanman2_dir_entry(talloc_tos(),
conn,
pdata,
data_end,
space_remaining,
- &got_exact_match,
&last_entry_off,
ea_list);
if (NT_STATUS_EQUAL(ntstatus, NT_STATUS_ILLEGAL_CHARACTER)) {
numentries++;
}
- /*
- * As an optimisation if we know we aren't looking
- * for a wildcard name (ie. the name matches the wildcard exactly)
- * then we can finish on any (first) match.
- * This speeds up large directory searches. JRA.
- */
-
- if (got_exact_match) {
- finished = true;
- }
-
/* Ensure space_remaining never goes -ve. */
if (PTR_DIFF(p,pdata) > max_data_bytes) {
space_remaining = 0;
ask_sharemode = fsp_search_ask_sharemode(fsp);
for (i=0;(i<(int)maxentries) && !finished && !out_of_space ;i++) {
- bool got_exact_match = False;
ntstatus = get_lanman2_dir_entry(ctx,
conn,
pdata,
data_end,
space_remaining,
- &got_exact_match,
&last_entry_off,
ea_list);
if (NT_STATUS_EQUAL(ntstatus, NT_STATUS_ILLEGAL_CHARACTER)) {
numentries++;
}
- /*
- * As an optimisation if we know we aren't looking
- * for a wildcard name (ie. the name matches the wildcard exactly)
- * then we can finish on any (first) match.
- * This speeds up large directory searches. JRA.
- */
-
- if (got_exact_match) {
- finished = true;
- }
-
space_remaining = max_data_bytes - PTR_DIFF(p,pdata);
}
struct smbd_smb2_query_directory_state *state = tevent_req_data(
req, struct smbd_smb2_query_directory_state);
struct smb_filename *smb_fname = NULL; /* relative to fsp !! */
- bool got_exact_match = false;
int off = state->out_output_buffer.length;
int space_remaining = state->in_output_buffer_length - off;
struct file_id file_id;
state->end_data,
space_remaining,
&smb_fname,
- &got_exact_match,
&state->last_entry_off,
NULL,
&file_id);
char *end_data,
int space_remaining,
struct smb_filename **_smb_fname,
- bool *got_exact_match,
int *_last_entry_off,
struct ea_list *name_list,
struct file_id *file_id)
state.got_exact_match = false;
state.case_sensitive = dptr_case_sensitive(dirptr);
- *got_exact_match = false;
-
p = strrchr_m(path_mask,'/');
if(p != NULL) {
if(p[1] == '\0') {
return NT_STATUS_END_OF_FILE;
}
- *got_exact_match = state.got_exact_match;
-
marshall_with_83_names = (mangled_names == MANGLED_NAMES_YES);
status = smbd_marshall_dir_entry(ctx,