[string,charset(UTF8)] char *servicepath;
[string,charset(UTF8)] char *base_name;
[string,charset(UTF8)] char *stream_name;
- [skip] uint32 num_share_modes;
uint32 num_delete_tokens;
[size_is(num_delete_tokens)] delete_token delete_tokens[];
NTTIME old_write_time;
NTTIME changed_write_time;
[skip] boolean8 fresh;
[skip] boolean8 modified;
+ [skip] boolean8 have_share_modes;
[ignore] file_id id; /* In memory key used to lookup cache. */
} share_mode_data;
* otherwise we'd have paniced before in
* share_mode_data_store()
*/
- d->num_share_modes = 1;
+ d->have_share_modes = true;
return d;
fail:
d->sequence_number += 1;
- if (d->num_share_modes == 0) {
+ if (!d->have_share_modes) {
TDB_DATA key = dbwrap_record_get_key(rec);
bool share_entries_exist;
share_entries_exist = dbwrap_exists(share_entries_db, key);
TALLOC_FREE(static_share_mode_record);
}
- if (static_share_mode_data->num_share_modes != 0) {
+ if (static_share_mode_data->have_share_modes) {
/*
* This is worth keeping. Without share modes,
* share_mode_data_store above has left nothing in the
bool share_mode_have_entries(struct share_mode_lock *lck)
{
- return (lck->data->num_share_modes != 0);
+ return lck->data->have_share_modes;
}
struct share_mode_watch_state {
goto done;
}
- data->num_share_modes = 0;
+ data->have_share_modes = false;
data->modified = true;
ret = true;
}
if (state.created_share_mode_record) {
- d->num_share_modes = 1;
+ d->have_share_modes = true;
d->modified = true;
}
if (num_share_modes == 0) {
if (data.dsize != 0) {
- d->num_share_modes = 0;
+ d->have_share_modes = false;
d->modified = true;
}
status = dbwrap_record_delete(rec);
.private_data = private_data,
};
NTSTATUS status;
+ bool have_share_modes;
status = dbwrap_do_locked(
share_entries_db,
return false;
}
- if (d->num_share_modes != state.num_share_modes) {
- d->num_share_modes = state.num_share_modes;
+ have_share_modes = (state.num_share_modes != 0);
+ if (d->have_share_modes != have_share_modes) {
+ d->have_share_modes = have_share_modes;
d->modified = true;
}
nt_errstr(state.status));
return false;
}
- d->num_share_modes = 1;
+ d->have_share_modes = true;
return true;
}