Bug #15010 Updated: switch() problem: "+" matches "-"

From: Date: Thu, 24 Jan 2002 15:05:20 +0000
Subject: Bug #15010 Updated: switch() problem: "+" matches "-"
References: 1  Groups: php.dev 
Request: Send a blank email to php-dev+get-78004@lists.php.net to get a copy of this message
ID: 15010
Updated by: alexwaugh
Old Summary: switch() problem: "+" matches "-"
Reported By: matthew.somerville@trinity.oxford.ac.uk
Status: Closed
Bug Type: Variables related
Operating System: RISC OS
PHP Version: 4.1.0
Assigned To: alexwaugh
New Comment:

I could add a configure test for it, but PHP is linked statically to
the C library, and it is not (yet) trivial to compile PHP for RISC OS,
so at the moment virtually everyone uses the precompiled binaries I put
on my website.
There were also some fairly major bugs in the C library that were fixed
recently, and so using an uptodate version is important.
I think perhaps that the configure check could abort the configure
script with an error if it detects an old version, and force the user
to upgrade their C library, rather than providing a replacement
function.


Previous Comments:
------------------------------------------------------------------------

[2002-01-23 05:23:17] hholzgra@php.net

shall we add a configure test for it?

------------------------------------------------------------------------

[2002-01-23 05:05:04] alexwaugh@php.net

Caused by a bug in strtol(). A fix has been sent to the RISC OS C
library maintainer.

------------------------------------------------------------------------

[2002-01-12 19:28:30] matthew.somerville@trinity.oxford.ac.uk

Oh, I just assumed it was a problem with PHP, but if it
doesn't happen on anything else, obviously not. :) I'll
get in touch with the RISC OS porter.


------------------------------------------------------------------------

[2002-01-12 18:29:33] mfischer@php.net

Ok, sorry. I misread your report a bit ;)

So this applies only to RISC OS ? Can't reproduce this under linux.

------------------------------------------------------------------------

[2002-01-12 18:27:01] mfischer@php.net

Jesus man.

case statements not followed by a break; statement fall through.

Your code should read:

<? $k = "+";
   switch($k) {
     case "-": print "Oh no!"; break;
     case "+": print "Correct!"; break;
   }
?>

------------------------------------------------------------------------

The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at
    http://bugs.php.net/?id=15010


Edit this bug report at http://bugs.php.net/?id=15010&edit=1



Thread (8 messages)

« previous php.dev (#78004) next »