int motorola_intel; /* 1 Motorola; 0 Intel */
char *UserComment;
- int UserCommentLength;
char UserCommentEncoding[12];
char *Thumbnail;
case TAG_FMT_STRING:
if ( value) {
- /*length = php_strnlen(value,length); would disable UNICODE comments*/
+ length = php_strnlen(value,length);
info_value->length = length;
info_value->value.s = estrndup(value,length);
} else {
void add_assoc_image_info( pval *value, int sub_array, image_info_type *image_info, int section_index)
{
char buffer[64], *val, *name, uname[64];
- int idx=0, unknown=0, len;
+ int idx=0, unknown=0;
image_info_value *info_value;
if ( image_info->info_list[section_index].count)
break;
case TAG_FMT_STRING:
- if ( !(val = info_value->value.s)) {
- val = "";
- len = 0;
- } else {
- len = info_value->length;
- }
+ if ( !(val = info_value->value.s)) val = "";
if (section_index==SECTION_COMMENT) {
- add_index_stringl(tmpi, idx++, val, len, 1);
+ add_index_string(tmpi, idx++, val, 1);
} else {
- add_assoc_stringl(tmpi, name, val, len , 1);
+ add_assoc_string(tmpi, name, val, 1);
}
break;
*/
static void exif_process_COM (image_info_type *image_info, uchar *value, int length)
{
- exif_add_image_info( image_info, SECTION_COMMENT, "Comment", TAG_COMPUTED_VALUE, TAG_FMT_STRING, php_strnlen(value+2, length-2), value+2);
+ exif_add_image_info( image_info, SECTION_COMMENT, "Comment", TAG_COMPUTED_VALUE, TAG_FMT_STRING, length-2, value+2);
}
/* }}} */
* Process UserComment in IFD. */
static int exif_process_user_comment(char **pszInfoPtr,char *szEncoding,char *szValuePtr,int ByteCount)
{
- int a, size;
+ int a;
*szEncoding = '\0';
/* Copy the comment */
strcpy( szEncoding, szValuePtr);
szValuePtr = szValuePtr+8;
ByteCount -= 8;
- size = exif_process_string_raw(pszInfoPtr, szValuePtr, ByteCount);
- return size ? size-1 : 0;
+ return exif_process_string_raw(pszInfoPtr, szValuePtr, ByteCount);
}
if ( !memcmp(szValuePtr, "ASCII\0\0\0", 8)) {
strcpy( szEncoding, szValuePtr);
if (a) for (a=ByteCount-1;a && szValuePtr[a]==' ';a--) (szValuePtr)[a] = '\0';
/* normal text without encoding */
- size = exif_process_string(pszInfoPtr, szValuePtr, ByteCount);
- return size ? size-1 : 0;
+ return exif_process_string(pszInfoPtr, szValuePtr, ByteCount);
}
/* }}} */
break;
case TAG_USERCOMMENT:
- ImageInfo->UserCommentLength = exif_process_user_comment(&(ImageInfo->UserComment),ImageInfo->UserCommentEncoding,value_ptr,byte_count);
+ exif_process_user_comment(&(ImageInfo->UserComment),ImageInfo->UserCommentEncoding,value_ptr,byte_count);
break;
/* this is only a comment if type is string! */
/* correctly would be to set components as length
* but we are ignoring length for those types where it is not the same as byte_count
*/
- if (format==TAG_FMT_STRING) {
- byte_count = php_strnlen(value_ptr,byte_count);
- }
exif_add_image_info( ImageInfo, section_index, exif_get_tagname(tag,tagname), tag, format, byte_count, value_ptr);
if ( outside) efree( outside);
}
exif_add_image_info( &ImageInfo, SECTION_COMPUTED, "FocusDistance", TAG_NONE, TAG_FMT_STRING, strlen(tmp), tmp);
}
if (ImageInfo.UserComment) {
- exif_add_image_info( &ImageInfo, SECTION_COMPUTED, "UserComment", TAG_NONE, TAG_FMT_STRING, ImageInfo.UserCommentLength, ImageInfo.UserComment);
+ exif_add_image_info( &ImageInfo, SECTION_COMPUTED, "UserComment", TAG_NONE, TAG_FMT_STRING, strlen(ImageInfo.UserComment), ImageInfo.UserComment);
if ( (len=strlen(ImageInfo.UserCommentEncoding))) {
exif_add_image_info( &ImageInfo, SECTION_COMPUTED, "UserCommentEncoding", TAG_NONE, TAG_FMT_STRING, len, ImageInfo.UserCommentEncoding);
}