#20035 [Asn->Csd]: __LINE__ miscounts with #!/path/php scripts

From: Date: Tue, 05 Nov 2002 22:07:18 +0000
Subject: #20035 [Asn->Csd]: __LINE__ miscounts with #!/path/php scripts
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-24147@lists.php.net to get a copy of this message
ID: 20035 Updated by: iliaa@php.net Reported By: befletch@yahoo.com -Status: Assigned +Status: Closed Bug Type: Scripting Engine problem Operating System: OpenBSD 3.1 PHP Version: 4.2.3 Assigned To: iliaa New Comment: This bug has been fixed in CVS. In case this was a PHP problem, snapshots of the sources are packaged every three hours; this change will be in the next snapshot. You can grab the snapshot at http://snaps.php.net/. In case this was a documentation problem, the fix will show up soon at http://www.php.net/manual/. In case this was a PHP.net website problem, the change will show up on the PHP.net site and on the mirror sites in short time. Thank you for the report, and for helping us make PHP better. Previous Comments: ------------------------------------------------------------------------ [2002-10-23 10:13:15] sander@php.net The shebang line doesn't get stripped off by the kernel, PHP does that. This is a bug. ------------------------------------------------------------------------ [2002-10-23 00:44:20] derick@php.net Your kernel strips the first line, and so PHP sees the last 3 lines. As it doesn't know that the kernel stripped the first shebang line it's obvious that your line 3 reports line 2. Derick ------------------------------------------------------------------------ [2002-10-22 20:25:37] befletch@yahoo.com Excuse me, but I don't understand why this isn't a bug. The only reference to __LINE__ I can find in the documentation is here: http://www.php.net/manual/en/language.constants.php I can find nothing that suggests it is reasonable that __LINE__ counts are off by one when used in #! prefixed command line scripts, (but not in other uses) and I can see no reason why this would be considered reasonable behaviour. Can someone give me at least a 1 sentence explanation instead of just hitting the 'quick-fix' RTFM button? ------------------------------------------------------------------------ [2002-10-22 19:39:04] iliaa@php.net Thank you for taking the time to write to us, but this is not a bug. Please double-check the documentation available at http://www.php.net/manual/ and the instructions on how to report a bug at http://bugs.php.net/how-to-report.php ------------------------------------------------------------------------ [2002-10-22 19:34:54] befletch@yahoo.com The built-in variable __LINE__ undercounts by 1 on command-line scripts that begin with a #!path-to-php line. For example: #!/usr/local/bin/php -q <?php echo "Line 3 reports ".__LINE__."\n"; ?> This script will output: Line 3 reports 2 This issue also applies to (at least) some other 4.1+ releases. ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=20035&edit=1

« previous php.bugs (#24147) next »