--- udev-021.orig/extras/scsi_id/scsi_id.c 2004-03-02 16:01:31.000000000 -0800 +++ udev-021/extras/scsi_id/scsi_id.c 2004-03-05 00:58:46.438876291 -0800 @@ -58,6 +58,10 @@ */ static const char dev_short_options[] = "bgp:"; +/* cmdline options */ +static char cmdline_options[sizeof(short_options)]; +static int cmdline; + char sysfs_mnt_path[SYSFS_PATH_MAX]; static int all_good; @@ -421,9 +425,17 @@ else dprintf("option '%c'\n", option); + /* Store the option */ + if(cmdline == 0) + cmdline_options[strlen(cmdline_options)] = option; + switch (option) { case 'b': + if((cmdline == 0) || + (cmdline == 1 && + strchr(cmdline_options,'b') != NULL)) all_good = 0; + break; case 'c': @@ -444,6 +456,9 @@ break; case 'g': + if((cmdline == 0) || + (cmdline == 1 && + strchr(cmdline_options,'g') != NULL)) all_good = 1; break; @@ -486,6 +501,8 @@ return -1; } } + /* set cmdline to prevent squashing of the cmdline options */ + cmdline = 1; return 0; }