From ddc78bc5c02799a3e5150b207f1523227588aa8c Mon Sep 17 00:00:00 2001 From: Marcus Boerger Date: Sat, 14 Dec 2002 19:53:52 +0000 Subject: [PATCH] MFH --- ext/exif/exif.c | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/ext/exif/exif.c b/ext/exif/exif.c index 0e8250ce9b..41cb064a5a 100644 --- a/ext/exif/exif.c +++ b/ext/exif/exif.c @@ -58,7 +58,11 @@ #include "ext/standard/php_image.h" #include "ext/standard/info.h" -#ifdef HAVE_MBSTRING +#if defined(HAVE_MBSTRING) && !defined(COMPILE_DL_MBSTRING) +#define EXIF_USE_MBSTRING 1 +#endif + +#ifdef EXIF_USE_MBSTRING #include "ext/mbstring/mbstring.h" #endif @@ -126,7 +130,7 @@ ZEND_DECLARE_MODULE_GLOBALS(exif) ZEND_API ZEND_INI_MH(OnUpdateEncode) { -#ifdef HAVE_MBSTRING +#ifdef EXIF_USE_MBSTRING if (new_value && strlen(new_value) && !php_mb_check_encoding_list(new_value TSRMLS_CC)) { php_error_docref( NULL TSRMLS_CC, E_WARNING, "Illegal encoding ignored: '%s'", new_value); return FAILURE; @@ -137,7 +141,7 @@ ZEND_API ZEND_INI_MH(OnUpdateEncode) ZEND_API ZEND_INI_MH(OnUpdateDecode) { -#ifdef HAVE_MBSTRING +#ifdef EXIF_USE_MBSTRING if (!php_mb_check_encoding_list(new_value TSRMLS_CC)) { php_error_docref( NULL TSRMLS_CC, E_WARNING, "Illegal encoding ignored: '%s'", new_value); return FAILURE; @@ -2507,7 +2511,7 @@ static int exif_process_undefined(char **result, char *value, size_t byte_count /* {{{ exif_process_string_raw * Copy a string in Exif header to a character string returns length of allocated buffer if any. */ -#ifndef HAVE_MBSTRING +#ifndef EXIF_USE_MBSTRING static int exif_process_string_raw(char **result, char *value, size_t byte_count) { /* we cannot use strlcpy - here the problem is that we have to copy NUL * chars up to byte_count, we also have to add a single NUL character to @@ -2553,7 +2557,7 @@ static int exif_process_user_comment(image_info_type *ImageInfo, char **pszInfoP { int a; -#ifdef HAVE_MBSTRING +#ifdef EXIF_USE_MBSTRING size_t len;; #endif @@ -2564,7 +2568,7 @@ static int exif_process_user_comment(image_info_type *ImageInfo, char **pszInfoP *pszEncoding = estrdup((const char*)szValuePtr); szValuePtr = szValuePtr+8; ByteCount -= 8; -#ifdef HAVE_MBSTRING +#ifdef EXIF_USE_MBSTRING if (ImageInfo->motorola_intel) { *pszInfoPtr = php_mb_convert_encoding(szValuePtr, ByteCount, ImageInfo->encode_unicode, ImageInfo->decode_unicode_be, &len TSRMLS_CC); } else { @@ -2585,7 +2589,7 @@ static int exif_process_user_comment(image_info_type *ImageInfo, char **pszInfoP *pszEncoding = estrdup((const char*)szValuePtr); szValuePtr = szValuePtr+8; ByteCount -= 8; -#ifdef HAVE_MBSTRING +#ifdef EXIF_USE_MBSTRING if (ImageInfo->motorola_intel) { *pszInfoPtr = php_mb_convert_encoding(szValuePtr, ByteCount, ImageInfo->encode_jis, ImageInfo->decode_jis_be, &len TSRMLS_CC); } else { @@ -2624,7 +2628,7 @@ static int exif_process_unicode(image_info_type *ImageInfo, xp_field_type *xp_fi xp_field->tag = tag; /* Copy the comment */ -#ifdef HAVE_MBSTRING +#ifdef EXIF_USE_MBSTRING /* What if MS supports big-endian with XP? */ /* if (ImageInfo->motorola_intel) { xp_field->value = php_mb_convert_encoding(szValuePtr, ByteCount, ImageInfo->encode_unicode, ImageInfo->decode_unicode_be, &xp_field->size TSRMLS_CC); -- 2.50.1