On Sun, 2008-08-31 at 15:33 +0200, Robert Millan wrote: > On Sat, Aug 30, 2008 at 11:41:18AM -0400, Pavel Roskin wrote: > > Quoting Robert Millan <[EMAIL PROTECTED]>: > > > > >So this patch means to solve both issues; makes single-disk drivers use a > > >constant directly (since a pointer to string is meaningless and confusing), > > >and disk/scsi.c use LUNs which (I believe) will work as unique identifiers. > > > > Multi-character constants cause warnings. > > Can we silence them?
I don't think so. Besides, strings are just as good as multi-character constants. In fact, strings are better, as they won't clash with any pointers, simply because strings are pointers too, and they point to areas in memory not used by other drivers. > > That's why I changed them > > to strings. Pointers to different strings are different, and that's > > all we need. > > For single-disk drivers, yes. But that has two problems: > > - People tend to think the string itself has a meaning. We could avoid > this by using "dummy" or so. There is a chance that pointers to "dummy" will be consolidated by the linker. I believe GNU ld won't do it, but it's not impossible. > - People tend to think it's fine to do the same for multi-disk drivers. > We could avoid this by adding a short comment in each of them. Maybe we could rename "id" to something more descriptive. But I don't think it's a big concern. Somebody writing a disk driver will need to check the meaning of the disk structure. We could write a macro for ID comparison that would compare both the "driver ID" (disk->dev->id) and "device ID" (disk->id). In this case, we can omit disk->id initialization in the drivers supporting only one device (e.g. memdisk) and only leave it where it's indeed needed for identifying separate devices, thus removing potentially confusing code. -- Regards, Pavel Roskin _______________________________________________ Grub-devel mailing list Grub-devel@gnu.org http://lists.gnu.org/mailman/listinfo/grub-devel