Linux Today: Linux News On Internet Time.

More on LinuxToday

Re: Linux -rc3 "In other words: don't be stupid."

Jun 15, 2011, 10:09 (7 Talkback[s])

"On Tue, Jun 14, 2011 at 5:15 AM, Denys Vlasenko wrote:
> I've got a patch for my project to fix parsing of kernel version which > has only two numbers. Basically,
> - scanf(ver, "%u.%u.%u", &a, &b, &c)
> + sscanf(ver, "%u.%u", &a, &b)

Please just fix it.

The projects that care about kernel version are buggy in so many ways that it's not funny.

It's not just the "two versus three digits" bug either. The *bigger* bug is usually that the tests are done the wrong way entirely, namely to fail when you cannot parse the version. And that's just f*%!ing stupid!

If you cannot parse the version, then rather than fail, a project should have gone "uh, it's some future version that I don't recognize or some other OS entirely, so I'll just do whatever the most modern thing is". Having an "assert()" or returning an error is just the mark of incompetence.

So please just fix things. Preferably by removing the version check entirely, but if you really feel that you cannot do that, then AT LEAST realize that the reason you're looking at the version is to support *old* versions, not new ones, and make the logic work that way (so that next time around, when we change the version numbers to be sanscrit characters and you fail parsing them *again*, you don't actually fail, you just go "oh, this is modern" and go on with your life).

In other words: don't be stupid.



Complete Story

Related Stories: