#23105 [Opn->Asn]: read_exif_data fails to read entire string
| From: | sniper@php.net | Date: | Tue, 08 Apr 2003 20:21:51 +0000 |
| Subject: | #23105 [Opn->Asn]: read_exif_data fails to read entire string | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-37370@lists.php.net to get a copy of this message | ||
ID: 23105
Updated by: sniper@php.net
Reported By: joncu at autodesk dot com
-Status: Open
+Status: Assigned
Bug Type: mbstring related
Operating System: XP
PHP Version: 4.3.1
-Assigned To:
+Assigned To: edink
New Comment:
Edin, can you add the missing defines..
Previous Comments:
------------------------------------------------------------------------
[2003-04-08 05:19:21] joncu at autodesk dot com
I have now been able to debug this to the point of knowing that it is
an MBString problem. HAVE_MBSTRING is not defined in the exif project
when config.w32.h has it defined. So, EXIF_USE_MBSTRING does not get
defined.
I tried manually setting EXIF_USE_MBSTRING, but was unable to get it
correct - ending with a problem in the Thread storage accessing the
mbstring globals.
Anyway, someone more familiar with this code can probably find and fix
the problem fairly quickly. It just appears that somewhere in the VC6
dsw and dsp files, the HAVE_MBSTRING extension is not getting set
correctly.
Also - to create a test JPG, I just used the XP file properties dialog
to add summary data to the Title, Comments, etc. fields (under
summary/advanced).
------------------------------------------------------------------------
[2003-04-07 23:08:01] joncu at autodesk dot com
read_exif_data() will only return the first letter of any WINXP Unicode
strings. This only happens in a Win32 build of the php_exif.dll. The
bug does not occur in a Linux build.
I've confirmed this with both my own build and the currently posted
php_exif.dll. I am unable to successfully run a debug build in XP, so
I have not been able to debug further.
The same data will be read fully under the IFD0 tags, but not under the
WINXP tags. The following code ...
foreach($exif as $key=>$section) {
foreach($section as $name=>$val) {
echo "$key.$name: $val<br />\n";
}
}
... will return the following relevant data ...
IFD0.Title: JMC_TITLE
IFD0.Comments: JMC_COMMENTS
IFD0.Subject: JMC_SUBJECT
WINXP.Title: J
WINXP.Comments: J
WINXP.Subject: J
These two sections should be identical, and are with Linux built
binaries.
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=23105&edit=1