GNU bug report logs - #54180
[PATCH 00/12] Home: Clarify and better test symlink-manager.scm

Previous Next

Package: guix-patches;

Reported by: Ludovic Courtès <ludo <at> gnu.org>

Date: Sun, 27 Feb 2022 13:41:02 UTC

Severity: normal

Tags: patch

Done: Ludovic Courtès <ludo <at> gnu.org>

Bug is archived. No further changes may be made.

Full log


Message #47 received at 54180 <at> debbugs.gnu.org (full text, mbox):

From: Maxime Devos <maximedevos <at> telenet.be>
To: Ludovic Courtès <ludo <at> gnu.org>, 54180 <at> debbugs.gnu.org
Subject: Re: [bug#54180] [PATCH 06/12] home: symlink-manager: Avoid extra
 'lstat' call.
Date: Sun, 27 Feb 2022 16:52:25 +0100
[Message part 1 (text/plain, inline)]
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.
[signature.asc (application/pgp-signature, inline)]

This bug report was last modified 3 years and 156 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.