Hacker News new | ask | show | jobs
by Brian_K_White 592 days ago
It better not!

If you actually open a file, you update it's access time, and you interfere with the process that should actually open the file. Those both break perfectly simple business logic.

1 comments

The documentation for OF_EXISTS literally says it will open then close it. I leave to your imagination whether this updates the (very poorly defined) access time or not, but for sure you "interfere" with other processes...

If you want to get the access time, why don't you just query the access time? Which is likely the only thing almost universally guaranteed not to change it... And I'm sure VB6 has an API for that, considering that VBA had a global API for it (FileDateTime).

(Which is, btw, yet another way to one-line check if a file exists).

Did you confuse the file with it's containing directory?

The way you probably did in your now-deleted comment claiming that stat() updated atime?

Citation needed. https://learn.microsoft.com/en-us/dotnet/api/system.io.file.... doesn't warn of any such thing.

> Did you confuse the file with it's containing directory?

No.

> Citation needed. https://learn.microsoft.com/en-us/dotnet/api/system.io.file.... doesn't warn of any such thing.

https://learn.microsoft.com/en-us/windows/win32/api/winbase/...

OF_EXIST: Opens a file and then closes it.

It's literally open file ! Are you dense?

OpenFile() opens the file??? c'est incroyable!

OF_EXISTS is just a side effect of some actual operation. It's some related info you you get along the way. You would not use that as the way to only check the file. Holy cow. Please do continue trying to spread the wisom.

You are the one claiming that OpenFile(OF_EXIST) does not open the file. Scroll a bit above. My initial comment was:

> In fact, I imagine File.Exists()/OF_EXISTS also opens the file (then immediately closes it).

"You are the one claiming that OpenFile(OF_EXIST) does not open the file."

I never said any such thing.

Yet another trivially verified false statement. Fits the pattern.