Subject: Re: [PATCH] Fix a typo in `each_file_in_pack_dir_fn()`'s declaration

From: Junio C Hamano <[email-masked]>
Date: Mon, 20 Nov 2023 08:15:24 +0900

"Johannes Schindelin via GitGitGadget" <[email-masked]>
writes:

> Subject: Re: [PATCH] Fix a typo in `each_file_in_pack_dir_fn()`'s declaration

Let's have "packfile.[ch]: " before the title to tell what area the
helper function is about.

> From: Johannes Schindelin <[email-masked]>
>
> One parameter is called `file_pach`. On the face of it, this looks as if
> it was supposed to talk about a `path` instead of a `pach`.
>
> However, looking at the way this callback is called, it gets fed the
> `d_name` from a directory entry, which provides just the file name, not
> the full path. Therefore, let's fix this by calling the parameter
> `file_name` instead.
>  ...
>  typedef void each_file_in_pack_dir_fn(const char *full_path, size_t full_path_len,
> -				      const char *file_pach, void *data);
> +				      const char *file_name, void *data);

Very good observation.  We form a pathname to a file in a
"objects/pack/" subdirectory by concatenating this parameter after
the full_path/full_path_len parameter, which has the path to that
subdirectory, so "file_name" definitely is a much better name.

The "full_path" that does not say full path to what directory may
have room for improvement ("leading_path" or even "packdir"), but
that's OK.

Thanks for spotting.

>  void for_each_file_in_pack_dir(const char *objdir,
>  			       each_file_in_pack_dir_fn fn,
>  			       void *data);
>
> base-commit: cfb8a6e9a93adbe81efca66e6110c9b4d2e57169