> So using inode as the hash is just a slow way of making a hash of a file path.

Well, the inode gets a goodish hash, but the equal check makes it worse than a 
string hash and comparison on the file path yeah.
If really the inode thing was useful, it should be used as the key directly 
rather than a bad convoluted hash that's guaranteed to have a worse `stat()` 
call count anyway.

> Yeah, since 2.40 `g_hash_table_insert()` returns if it inserted or not, so 
> the filename could be added to the list on the fly.  But Glib 2.40 didn't 
> exist back when this was originally written.

The code [already checks if the hash table contains the element before 
inserting 
it](https://github.com/geany/geany/blob/97547edb52e34b8f78f44a13548a0fb55baf1a44/src/tagmanager/tm_workspace.c#L534),
 so it should be OK no matter which version is used.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/geany/geany/pull/1989#issuecomment-436781540

Reply via email to