On 09/04/2014 03:39 AM, Peter Krempa wrote:
> On 09/04/14 01:17, Eric Blake wrote:
>> Now that hanging brace offenders have been fixed, we can automate
>> the check, and document our style.  Done as a separate commit from
>> code changes, to make it easier to just backport code changes, if
>> that is ever needed.
>>

>>
>>  sc_curly_braces_style:
>> -    @files=$$($(VC_LIST_EXCEPT) | grep '\.[ch]$$');                \
>> -    $(GREP) -nHP                                                   \
>> -'^\s*(?!([a-zA-Z_]*for_?each[a-zA-Z_]*) ?\()([_a-zA-Z0-9]+( [_a-zA-Z0-9]+)* 
>> ?\()?(\*?[_a-zA-Z0-9]+(,? \*?[_a-zA-Z0-9\[\]]+)+|void)\) ?\{' \
>> -    $$files && { echo '$(ME): Non-K&R style used for curly'        \
>> -                      'braces around function body, see'           \
>> -                      'HACKING' 1>&2; exit 1; } || :
>> +    @files=$$($(VC_LIST_EXCEPT) | grep '\.[ch]$$');                 \
>> +    if $(GREP) -nHP                                                 \
>> +'^\s*(?!([a-zA-Z_]*for_?each[a-zA-Z_]*) ?\()([_a-zA-Z0-9]+( [_a-zA-Z0-9]+)* 
>> ?\()?(\*?[_a-zA-Z0-9]+(,? \*?[_a-zA-Z0-9\[\]]+)+|void)\) ?\{'           \
>> +    $$files; then                                                   \
>> +      echo '$(ME): Non-K&R style used for curly braces around'      \
>> +            'function body, see HACKING' 1>&2; exit 1;              \
>> +    fi;                                                             \

This half was just whitespace changes and reformatting into an explicit
shell if instead of implicit &&...

>> +    if $(GREP) -A1 -En ' ((if|for|while|switch) \(|(else|do)\b)[^{]*$$'\
>> +      $$files | grep '^[^ ]*- *{'; then                             \

Oops, I need to use $(GREP) here, for consistency.

>> +      echo '$(ME): Use hanging braces for compound statements,'     \
>> +            'see HACKING' 1>&2; exit 1;                             \
>> +    fi

...while this added if is the real addition.

>>
>>  sc_prohibit_windows_special_chars_in_filename:
>>      @files=$$($(VC_LIST_EXCEPT) | grep '[:*?"<>|]');               \
> 
> My brain isn't that good in parsing regexes, but they look good to me
> and the test passed.

The first grep half is basically saying: find all compound commands,
then show that line and the subsequent line, as in:

--
src/qemu/qemu_process.c:4997:    if (qemuDomainObjBeginJob(driver, dom,
src/qemu/qemu_process.c-4998-
QEMU_JOB_DESTROY) < 0)

The second grep then focuses on the second line (those with
filename:-line-) - if any of them is a lone {, then the first line
probably needs tweaking to use a hanging brace.

> 
> ACK.

Pushed with that minor tweak.

-- 
Eric Blake   eblake redhat com    +1-919-301-3266
Libvirt virtualization library http://libvirt.org

Attachment: signature.asc
Description: OpenPGP digital signature

--
libvir-list mailing list
[email protected]
https://www.redhat.com/mailman/listinfo/libvir-list

Reply via email to