const char *name;
const char *target;
const char *expected;
+ uint32_t attr;
uint64_t returned_size;
bool ok;
};
for (; state->name != NULL; state++) {
if (strequal(finfo->name, state->expected)) {
+ if (state->attr != finfo->attr) {
+ break;
+ }
state->ok = true;
state->returned_size = finfo->size;
break;
{
for (; state->name != NULL; state++) {
state->ok = false;
+ state->returned_size = 0;
}
}
.name = symlnk_dangling,
.target = symlnk_dst_dangling,
.expected = symlnk_dangling,
+ .attr = FILE_ATTRIBUTE_NORMAL,
}, {
.name = symlnk_in_share,
.target = symlnk_dst_in_share,
.expected = symlnk_in_share,
+ .attr = FILE_ATTRIBUTE_NORMAL,
}, {
.name = symlnk_outside_share,
.target = symlnk_dst_outside_share,
.expected = symlnk_outside_share,
+ .attr = FILE_ATTRIBUTE_NORMAL,
}, {
.name = NULL,
}
.name = symlnk_dangling,
.target = symlnk_dst_dangling,
.expected = symlnk_dangling,
+ .attr = FILE_ATTRIBUTE_NORMAL,
}, {
.name = symlnk_in_share,
.target = symlnk_dst_in_share,
.expected = symlnk_in_share,
+ .attr = FILE_ATTRIBUTE_NORMAL,
}, {
.name = symlnk_outside_share,
.target = symlnk_dst_outside_share,
.expected = symlnk_outside_share,
+ .attr = FILE_ATTRIBUTE_NORMAL,
}, {
.name = NULL,
}
.name = symlnk_dangling,
.target = symlnk_dst_dangling,
.expected = symlnk_dangling,
+ .attr = FILE_ATTRIBUTE_NORMAL,
}, {
.name = symlnk_in_share,
.target = symlnk_dst_in_share,
.expected = symlnk_in_share,
+ .attr = FILE_ATTRIBUTE_NORMAL,
}, {
.name = symlnk_outside_share,
.target = symlnk_dst_outside_share,
.expected = symlnk_outside_share,
+ .attr = FILE_ATTRIBUTE_NORMAL,
}, {
.name = NULL,
}