couldn't adding a zero solve this. i.e. making programs refer to the new Windows as Windows 09, but still brand it Windows 9
I still don't get it. The fix, would simply to have this function report a string that is inconsistent with the products actual name, but good enough to legacy ensure programs work. They can then deprecate this function as a legacy only function, then introduce another function that gives the real version name. Old programs that use this string to log or display the OS name will display a weird name to the user, but there are worse things out there.Desworks said:Sadly, you are both underestimating the power of lazy coding. The functions that are causing this issue don't look for the windows Major and Minor versions, they instead parse the OSname. And located here is a list of open source example of this form of lazy code, so you can see just how widespread it is: https://searchcode.com/?q=if%28version%2Cstartswith%28%22windows%209%22%29&p=0Adam Jensen said:Exactly. Programs don't care about how you call Windows. You can call it anything you like. Programs will interpret only the signature in the code. And Microsoft could code the name however they wanted. They could call it Windows Lizard Jesus and still give it an official Windows 9 label.oldtaku said:Highly unlikey. Even if true, this kind of technical wibbling would never make it to the branding people.
But the nail in the coffin... The 'version' of Windows 9 would not be 'Windows 9'. It would be Version 6.4.
Vista: Version 6.0
Win7: Version 6.1
Win8: Version 6.2
Win8.1: Version 6.3
Win9: Version 6.4
This is because they're all variations on the Vista core (Win7 had huge fixes and speed and memory improvements over Vista core, but was still Vista core).
Edit: I see Strazdas and I were typing at the same time... well, he's right.
And that's just the public example of this. Depressing, right?
In fact, Microsoft's weird version numbering is also due to them having to adjust their version numbers to accommodate bad code. That's the reason that every release since Vista has been 6.x. In fact, as you can see here [http://msdn.microsoft.com/en-us/library/windows/desktop/ms724439.aspx], MS are considering retiring the whole GetVersion function, as they can't trust developers to write correct code.
There's a whole thread discussing this over at /r/programming [http://www.reddit.com/r/programming/comments/2i14ny/if_osnamestartswithwindows_9/] so stop by if you want to read more.
Yes I know that but what I'm saying is that my idea is a criminally simple solution and is what should have been done to begin with, instead of assuming that MS would never make another operating system whose name started with a 9.DirgeNovak said:Spartan448 said:apparently, the forums don't like doing indents. Way to mess up my code, Escapist Forums.Also your idea wouldn't work because those are legacy programs coded over a decade ago.Code:You can do it like this (Click quote to see how)
"Should have been" is irrelevant. Consider your point made, but entirely moot in this context. :\Spartan448 said:Yes I know that but what I'm saying is that my idea is a criminally simple solution and is what should have been done to begin with, instead of assuming that MS would never make another operating system whose name started with a 9.
I have a time machine, but unfortunately it only goes back to the 70's.Kieve said:"Should have been" is irrelevant. Consider your point made, but entirely moot in this context. :\Spartan448 said:Yes I know that but what I'm saying is that my idea is a criminally simple solution and is what should have been done to begin with, instead of assuming that MS would never make another operating system whose name started with a 9.
I mean... unless you have a time-machine or something and can go back and warn 90's-era developers not to use certain programming shortcuts.
I wonder how many current-gen applications have similar "forward-looking" issues, we won't see or hear about until a decade or two after the fact?
LOL!Spartan448 said:WHY NOT JUST READ THE ENTIRE VERSION NUMBER YA LOONS. Seriously. It's not that hard.
according to this: http://en.wikipedia.org/wiki/Windows_NT#Releases 4.0 was a server. but yeah the list is probably just missing the 95 and 98 and for some reason i though they werent there.TopazFusion said:Nah, you're wrong there.Strazdas said:this is why on some old games you may get an error of "unrecognized NT version". programs only see NT versions since win 2000, 95 and 98 were exceptions. this problem described cannot happen.
2000 was NT5.0 , XP was built on that code base, which is why it became NT5.1
And 95/98 had internal OS versions too. 95 was 4.0 , and 98 was 4.1 , (and ME was 4.9)
http://en.wikipedia.org/wiki/List_of_Microsoft_Windows_versions
Its a thing. while i try to avoid outdated software i still got some scripts and addons running built a decade ago and thnakfully they still interact with modern programs correctly. not all of them. and there is no alternative. i couldnt live without my excel name manager for example as the "official" one is a disaster in comparison.Imperioratorex Caprae said:super-outdated software out of fear or sometimes (highly warranted though) frustration that their old software has no analog in today's tech
not always possible. for example for accounting purposes this would actually be breaking the law due to ability to rewrite accounts that you have to store for years.My advice to them was to invest in the best data entry employee they could hire and buy new software and set that person to hand enter each record from one device to the other, because there literally was no other solution.
Ironically, they arent easily compromised. for one, they are never connected to network, for two, they often run on such outdated builds that noone is targeting them anymore.because I didn't want my info on something that could be easily compromised.
or....we could stop pretending like people are going to run this code on windows 10 without expecting problems.Kieve said:"Should have been" is irrelevant. Consider your point made, but entirely moot in this context. :\
I mean... unless you have a time-machine or something and can go back and warn 90's-era developers not to use certain programming shortcuts.
I wonder how many current-gen applications have similar "forward-looking" issues, we won't see or hear about until a decade or two after the fact?
goddamn it ya know what I copied that from a lab I did that was in progress and it ended up having that same problem and I fix it in the lab basically right after I made the post and never updated the post.TechNoFear said:LOL!Spartan448 said:WHY NOT JUST READ THE ENTIRE VERSION NUMBER YA LOONS. Seriously. It's not that hard.
Your code contains an error and will attempt to read past the end of some stings (any string ending in a 9), possibly causing an access violationand crashing the app.
Not as easy as it appears is it, especially when people pour over code you wrote a decade ago never thinking it would still be in use?Spartan448 said:goddamn it ya know what I copied that from a lab I did that was in progress and it ended up having that same problem and I fix it in the lab basically right after I made the post and never updated the post.
int lastChar = LEN(st1)-1 //find the [b]index[/b] of the last character in the string
//we are using language with 0 based arrays (ie not VB etc)
if(lastChar <= 0)//empty or only one character, so our code will break
//return error in getting version
elsif(UPPER(st1[0]) W)
//return error in version name format
//other validation as required
elsif(st1[lastChar] == 9)
//windows 9
elsif(st1[lastChar - 1] == 9)
if(st1[lastChar] == 5)
//windows 95
elsif(st1[lastChar] == 8)
//windows 98
elsif //etc
Now I want to see OSes fight to the death. Not like that Transdimensional hyperneptunia, but Mortal Kombat style.MC1980 said:Mortal Kombat's got that market cornered.Zachary Amaranth said:Or Windows X.