Example #1
0
static void
print_dirent(const kernel_dirent64 *d)
{
	const unsigned int d_name_offset = offsetof(kernel_dirent64, d_name);
	int d_name_len = d->d_reclen - d_name_offset;
	assert(d_name_len > 0);

	printf("{d_ino=%" PRIu64 ", d_off=%" PRId64
	       ", d_reclen=%u, d_type=%s, d_name=",
	       d->d_ino, d->d_off, d->d_reclen, str_d_type(d->d_type));

	if (d->d_name[0] == '.')
		printf("\"%.*s\"}", d_name_len, d->d_name);
	else
		printf("\"%s\"}", qname);
}
static void
print_dirent(const kernel_dirent *d)
{
    const unsigned int d_name_offset = offsetof(kernel_dirent, d_name);
    int d_name_len = d->d_reclen - d_name_offset - 1;
    assert(d_name_len > 0);

    printf("{d_ino=%llu, d_off=%llu, d_reclen=%u, d_name=",
           (unsigned long long) d->d_ino,
           (unsigned long long) d->d_off, d->d_reclen);

    if (d->d_name[0] == '.')
        printf("\"%.*s\"", d_name_len, d->d_name);
    else
        printf("\"%s\"", qname);

    printf(", d_type=%s}",
           str_d_type(*((const char *) d + d->d_reclen - 1)));
}