return 1;
}
-static void com_lsatt_callback(int fd, const struct osl_object *query)
+static int com_lsatt_callback(int fd, const struct osl_object *query)
{
struct lsatt_action_data laad = {
.flags = *(unsigned *) query->data,
pmd.pm_flags |= PM_REVERSE_LOOP;
for_each_matching_row(&pmd);
flush_and_free_pb(&laad.pb);
+ return 0;
}
int com_lsatt(struct command_context *cc)
};
-static void com_addatt_callback(int fd, const struct osl_object *query)
+static int com_addatt_callback(int fd, const struct osl_object *query)
{
char *p;
int ret = 1;
if (ret < 0)
para_printf(&pb, "%s: %s\n", p, para_strerror(-ret));
flush_and_free_pb(&pb);
+ return 0;
}
int com_addatt(struct command_context *cc)
return ret;
}
-static void com_mvatt_callback(int fd, const struct osl_object *query)
+static int com_mvatt_callback(int fd, const struct osl_object *query)
{
char *old = query->data;
size_t size = strlen(old) + 1;
else
afs_event(ATTRIBUTE_RENAME, &pb, NULL);
flush_and_free_pb(&pb);
+ return 0;
}
int com_mvatt(struct command_context *cc)
return 1;
}
-static void com_rmatt_callback(int fd, const struct osl_object *query)
+static int com_rmatt_callback(int fd, const struct osl_object *query)
{
struct remove_attribute_action_data raad = {
.num_removed = 0,
else if (!raad.num_removed)
para_printf(&raad.pb, "no match -- nothing removed\n");
flush_and_free_pb(&raad.pb);
+ return 0;
}
int com_rmatt(struct command_context *cc)