[PATCH 00/18] mark file-local symbols static

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



The early part of the series up to [PATCH 12/18] are uncontroversial; they
all change "extern" symbols that are not used outside of the file they are
defined in to "static".

The remainder remove functions that are not called from anywhere.  While
the result of applying these patches still compiles, I find removal of
some are iffy:

 * map_email(), has_pack_file() and strbuf_tolower() are not even
   documented.  They should go.  It is trivial to reimplement them when a
   new caller needs it.

 * Even though parse_blob() in blob.c is never called, it is part of the
   "object layer" suite that consistently defines their initializers as
   parse_$type().  But it has never been called by anybody since its
   inception at a510bfa (Mark blobs as parsed when they're actually
   parsed, 2005-04-28).

   By the way, Documentation/technical/api-object-access.txt needs some
   love.

 * object_list_append() and object_list_length() in object.c do not have
   any callers, and they are implementations of rather inefficient API.
   Perhaps they should go.

 * I am a bit worried about nobody calling invalidate_lstat_cache() and
   clear_lstat_cache().  Kjetil introduced them in aeabab5 (lstat_cache():
   introduce invalidate_lstat_cache() function, 2009-01-18) and bda6eb0
   (lstat_cache(): introduce clear_lstat_cache() function, 2009-01-18)
   respectively but as far as I can tell there wasn't any user of these
   functions, ever.  They may be broken and nobody knew they were as
   nothing calls them, but more importantly it could be that some existing
   codepaths aren't calling them when they should.

In this series, I am not removing alloc_report(), print_string_list(), and
unsorted_string_list_has_string().  Among these three, the first two are
clearly for debugging and the latter two are documented interfaces, even
though nobody uses them.

I've made sure that they apply to 'master', 'next' and 'pu' (application
to 'pu' has two conflicts that are trivial in 04/18 and 08/18) and the
result compiles.

Junio C Hamano (18):
  bisect.c: mark file-local function static
  builtin-rev-list.c: mark file-local function static
  pretty.c: mark file-local function static
  date.c: mark file-local function static
  http.c: mark file-local functions static
  entry.c: mark file-local function static
  parse-options.c: mark file-local function static
  read-cache.c: mark file-local functions static
  remote-curl.c: mark file-local function static
  quote.c: mark file-local function static
  submodule.c: mark file-local function static
  utf8.c: mark file-local function static
  mailmap.c: remove unused function
  sha1_file.c: remove unused function
  strbuf.c: remove unused function
  blob.c: remove unused function
  object.c: remove unused functions
  symlinks.c: remove unused functions

 bisect.c           |    2 +-
 bisect.h           |    2 --
 blob.c             |   21 ---------------------
 blob.h             |    2 --
 builtin-rev-list.c |    2 +-
 cache.h            |    8 --------
 commit.h           |    1 -
 date.c             |    2 +-
 entry.c            |    2 +-
 git-compat-util.h  |    1 -
 http.c             |   10 ++++++++--
 http.h             |    9 ---------
 mailmap.c          |    5 -----
 mailmap.h          |    1 -
 object.c           |   21 ---------------------
 object.h           |    5 -----
 parse-options.c    |    7 +++++--
 parse-options.h    |    3 ---
 pretty.c           |    2 +-
 quote.c            |    2 +-
 quote.h            |    1 -
 read-cache.c       |    6 ++++--
 remote-curl.c      |    2 +-
 sha1_file.c        |    8 --------
 strbuf.c           |    7 -------
 strbuf.h           |    1 -
 submodule.c        |    2 +-
 symlinks.c         |   31 -------------------------------
 utf8.c             |    2 +-
 utf8.h             |    1 -
 30 files changed, 26 insertions(+), 143 deletions(-)

--
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

[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]