Eric Sandeen wrote: > Taking a cue from getfattr... if a string is "mostly" > printable characters, go ahead & print as a string, > and escape what's left over. Ted, ping on this? Since we use selinux a lot, it'd be nice to have something readable in debugfs output. If there's anything you don't like about the patch I'll be happy to fix it up. Thanks, -Eric > so we get: > > Extended attributes stored in inode body: > selinux = "system_u:object_r:root_t:s0\000" (28) > > instead of: > > Extended attributes stored in inode body: > selinux = "73 79 73 74 65 6d 5f 75 3a 6f 62 6a 65 63 74 5f 72 3a 72 6f 6f 74 5f 74 3a 73 30 00 " (28) > > (selinux includes the trailing null in "len" so it > never prints as a string today) > > Signed-off-by: Eric Sandeen <sandeen@xxxxxxxxxx> > --- > > Index: e2fsprogs-1.40.5/debugfs/debugfs.c > =================================================================== > --- e2fsprogs-1.40.5.orig/debugfs/debugfs.c > +++ e2fsprogs-1.40.5/debugfs/debugfs.c > @@ -434,19 +434,21 @@ static int list_blocks_proc(ext2_filsys > > static void dump_xattr_string(FILE *out, const char *str, int len) > { > - int printable = 1; > + int printable = 0; > int i; > > - /* check is string printable? */ > + /* check: is string "printable enough?" */ > for (i = 0; i < len; i++) > - if (!isprint(str[i])) { > - printable = 0; > - break; > - } > + if (isprint(str[i])) > + printable++; > + > + if (printable <= len*7/8) > + printable = 0; > > for (i = 0; i < len; i++) > if (printable) > - fprintf(out, "%c", (unsigned char)str[i]); > + fprintf(out, isprint(str[i]) ? "%c" : "\\%03o", > + (unsigned char)str[i]); > else > fprintf(out, "%02x ", (unsigned char)str[i]); > } > > - > To unsubscribe from this list: send the line "unsubscribe linux-ext4" in > the body of a message to majordomo@xxxxxxxxxxxxxxx > More majordomo info at http://vger.kernel.org/majordomo-info.html - To unsubscribe from this list: send the line "unsubscribe linux-ext4" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html