[ros-general] Interest in ReactOS
Mark Grosberg
mark at nolab.conman.org
Wed Jan 28 17:30:30 UTC 2004
On Wed, 28 Jan 2004, Robert K. wrote:
>
> >
> > Right, but changing the Win32 API is bound to break compatability; and
> > thats an important goal of ReactOS. But thats okay, the architecture of NT
> > allows for more than one subsystem. You could write a Native API program
> > if you really wanted to (most of the Win32 facilities are there for you in
> > "raw" form) or you could write your own OS API via a subsystem.
>
> excuse me to correct: It's not an API or ABI change but a semantic
> change. Semantics of file naming. However it can be made either
> compatible or not.
Well, the semantic change will break a lot of programs that parse file
names. There is lots of *shitty* code out there in the Win32 world.
> Correct me: Does the win32 API has got a function to test file name
> semantics? UNC-names are widely understood. And since common dialogs, i
> think noone does real name checking.
I work on code that does this kind of crap daily (don't ask, I hate this
job). But when the code I work on gets a UNC name, it uses the WNet API
its self, when it sees anything else it expects a 1-character drive
letter.
I didn't write this garbage and don't want to touch it any more than I
have to, but there is *lots* of code out there that does similar things.
It also seems to avoid common dialogs too for whatever reason. [*]
But the bottom line is that the semantics are part of the API. The best
you could do is a UNC path like:
\\myhost\root\blah\blah
And then *really* SMB serve that to yourself locally. It seems like a lot
of effort for very little gains.
> I think your embedded -adapted api is a good idea. AFAIK M$ is working
> on s.t. like this removing a lot of deprecated calls, like apple did
> with carbon. But will MS break compatibility?
Some of the compatability code in Windows is scary. They tend to detect
what app is running and adjust for that in a lot of places (seriously).
ReactOS shouldn't be littered with that kind of garbage, but changing the
semantics is going to break a lot of existing code.
[*] The code at my current place of employment was written back in the 3.1
days and not very well to begin with. Age hasn't been kind to it. I have
zero intention of fixing it. I am just going to browse slashdot until I am
canned.
More information about the Ros-general
mailing list