<div dir="ltr">When chattr fails in production, it helps to see what it was trying to<br>do. Reuse the lsattr format but without the '-'s.<br><br>Only read the flags if we have any intention of changing them:<br>`chattr -p 123` has no reason to read the flags.<br><br>Only write the flags back if they actually change: `chattr +a`<br>shouldn't do anything if that flag is already set, for example.<br><br>Switch -p and -v to perror_msg() instead of perror_exit() in case<br>they're used with -R.<br><br>(I suspect that the uses of DIRTREE_ABORT are mistakes given -R, but<br>I'll leave them until I actually hit this.)<br>---<br> toys/other/lsattr.c | 70 ++++++++++++++++++++++++++-------------------<br> 1 file changed, 40 insertions(+), 30 deletions(-)<br></div>