On Tue, 6 Jan 2009, Kjetil Barvik wrote: ? > Start using the optimised, faster and more effective symlink/directory > cache. The previously used call: > > has_symlink_leading_path(len, name); > > should be identically with the following call to lstat_cache(): > > lstat_cache(len, name, > LSTAT_SYMLINK|LSTAT_DIR, > LSTAT_SYMLINK); I think the new interface looks worse. Why don't you just do a new inline function that says static inline int has_symlink_leading_path(int len, const char *name) { return lstat_cache(len, name, LSTAT_SYMLINK|LSTAT_DIR, LSTAT_SYMLINK); } and now you don't need this big patch, and people who don't care about those magic flags don't need to have them. End result: more readable code. Then, the new users that want _new_ semantics can use the extended version. This is how git has done pretty much all "generalized" versions. See the whole ce_modified() vs ie_modified() thing: they're the same function, it's just that 'ce_modified()' is the traditional simpler interface that works on the default index, while ie_modified() is the "full" version that takes all the details that most uses don't even want to know about. Linus -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html