guix-patches
[Top][All Lists]
Advanced

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

[bug#54180] [PATCH 06/12] home: symlink-manager: Avoid extra 'lstat' cal


From: Maxime Devos
Subject: [bug#54180] [PATCH 06/12] home: symlink-manager: Avoid extra 'lstat' call.
Date: Sun, 27 Feb 2022 16:52:25 +0100
User-agent: Evolution 3.38.3-1

Ludovic Courtès schreef op zo 27-02-2022 om 14:53 [+0100]:
>           (define (symlink-to-store? path)
> -           (and (equal? (stat:type (lstat path)) 'symlink)
> -                (store-file-name? (readlink path))))
> +           (catch 'system-error
> +             (lambda ()
> +               (store-file-name? (readlink path)))
> +             (lambda args
> +               (if (= EINVAL (system-error-errno args))
> +                   #f
> +                   (apply throw args)))))

I think it would be slightly clearer if 'store-file-name?' was moved
outside the catch:

  (and=> (catch 'system-error (lambda () (readlink path)) [...])
         store-file-name?)

It is 'readlink' that might throw an exception, not 'store-file-name?'.

Greetings,
Maxime.

Attachment: signature.asc
Description: This is a digitally signed message part


reply via email to

[Prev in Thread] Current Thread [Next in Thread]