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))); }