All of lore.kernel.org
 help / color / mirror / Atom feed
* [RFH] renaming strcmp/strncmp-icase
@ 2014-09-08 18:52 Junio C Hamano
  2014-09-08 19:31 ` Torsten Bögershausen
  2014-09-08 21:36 ` René Scharfe
  0 siblings, 2 replies; 4+ messages in thread
From: Junio C Hamano @ 2014-09-08 18:52 UTC (permalink / raw)
  To: git

There are these two functions in dir.c that has only a handful of
callers outside:

    int strcmp_icase(const char *a, const char *b);
    int strncmp_icase(const char *a, const char *b, size_t count);

How many of you would think these are about comparing two strings in
a case-insensitive way?

If you raised your hand (like I did), you were wrong.  These do
comparison case-insensitively only on a case-insensitive filesystem,
and hence calling it makes sense only for pathnames you grabbed out
of the filesystem via readdir() (or the user gave us, intending to
name paths).

To avoid confusion, I think they should be renamed to stress the
fact that these are about comparing *PATHS*.  As I always say, I am
bad at naming things and good suggestions are appreciated.

FYI, there are names I thought about and haven't managed to convince
myself that they are good.

A good name for the non-n variant may be "compare_paths()", but that
is used in "combine-diff.c".  "compare_pathnames()" may be a
compromise.

However, either of these makes it hard to come up with a
corresponding name for the "n" (counted) variant.  The best I could
do was "compare_pathnames_counted()", but a nice similarity to
strcmp()/strncmp() pair is lost.

pathnamecmp()/pathnamencmp() perhaps?

I dunno.

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2014-09-08 21:36 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-09-08 18:52 [RFH] renaming strcmp/strncmp-icase Junio C Hamano
2014-09-08 19:31 ` Torsten Bögershausen
2014-09-08 19:56   ` Junio C Hamano
2014-09-08 21:36 ` René Scharfe

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.