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

Bug#1059873: 12.14.5 String Input Conversions: The meaning of ‘%[\0a]’ conversion is unclear



Hi,

On 2024-01-03 16:13, Krzysztof Żelechowski wrote:
> It is not clear whether the format string "%[\0a]" matches the input string
> "a" or not.  I interpret the documentation as saying that once the selector
> "%[ " has been opened, the format interpreter must find a matching "]",
> therefore it must not interpret the embedded "\0" as the end of the format
> string.

According to the C standard, \0 or the NUL character is the end of
string. Therefore the string passed to fscanf is simply "%[", which is
invalid.

> However, trying to use such a format string causes the compiler to
> report the warning "format contains NUL", which suggests that using such a
> format string involves undefined behaviour.

As explained above, the compiler is right about that.

Regards
Aurelien

-- 
Aurelien Jarno                          GPG: 4096R/1DDD8C9B
aurelien@aurel32.net                     http://aurel32.net


Reply to: