Re: Re: cvs: php4 /ext/mbstring mbstring.c

From: Date: Fri, 21 Jun 2002 19:56:32 +0000
Subject: Re: Re: cvs: php4 /ext/mbstring mbstring.c
References: 1 2 3 4 5  Groups: php.dev 
Request: Send a blank email to php-dev+get-85475@lists.php.net to get a copy of this message
At 20:29 21.06.2002, Brian France wrote:
At 7:23 PM +0200 6/21/02, Marcus Börger wrote:
What i wanted to stree out is that exif uses functions from mbstring if present. That means if mbstring is not present it does not use these and the user has to do that stuff for his own. If mbstring is compiled as a shared extension both exif and mbstring will work together perfectly but exif cannot use mbstring even though it is present and that might/WILL be confusing to users.
That make sense, is there a change that can be made in exif to fix this problem? Looking over the code for exif again I still don't see it calling anything from mbstring and it doesn't call php_treat_data which was what mbstring was overwriting. Cheers, Brian
It uses c functions php_mb_convert_encoding and php_mb_check_encoding_list. If you do not find those in ext/exif/exif.c you are not using head since this was added right after releasing PHP 4.2. In there you'll find some #ifdef HAVE_MBSTRING lines. I think if you use PHP 4.2.x for now we will find a solution like Markus (with k) mentioned and load the needed two functions dynamically. Question to Markus: We do not allways have dlsym, have we? *nix and cygwin have dlfcn.h but my Win does not have it. So i guess the correct macros are
# define DL_LOAD(libname)                       LoadLibrary(libname)
# define DL_FETCH_SYMBOL                        GetProcAddress
# define DL_UNLOAD                                      FreeLibrary
That would mean loading the symbols in MINIT, correct? regards marcus

« previous php.dev (#85475) next »