Ask a Question related to PHP Bugs, Design and Development.
-
pprasse at actindo dot de #1
#39588 [NEW]: unpack("a*", "abc\0") does not work as expected
From: pprasse at actindo dot de
Operating system: linux 2.6.10
PHP version: 4.4.4
PHP Bug Type: Scripting Engine problem
Bug description: unpack("a*", "abc\0") does not work as expected
Description:
------------
unpack( "a*", $string ) does not work as expected when last character of
$string is "\0"
Reproduce code:
---------------
<?php
$string = "abc\0";
$arr = unpack( "a*buf", $string );
printf( "strlen = %d\n", strlen($arr['buf']) );
printf( "hex dump:\t" );
for( $i=0; $i<strlen($arr['buf']); $i++ )
printf( " %02x", ord($arr['buf']{$i}) );
printf( "\n" );
?>
Expected result:
----------------
strlen = 4
hex dump: 61 62 63 00
Actual result:
--------------
strlen = 3
hex dump: 61 62 63
--
Edit bug report at [url]http://bugs.php.net/?id=39588&edit=1[/url]
--
Try a CVS snapshot (PHP 4.4): [url]http://bugs.php.net/fix.php?id=39588&r=trysnapshot44[/url]
Try a CVS snapshot (PHP 5.2): [url]http://bugs.php.net/fix.php?id=39588&r=trysnapshot52[/url]
Try a CVS snapshot (PHP 6.0): [url]http://bugs.php.net/fix.php?id=39588&r=trysnapshot60[/url]
Fixed in CVS: [url]http://bugs.php.net/fix.php?id=39588&r=fixedcvs[/url]
Fixed in release: [url]http://bugs.php.net/fix.php?id=39588&r=alreadyfixed[/url]
Need backtrace: [url]http://bugs.php.net/fix.php?id=39588&r=needtrace[/url]
Need Reproduce Script: [url]http://bugs.php.net/fix.php?id=39588&r=needscript[/url]
Try newer version: [url]http://bugs.php.net/fix.php?id=39588&r=oldversion[/url]
Not developer issue: [url]http://bugs.php.net/fix.php?id=39588&r=support[/url]
Expected behavior: [url]http://bugs.php.net/fix.php?id=39588&r=notwrong[/url]
Not enough info: [url]http://bugs.php.net/fix.php?id=39588&r=notenoughinfo[/url]
Submitted twice: [url]http://bugs.php.net/fix.php?id=39588&r=submittedtwice[/url]
register_globals: [url]http://bugs.php.net/fix.php?id=39588&r=globals[/url]
PHP 3 support discontinued: [url]http://bugs.php.net/fix.php?id=39588&r=php3[/url]
Daylight Savings: [url]http://bugs.php.net/fix.php?id=39588&r=dst[/url]
IIS Stability: [url]http://bugs.php.net/fix.php?id=39588&r=isapi[/url]
Install GNU Sed: [url]http://bugs.php.net/fix.php?id=39588&r=gnused[/url]
Floating point limitations: [url]http://bugs.php.net/fix.php?id=39588&r=float[/url]
No Zend Extensions: [url]http://bugs.php.net/fix.php?id=39588&r=nozend[/url]
MySQL Configuration Error: [url]http://bugs.php.net/fix.php?id=39588&r=mysqlcfg[/url]
pprasse at actindo dot de Guest
-
Proj cannot run on LCDS 2.6 ES due to "Unable to resolveresource bundle "datamanagement" for locale "en_US"
hi, all, We have developped an application on Flex Build 3 (run successfully), but failed when we try to deploy it on Tomcat with LCDS 2.5 ES... -
CFINPUT type="radio" w/ "value" requires "label"
On a Flash form, when you specify type='radio' and value='whatever', the value of the 'value' attribute will be displayed as a label if no 'label'... -
FScommand("Exec","myapplication.exe") doesnot work on Trial version MX?
i think projector in this case is meant to be a .exe file not a test.swf like you mentioned. goto File, Publish Settings... and there under the... -
"Start" "Program" "Menu" list is empty
For what ever reason my list of installed programs in my "Start" "Programs" menu is empty. Anyone know how to restore the list. Thanks for your... -
How to make the "search text" feature work with non "txt" file
On Fri, 27 Jun 2003 07:19:23 -0700, "Juergen" <anhorn@bktel.com> wrote: See MVP Doug Knox' comments and fix here:... -
tony2001@php.net #2
#39588 [Opn->Bgs]: unpack("a*", "abc\0") does not work as expected
ID: 39588
Updated by: [email]tony2001@php.net[/email]
Reported By: pprasse at actindo dot de
-Status: Open
+Status: Bogus
-Bug Type: Scripting Engine problem
+Bug Type: Strings related
Operating System: linux 2.6.10
PHP Version: 4.4.4
New Comment:
Expected behaviour.
$var = "str";
$packed = pack("a5", $var); // 5 bytes long NULL-padded string
var_dump(unpack("a*", $packed)); // the NULL-padding is removed to get
the original data.
Previous Comments:
------------------------------------------------------------------------
[2006-11-22 14:09:26] pprasse at actindo dot de
Description:
------------
unpack( "a*", $string ) does not work as expected when last character
of $string is "\0"
Reproduce code:
---------------
<?php
$string = "abc\0";
$arr = unpack( "a*buf", $string );
printf( "strlen = %d\n", strlen($arr['buf']) );
printf( "hex dump:\t" );
for( $i=0; $i<strlen($arr['buf']); $i++ )
printf( " %02x", ord($arr['buf']{$i}) );
printf( "\n" );
?>
Expected result:
----------------
strlen = 4
hex dump: 61 62 63 00
Actual result:
--------------
strlen = 3
hex dump: 61 62 63
------------------------------------------------------------------------
--
Edit this bug report at [url]http://bugs.php.net/?id=39588&edit=1[/url]
tony2001@php.net Guest



Reply With Quote

