#20035 [Asn->Csd]: __LINE__ miscounts with #!/path/php scripts
| From: | iliaa@php.net | 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