qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH v2] linux-user: Use *at functions instead of cac


From: Richard Henderson
Subject: Re: [Qemu-devel] [PATCH v2] linux-user: Use *at functions instead of caching interp_prefix contents
Date: Thu, 7 Dec 2017 11:31:28 -0800
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.4.0

On 12/07/2017 09:06 AM, Eric Blake wrote:
>> It's an IF with a /* fallthru */, so there are very few
>> less ugly ways to write it...
> 
> Maybe:
> 
> while (1) {
>     if (interp_dirfd > 0 && filename[0] == '/') {
>         fd = openat(interp_dirfd, filename + 1, O_RDONLY);
>         if (fd >= 0 || errno != ENOENT) {
>             break;
>         }
>     }
>     fd = open(filename, O_RDONLY);
>     break;
> }

Nice.  I'd been pondering

    if (interp_dirfd < 0
        || filename[0] != '/'
        || (fd = openat(interp_dirfd, filename + 1, O_RDONLY),
            fd < 0 && errno == ENOENT)) {
        fd = open(filename, O_RDONLY);
    }


r~



reply via email to

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