mirror of
https://github.com/systemd/systemd
synced 2024-10-14 12:04:49 +00:00
Merge pull request #21763 from yuwata/udevadm-write-only-attributes
udevadm: also show write-only attributes
This commit is contained in:
commit
05c1b1c95e
|
@ -1812,7 +1812,7 @@ static int device_sysattrs_read_all_internal(sd_device *device, const char *subd
|
|||
if (lstat(path, &statbuf) != 0)
|
||||
continue;
|
||||
|
||||
if (!(statbuf.st_mode & S_IRUSR))
|
||||
if ((statbuf.st_mode & (S_IRUSR | S_IWUSR)) == 0)
|
||||
continue;
|
||||
|
||||
r = set_put_strdup(&device->sysattrs, p ?: dent->d_name);
|
||||
|
|
|
@ -73,6 +73,7 @@ static int print_all_attributes(sd_device *device, bool is_parent) {
|
|||
_cleanup_free_ SysAttr *sysattrs = NULL;
|
||||
const char *name, *value;
|
||||
size_t n_items = 0;
|
||||
int r;
|
||||
|
||||
value = NULL;
|
||||
(void) sd_device_get_devpath(device, &value);
|
||||
|
@ -96,18 +97,22 @@ static int print_all_attributes(sd_device *device, bool is_parent) {
|
|||
if (skip_attribute(name))
|
||||
continue;
|
||||
|
||||
if (sd_device_get_sysattr_value(device, name, &value) < 0)
|
||||
continue;
|
||||
r = sd_device_get_sysattr_value(device, name, &value);
|
||||
if (r >= 0) {
|
||||
/* skip any values that look like a path */
|
||||
if (value[0] == '/')
|
||||
continue;
|
||||
|
||||
/* skip any values that look like a path */
|
||||
if (value[0] == '/')
|
||||
continue;
|
||||
/* skip nonprintable attributes */
|
||||
len = strlen(value);
|
||||
while (len > 0 && isprint((unsigned char) value[len-1]))
|
||||
len--;
|
||||
if (len > 0)
|
||||
continue;
|
||||
|
||||
/* skip nonprintable attributes */
|
||||
len = strlen(value);
|
||||
while (len > 0 && isprint((unsigned char) value[len-1]))
|
||||
len--;
|
||||
if (len > 0)
|
||||
} else if (r == -EPERM)
|
||||
value = "(write-only)";
|
||||
else
|
||||
continue;
|
||||
|
||||
if (!GREEDY_REALLOC(sysattrs, n_items + 1))
|
||||
|
|
Loading…
Reference in a new issue