chiark / gitweb /
use no_argument, required_argument, optional_argument in longopts
[elogind.git] / udev / lib / test-libudev.c
index 7291e8c89a58160cc3436796e21e5652151f2efe..47fbf3b42ab0630cee6f9d4c107d01307df28c76 100644 (file)
@@ -73,23 +73,19 @@ static void print_device(struct udev_device *device)
                printf("devnum:    %u:%u\n", major(devnum), minor(devnum));
 
        count = 0;
-       list_entry = udev_device_get_devlinks_list_entry(device);
-       while (list_entry != NULL) {
+       udev_list_entry_foreach(list_entry, udev_device_get_devlinks_list_entry(device)) {
                printf("link:      '%s'\n", udev_list_entry_get_name(list_entry));
                count++;
-               list_entry = udev_list_entry_get_next(list_entry);
        }
        if (count > 0)
                printf("found %i links\n", count);
 
        count = 0;
-       list_entry = udev_device_get_properties_list_entry(device);
-       while (list_entry != NULL) {
+       udev_list_entry_foreach(list_entry, udev_device_get_properties_list_entry(device)) {
                printf("property:  '%s=%s'\n",
                       udev_list_entry_get_name(list_entry),
                       udev_list_entry_get_value(list_entry));
                count++;
-               list_entry = udev_list_entry_get_next(list_entry);
        }
        if (count > 0)
                printf("found %i properties\n", count);
@@ -277,12 +273,12 @@ int main(int argc, char *argv[], char *envp[])
 {
        struct udev *udev = NULL;
        static const struct option options[] = {
-               { "syspath", 1, NULL, 'p' },
-               { "subsystem", 1, NULL, 's' },
-               { "socket", 1, NULL, 'S' },
-               { "debug", 0, NULL, 'd' },
-               { "help", 0, NULL, 'h' },
-               { "version", 0, NULL, 'V' },
+               { "syspath", required_argument, NULL, 'p' },
+               { "subsystem", required_argument, NULL, 's' },
+               { "socket", required_argument, NULL, 'S' },
+               { "debug", no_argument, NULL, 'd' },
+               { "help", no_argument, NULL, 'h' },
+               { "version", no_argument, NULL, 'V' },
                {}
        };
        struct udev_enumerate *udev_enumerate;