/* structure sent between servers in notify messages */
typedef [public] struct {
uint32 action;
+ utf8string dir;
utf8string path;
pointer private_data;
} notify_event;
for (w=in->watches;w;w=next) {
next = w->next;
if (w->wd == e->wd && filter_match(w, e)) {
+ ne.dir = w->path;
w->callback(in->ctx, w->private_data, &ne);
}
}
next = w->next;
if (w->wd == e->wd && filter_match(w, e) &&
!(w->filter & FILE_NOTIFY_CHANGE_CREATION)) {
+ ne.dir = w->path;
w->callback(in->ctx, w->private_data, &ne);
}
}
}
m = (struct notify_msg *)data->data;
- e.action = m->action;
- e.path = m->path;
- e.private_data = m->private_data;
+
+ e = (struct notify_event) {
+ .action = m->action,
+ .path = m->path,
+ .private_data = m->private_data,
+ .dir = discard_const_p(char, "")
+ };
for (listel=notify->list;listel;listel=listel->next) {
if (listel->private_data == m->private_data) {
TALLOC_CTX *tmp_ctx;
ev.action = action;
+ ev.dir = discard_const_p(char, "");
ev.path = path;
ev.private_data = e->private_data;
for (w=in->watches;w;w=next) {
next = w->next;
if (w->wd == e->wd && filter_match(w, e)) {
+ ne.dir = w->path;
w->callback(in->ctx, w->private_data, &ne);
}
}
next = w->next;
if (w->wd == e->wd && filter_match(w, e) &&
!(w->filter & FILE_NOTIFY_CHANGE_CREATION)) {
+ ne.dir = w->path;
w->callback(in->ctx, w->private_data, &ne);
}
}