On 4/19/23 20:21, Eric Blake wrote:
> On Wed, Apr 19, 2023 at 05:31:27PM +0200, Laszlo Ersek wrote:
>> Embedding a shell script in a multi-line C string literal is an exercise
>> in pain. I can see why the original author (whom I shall not look up with
>> git-blame :) ) went for the easy route. Still, we want the source code to
>> fit in 80 columns.
>>
>> At Eric's suggestion, also:
>>
>> - replace the non-portable control operator "|&" with the portable
>>   redirection operator "2>&1" and the portable control operator "|";
>>
>> - replace the "if ...; then exit 1; else exit 0; fi" constructs with "!
>>   ...".
> 
> Reviewed-by: Eric Blake <ebl...@redhat.com>
> 
>> Notes:
>>     v2:
>>     
>>     - v1: 
>> https://listman.redhat.com/archives/libguestfs/2023-April/031298.html
>>     
>>     - incorporate Eric's recommendations (commit message, code)
>>
>>  tests/requires.c | 6 ++++--
>>  1 file changed, 4 insertions(+), 2 deletions(-)
>>
>> diff --git a/tests/requires.c b/tests/requires.c
>> index 199e30605473..2b7031532fe2 100644
>> --- a/tests/requires.c
>> +++ b/tests/requires.c
>> @@ -57,7 +57,8 @@ requires_qemu_nbd_tls_support (const char *qemu_nbd)
>>     * interested in the error message that it prints.
>>     */
>>    snprintf (cmd, sizeof cmd,
>> -            "if %s --object tls-creds-x509,id=tls0 |& grep -sq 'TLS 
>> credentials support requires GNUTLS'; then exit 1; else exit 0; fi",
>> +            "! %s --object tls-creds-x509,id=tls0 2>&1 \\\n"
>> +            "  | grep -sq 'TLS credentials support requires GNUTLS'\n",
> 
> The four bytes " \\\n " portion between the two lines are not
> essential (the shell grammar doesn't care if there is a newline at
> this point); in fact, if you put the | before \n instead of after, you
> can use a newline without needing the \.  But I don't see any point
> changing this code yet again just to golf out a few more bytes.  Let's
> leave it as written in your v2.
> 

Commit 86820dbab497.

Thanks
Laszlo
_______________________________________________
Libguestfs mailing list
Libguestfs@redhat.com
https://listman.redhat.com/mailman/listinfo/libguestfs

Reply via email to