Carlo Marcelo Arenas Belón  <care...@gmail.com> writes:

> b968372279 ("read-cache: unlink old sharedindex files", 2017-03-06)
> introduced get_shared_index_expire_date using unsigned long to track
> the modification times of a shared index.
>
> dddbad728c ("timestamp_t: a new data type for timestamps", 2017-04-26)
> shows why that might problematic so move to time_t instead.
>
> Signed-off-by: Carlo Marcelo Arenas Belón <care...@gmail.com>
> ---
>  read-cache.c | 6 +++---
>  1 file changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/read-cache.c b/read-cache.c
> index 7b1354d759..5525d8e679 100644
> --- a/read-cache.c
> +++ b/read-cache.c
> @@ -2625,9 +2625,9 @@ static int write_split_index(struct index_state *istate,
>  
>  static const char *shared_index_expire = "2.weeks.ago";
>  
> -static unsigned long get_shared_index_expire_date(void)
> +static time_t get_shared_index_expire_date(void)
>  {
> -     static unsigned long shared_index_expire_date;
> +     static time_t shared_index_expire_date;
>       static int shared_index_expire_date_prepared;
>  
>       if (!shared_index_expire_date_prepared) {

After this line, the post-context reads like this:

                git_config_get_expiry("splitindex.sharedindexexpire",
                                      &shared_index_expire);
                shared_index_expire_date = approxidate(shared_index_expire);
                shared_index_expire_date_prepared = 1;
        }

        return shared_index_expire_date;

Given that the function returns the value obtained from
approxidate(), which is approxidate_careful() in disguise, time_t is
not as appropriate as timestamp_t, no?

IOW, what if time_t were narrower than timestamp_t?


> @@ -2643,7 +2643,7 @@ static unsigned long get_shared_index_expire_date(void)
>  static int should_delete_shared_index(const char *shared_index_path)
>  {
>       struct stat st;
> -     unsigned long expiration;
> +     time_t expiration;
>  
>       /* Check timestamp */
>       expiration = get_shared_index_expire_date();

Reply via email to