1 1.3 rillig # $NetBSD: directive-for-null.mk,v 1.3 2022/06/12 15:03:27 rillig Exp $ 2 1.1 rillig # 3 1.1 rillig # Test for parsing a .for loop that accidentally contains a null byte. 4 1.1 rillig # 5 1.1 rillig # As of 2020-12-19, there are 3 error messages: 6 1.1 rillig # 7 1.1 rillig # make: "(stdin)" line 2: Zero byte read from file 8 1.1 rillig # make: "(stdin)" line 2: Unexpected end of file in for loop. 9 1.1 rillig # make: "(stdin)" line 3: Zero byte read from file 10 1.1 rillig # 11 1.1 rillig # The one about "end of file" might be misleading but is due to the 12 1.2 rillig # implementation. On both errors and EOF, ParseRawLine returns NULL. 13 1.1 rillig # 14 1.1 rillig # The one about the "zero byte" in line 3 is surprising since the only 15 1.1 rillig # line that contains a null byte is line 2. 16 1.1 rillig 17 1.1 rillig all: .PHONY 18 1.3 rillig @printf '%s\n' \ 19 1.3 rillig '.for i in 1 2 3' \ 20 1.3 rillig 'VAR=value' \ 21 1.3 rillig '.endfor' \ 22 1.3 rillig | tr 'l' '\0' \ 23 1.1 rillig | ${MAKE} -f - 24