Skip to content

Commit 0115717

Browse files
b4nmasatake
authored andcommitted
php: Fix HTML promises ranges
Don't include (part of) the PHP open tag in the HTML input.
1 parent 2219b75 commit 0115717

File tree

4 files changed

+7
-3
lines changed

4 files changed

+7
-3
lines changed

parsers/php.c

+7-3
Original file line numberDiff line numberDiff line change
@@ -861,13 +861,14 @@ static bool isOpenScriptLanguagePhp (int c)
861861
return true;
862862
}
863863

864-
static int findPhpStart (void)
864+
static int findPhpStart (int *tagStartColumn)
865865
{
866866
int c;
867867
do
868868
{
869869
if ((c = getcFromInputFile ()) == '<')
870870
{
871+
*tagStartColumn = getInputColumnNumber () - 1;
871872
c = getcFromInputFile ();
872873
/* <?, <?= and <?php, but not <?xml */
873874
if (c == '?')
@@ -932,14 +933,17 @@ static void readToken (tokenInfo *const token)
932933
{
933934
unsigned long startSourceLineNumber = getSourceLineNumber ();
934935
unsigned long startLineNumber = getInputLineNumber ();
936+
935937
int startColumnNumber = getInputColumnNumber ();
938+
int endColumnNumber;
936939

937-
c = findPhpStart ();
940+
c = findPhpStart (&endColumnNumber);
938941
if (c != EOF)
939942
InPhp = true;
943+
else
944+
endColumnNumber = getInputColumnNumber ();
940945

941946
unsigned long endLineNumber = getInputLineNumber ();
942-
int endColumnNumber = getInputColumnNumber ();
943947

944948
makePromise ("HTML", startLineNumber, startColumnNumber,
945949
endLineNumber, endColumnNumber, startSourceLineNumber);

0 commit comments

Comments
 (0)