You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The difference between a string literal in C and a quoted header name is that the latter is " q-char-sequence " in the Standard (section 6.10.2). This is indeed also a valid string literal, but not vice versa.
A string literal can include an encoding prefix (such as L) and escape sequences. pcpp looks for a string literal following #include. It uses the characters in the token's value as the file name. Instead, it should look for " q-char-sequence ".
Examples:
#include L"test.h"
This will try to open "test.h" but with wide characters in the string, which is not what is intended. Instead, this should be a syntax error (assuming L is not a macro).
#include "..\test.h"`
The intention is to open "test.h" in the parent directory (on Windows systems). The \ is just an ordinary character in the file name. pcpp will try to open "..\test.h" in the current directory, with ]t` being a tab character.
The fix
Use similar code to that used for #include < h-char-sequence >. Note (Standard section A.1.8), an h-char is any character other than > or \n.
The text was updated successfully, but these errors were encountered:
The difference between a string literal in C and a quoted header name is that the latter is
" q-char-sequence "
in the Standard (section 6.10.2). This is indeed also a valid string literal, but not vice versa.A string literal can include an encoding prefix (such as
L
) and escape sequences.pcpp looks for a string literal following
#include
. It uses the characters in the token's value as the file name. Instead, it should look for" q-char-sequence "
.Examples:
This will try to open "test.h" but with wide characters in the string, which is not what is intended. Instead, this should be a syntax error (assuming
L
is not a macro).The intention is to open "test.h" in the parent directory (on Windows systems). The
\
is just an ordinary character in the file name. pcpp will try to open "..\test.h" in the current directory, with ]t` being a tab character.The fix
Use similar code to that used for
#include < h-char-sequence >
. Note (Standard section A.1.8), anh-char
is any character other than>
or\n
.The text was updated successfully, but these errors were encountered: