X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=udev%2Fudevadm-info.c;h=9bd60c724334502b86fd574316375fd5188dcb10;hp=fa09b98299ad89749dffd41ff0914a5a774eb4eb;hb=163c0365ffbd9321d686e8c301c36ea50c98df2f;hpb=ff5d99e0b04d1e49204be60ac5641b01f89c34ac diff --git a/udev/udevadm-info.c b/udev/udevadm-info.c index fa09b9829..9bd60c724 100644 --- a/udev/udevadm-info.c +++ b/udev/udevadm-info.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2004-2008 Kay Sievers + * Copyright (C) 2004-2009 Kay Sievers * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -60,7 +60,7 @@ static void print_all_attributes(struct udev_device *device, const char *key) value = udev_device_get_sysattr_value(device, dent->d_name); if (value == NULL) continue; - dbg(udev, "attr '%s'='%s'(%zi)\n", dent->d_name, value, len); + dbg(udev, "attr '%s'='%s'\n", dent->d_name, value); /* skip nonprintable attributes */ len = strlen(value); @@ -142,18 +142,6 @@ static void print_record(struct udev_device *device) if (i != 0) printf("L: %i\n", i); - i = udev_device_get_num_fake_partitions(device); - if (i != 0) - printf("A:%u\n", i); - - i = udev_device_get_ignore_remove(device); - if (i != 0) - printf("R:%u\n", i); - - i = udev_device_get_watch_handle(device); - if (i >= 0) - printf("W:%u\n", i); - udev_list_entry_foreach(list_entry, udev_device_get_devlinks_list_entry(device)) { len = strlen(udev_get_dev_path(udev_device_get_udev(device))); printf("S: %s\n", &udev_list_entry_get_name(list_entry)[len+1]); @@ -250,11 +238,11 @@ int udevadm_info(struct udev *udev, int argc, char *argv[]) QUERY_ALL, } query = QUERY_NONE; - while (1) { + for (;;) { int option; struct stat statbuf; - option = getopt_long(argc, argv, "aed:n:p:q:rxPVh", options, NULL); + option = getopt_long(argc, argv, "aed:n:p:q:rxP:Vh", options, NULL); if (option == -1) break; @@ -388,23 +376,24 @@ int udevadm_info(struct udev *udev, int argc, char *argv[]) } switch(query) { - case QUERY_NAME: + case QUERY_NAME: { + const char *node = udev_device_get_devnode(device); + + if (node == NULL) { + fprintf(stderr, "no device node found\n"); + rc = 5; + goto exit; + } + if (root) { printf("%s\n", udev_device_get_devnode(device)); } else { - size_t len; - const char *node; - - len = strlen(udev_get_dev_path(udev)); - node = udev_device_get_devnode(device); - if (node == NULL) { - fprintf(stderr, "no device node found\n"); - rc = 5; - goto exit; - } - printf("%s\n", &udev_device_get_devnode(device)[len+1]); + size_t len = strlen(udev_get_dev_path(udev)); + + printf("%s\n", &udev_device_get_devnode(device)[len+1]); } break; + } case QUERY_SYMLINK: list_entry = udev_device_get_devlinks_list_entry(device); while (list_entry != NULL) {