Stephen Lau wrote:
> Nathan Bush wrote:
>> Stephen Lau wrote:
>>> Nathan Bush wrote:
>>>> Stephen Lau wrote:
>>>>> 2) We throw a "Header guard does not match filename" on a header 
>>>>> guard that looks like: __FOO_H__ (for foo.h) or other things that 
>>>>> don't strictly match _FOO_H_
>>>>> Is this the best error message?  Intuitively, I would think it 
>>>>> should be "Invalid or missing header guard" myself - but this is 
>>>>> the same behaviour as the gate's hdrchk.pl, so I'm curious what 
>>>>> other people think.
>>>>
>>>> I think the two messages are used differently.  "Invalid or missing 
>>>> header
>>>> guard" is already used earlier in the code to indicate that the 
>>>> "#ident" line
>>>> marking the start of the guard wasn't found where it was expected.  
>>>> "Header
>>>> guard does not match filename" is used to indicate that the constant 
>>>> value
>>>> found in the header does not match what was expected based on hdrchk's
>>>> application of cstyle rules.
>>>
>>> Yeah, I realise the different contexts of use.  It just seems to me 
>>> that __FOO_H__ not matching _FOO_H_ is a 'formatting' issue, rather 
>>> than a 'filename' issue.  It's minor, and not a huge deal to me though.
>>
>> I see your point.  Perhaps you could reword the message slightly, such as
>> changing "does not match filename" to "name does not follow suggested 
>> style"
>> or something similar.
> 
> What about:
> "Header guard does not match suggested style (_FILENAME_H_)"
> 
> Or is that too nitty?

No, not too nitty; it's helpful to state what is expected.  But in your
example, is "_FILENAME_H_" a static string, or would you actually print
the real expected string based on the real filename?  If so, in the case
of files like <sys/zone.h> you would want to suggest "_SYS_ZONE_H_" yet
you won't know about the "SYS_" part without looking at more than the
header basename.  :(

I think that as long as the user gets a message that directs them to
review the style guidelines that should be good enough.

--Nathan


Reply via email to