@@ -44,7 +44,7 @@ public function parseHeader(Message $message)
4444 }
4545
4646 $ header = substr ($ message ->data , 0 , 12 );
47- $ message ->data = substr ( $ message -> data , 12 ) ;
47+ $ message ->consumed += 12 ;
4848
4949 list ($ id , $ fields , $ qdCount , $ anCount , $ nsCount , $ arCount ) = array_merge (unpack ('n* ' , $ header ));
5050
@@ -76,7 +76,7 @@ public function parseQuestion(Message $message)
7676
7777 $ labels = array ();
7878
79- $ consumed = 0 ;
79+ $ consumed = $ message -> consumed ;
8080
8181 $ length = ord (substr ($ message ->data , $ consumed , 1 ));
8282 $ consumed += 1 ;
@@ -104,7 +104,7 @@ public function parseQuestion(Message $message)
104104 list ($ type , $ class ) = array_merge (unpack ('n* ' , substr ($ message ->data , $ consumed , 4 )));
105105 $ consumed += 4 ;
106106
107- $ message ->data = substr ( $ message -> data , $ consumed) ?: '' ;
107+ $ message ->consumed = $ consumed ;
108108
109109 $ message ->questions [] = array (
110110 'name ' => implode ('. ' , $ labels ),
@@ -125,7 +125,7 @@ public function parseAnswer(Message $message)
125125 return ;
126126 }
127127
128- $ consumed = 0 ;
128+ $ consumed = $ message -> consumed ;
129129
130130 $ mask = 0xc000 ; // 1100000000000000
131131 list ($ nameOffset ) = array_merge (unpack ('n ' , substr ($ message ->data , $ consumed , 2 )));
@@ -172,7 +172,7 @@ public function parseAnswer(Message $message)
172172 $ rdata = inet_ntop ($ ip );
173173 }
174174
175- $ message ->data = substr ( $ message -> data , $ consumed) ?: '' ;
175+ $ message ->consumed = $ consumed ;
176176
177177 $ name = implode ('. ' , $ labels );
178178 $ ttl = $ this ->signedLongToUnsignedLong ($ ttl );
0 commit comments