https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101510

Jonathan Wakely <redi at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         Resolution|---                         |INVALID
             Status|WAITING                     |RESOLVED

--- Comment #6 from Jonathan Wakely <redi at gcc dot gnu.org> ---
(In reply to Madhu from comment #5)
> It looks like I did indeed get the semantics wrong

OK, thanks for confirming.

> I was going by the usage from databasePath() in
> https://github.com/WebKit/WebKit/blob/main/Source/WebKit/NetworkProcess/
> WebStorage/LocalStorageDatabaseTracker.cpp#L142
> which calls ensureDatabaseDirectoryExists() in
> https://github.com/WebKit/WebKit/blob/main/Source/WebCore/platform/sql/
> SQLiteFileSystem.cpp#L59
> which calls makeAllDirectories()
> https://github.com/WebKit/WebKit/blob/main/Source/WTF/wtf/FileSystem.cpp#L733
> 
> The check is for only on the boolean value of ec, which is wrong
> according to the spec, Thanks!

That looks correct to me. It's the same as the example as I showed above.

If ec does not have a value, it means no error occurred. That means either the
directory was created, or already exists.

> Instead of precipitately filing the bug here I should have filed it
> with WebKit.

Are you *actually* seeing incorrect behaviour, or just concluding there is a
bug by reading the code?

Reply via email to