On Sun, Mar 8, 2015 at 6:23 AM, brian m. carlson <sandals@xxxxxxxxxxxxxxxxxxxx> wrote: > There are several utility functions (hashcmp and friends) that are used > for comparing object IDs (SHA-1 values). Using these functions, which > take pointers to unsigned char, with struct object_id requires tiresome > access to the sha1 member, which bloats code and violates the desired > encapsulation. Provide wrappers around these functions for struct > object_id for neater, more maintainable code. Use the new constants to > avoid the hard-coded 20s and 40s throughout the original functions. > > These functions simply call the underlying pointer-to-unsigned-char > versions to ensure that any performance improvements will be passed > through to the new functions. > > Signed-off-by: brian m. carlson <sandals@xxxxxxxxxxxxxxxxxxxx> > --- > I'm not very excited about having to put the #include in the middle of > cache.h. The alternative, of course, is to move enum object_type up, > which I can do if necessary. Another alternative is to simply move the > struct object_id definitions to cache.h instead of object.h, which might > be cleaner. > > I'm interested in hearing opinions about the best way to go forward. I think declaring struct object_id in cache.h would be simplest. Another alternative is do it in git-compat-util.h. This is not the first abuse of git-compat-util.h (because it's included everywhere). starts_with(), ends_with() and friends are already in git-compat-util.h -- Duy -- 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