]> granicus.if.org Git - php/commitdiff
- Errors, warnings and notices start with a capital letter.
authorMarcus Boerger <helly@php.net>
Fri, 20 Jun 2003 18:24:38 +0000 (18:24 +0000)
committerMarcus Boerger <helly@php.net>
Fri, 20 Jun 2003 18:24:38 +0000 (18:24 +0000)
- Show sorcode info when debugging exif.

ext/exif/exif.c

index d1c6f52665b65d633f04a3669a0e6d8db751c72a..3b947e5fdb87ce61750cd52909ba3cf3e739c91a 100644 (file)
  */
 #undef EXIF_DEBUG
 
+#ifdef EXIF_DEBUG
+#define EXIFERR_DC , const char *_file, size_t _line TSRMLS_DC
+#define EXIFERR_CC , __FILE__, __LINE__ TSRMLS_CC
+#else
+#define EXIFERR_DC TSRMLS_DC
+#define EXIFERR_CC TSRMLS_CC
+#endif
+
 #undef EXIF_JPEG2000
 
 #include "php_exif.h"
@@ -243,10 +251,10 @@ static const char * EXIF_ERROR_CORRUPT   = "File structure corrupted";
 static const char * EXIF_ERROR_THUMBEOF  = "Thumbnail goes IFD boundary or end of file reached";
 static const char * EXIF_ERROR_FSREALLOC = "Illegal reallocating of undefined file section";
 
-#define EXIF_ERRLOG_FILEEOF    php_error_docref(NULL TSRMLS_CC, E_WARNING, EXIF_ERROR_FILEEOF);
-#define EXIF_ERRLOG_CORRUPT    php_error_docref(NULL TSRMLS_CC, E_WARNING, EXIF_ERROR_CORRUPT);
-#define EXIF_ERRLOG_THUMBEOF   php_error_docref(NULL TSRMLS_CC, E_WARNING, EXIF_ERROR_THUMBEOF);
-#define EXIF_ERRLOG_FSREALLOC  php_error_docref(NULL TSRMLS_CC, E_WARNING, EXIF_ERROR_FSREALLOC);
+#define EXIF_ERRLOG_FILEEOF(ImageInfo)    exif_error_docref(NULL EXIFERR_CC, ImageInfo, E_WARNING, EXIF_ERROR_FILEEOF);
+#define EXIF_ERRLOG_CORRUPT(ImageInfo)    exif_error_docref(NULL EXIFERR_CC, ImageInfo, E_WARNING, EXIF_ERROR_CORRUPT);
+#define EXIF_ERRLOG_THUMBEOF(ImageInfo)   exif_error_docref(NULL EXIFERR_CC, ImageInfo, E_WARNING, EXIF_ERROR_THUMBEOF);
+#define EXIF_ERRLOG_FSREALLOC(ImageInfo)  exif_error_docref(NULL EXIFERR_CC, ImageInfo, E_WARNING, EXIF_ERROR_FSREALLOC);
 /* }}} */
 
 /* {{{ format description defines
@@ -1436,12 +1444,22 @@ typedef struct {
 /* }}} */
 
 /* {{{ exif_error_docref */
-static void exif_error_docref(const char *docref TSRMLS_DC, const image_info_type *ImageInfo, int type, const char *format, ...)
+static void exif_error_docref(const char *docref EXIFERR_DC, const image_info_type *ImageInfo, int type, const char *format, ...)
 {
        va_list args;
        
        va_start(args, format);
+#ifdef EXIF_DEBUG
+       {
+               char *buf;
+
+               spprintf(&buf, 0, "%s(%d): %s", _file, _line, format);
+               php_verror(docref, ImageInfo->FileName?ImageInfo->FileName:"", type, buf, args TSRMLS_CC);
+               efree(buf);
+       }
+#else
        php_verror(docref, ImageInfo->FileName?ImageInfo->FileName:"", type, format, args TSRMLS_CC);
+#endif
        va_end(args);
 }
 /* }}} */
@@ -1494,7 +1512,7 @@ static int exif_file_sections_realloc(image_info_type *ImageInfo, int section_in
         * function parameters (requirements engineering).
         */
        if (section_index >= ImageInfo->file.count) {
-               EXIF_ERRLOG_FSREALLOC
+               EXIF_ERRLOG_FSREALLOC(ImageInfo)
                return -1;
        }
        tmp = erealloc(ImageInfo->file.list[section_index].data, size);
@@ -1751,7 +1769,7 @@ static void exif_iif_add_buffer(image_info_type *image_info, int section_index,
                info_data->name   = estrdup(name);
                if (PG(magic_quotes_runtime)) {
 #ifdef EXIF_DEBUG
-                       exif_error_docref(NULL TSRMLS_CC, image_info, E_NOTICE, "Adding %s as buffer%s", name, exif_char_dump(value, length, 0));
+                       exif_error_docref(NULL EXIFERR_CC, image_info, E_NOTICE, "Adding %s as buffer%s", name, exif_char_dump(value, length, 0));
 #endif
                        info_data->value.s = php_addslashes(value, length, &length, 0 TSRMLS_CC);
                        info_data->length = length;
@@ -2334,7 +2352,7 @@ static void exif_thumbnail_build(image_info_type *ImageInfo TSRMLS_DC) {
                return; /* ignore this call */
        }
 #ifdef EXIF_DEBUG
-       exif_error_docref(NULL TSRMLS_CC, ImageInfo, E_NOTICE, "Thumbnail: filetype = %d", ImageInfo->Thumbnail.filetype);
+       exif_error_docref(NULL EXIFERR_CC, ImageInfo, E_NOTICE, "Thumbnail: filetype = %d", ImageInfo->Thumbnail.filetype);
 #endif
        switch(ImageInfo->Thumbnail.filetype) {
                default:
@@ -2346,7 +2364,7 @@ static void exif_thumbnail_build(image_info_type *ImageInfo TSRMLS_DC) {
                        info_list = &ImageInfo->info_list[SECTION_THUMBNAIL];
                        new_size  = 8 + 2 + info_list->count * 12 + 4;
 #ifdef EXIF_DEBUG
-                       exif_error_docref(NULL TSRMLS_CC, ImageInfo, E_NOTICE, "Thumbnail: size of signature + directory(%d): 0x%02X", info_list->count, new_size);
+                       exif_error_docref(NULL EXIFERR_CC, ImageInfo, E_NOTICE, "Thumbnail: size of signature + directory(%d): 0x%02X", info_list->count, new_size);
 #endif
                        new_value= new_size; /* offset for ifd values outside ifd directory */
                        for (i=0; i<info_list->count; i++) {
@@ -2374,7 +2392,7 @@ static void exif_thumbnail_build(image_info_type *ImageInfo TSRMLS_DC) {
                                info_data  = &info_list->list[i];
                                byte_count = php_tiff_bytes_per_format[info_data->format] * info_data->length;
 #ifdef EXIF_DEBUG
-                               exif_error_docref(NULL TSRMLS_CC, ImageInfo, E_NOTICE, "Thumbnail: process tag(x%04X=%s): %s%s (%d bytes)", info_data->tag, exif_get_tagname(info_data->tag, tagname, -12, tag_table_IFD TSRMLS_CC), (info_data->length>1)&&info_data->format!=TAG_FMT_UNDEFINED&&info_data->format!=TAG_FMT_STRING?"ARRAY OF ":"", exif_get_tagformat(info_data->format), byte_count);
+                               exif_error_docref(NULL EXIFERR_CC, ImageInfo, E_NOTICE, "Thumbnail: process tag(x%04X=%s): %s%s (%d bytes)", info_data->tag, exif_get_tagname(info_data->tag, tagname, -12, tag_table_IFD TSRMLS_CC), (info_data->length>1)&&info_data->format!=TAG_FMT_UNDEFINED&&info_data->format!=TAG_FMT_STRING?"ARRAY OF ":"", exif_get_tagformat(info_data->format), byte_count);
 #endif
                                if (info_data->tag==TAG_STRIP_OFFSETS || info_data->tag==TAG_JPEG_INTERCHANGE_FORMAT) {
                                        php_ifd_set16u(new_data + 0, info_data->tag,    ImageInfo->motorola_intel);
@@ -2391,7 +2409,7 @@ static void exif_thumbnail_build(image_info_type *ImageInfo TSRMLS_DC) {
                                        } else {
                                                php_ifd_set32u(new_data+8, new_value, ImageInfo->motorola_intel);
 #ifdef EXIF_DEBUG
-                                               exif_error_docref(NULL TSRMLS_CC, ImageInfo, E_NOTICE, "Thumbnail: writing with value offset: 0x%04X + 0x%02X", new_value, byte_count);
+                                               exif_error_docref(NULL EXIFERR_CC, ImageInfo, E_NOTICE, "Thumbnail: writing with value offset: 0x%04X + 0x%02X", new_value, byte_count);
 #endif
                                                memmove(ImageInfo->Thumbnail.data+new_value, value_ptr, byte_count);
                                                new_value += byte_count;
@@ -2402,7 +2420,7 @@ static void exif_thumbnail_build(image_info_type *ImageInfo TSRMLS_DC) {
                        }
                        memset(new_data, 0, 4); /* next ifd pointer */
 #ifdef EXIF_DEBUG
-                       exif_error_docref(NULL TSRMLS_CC, ImageInfo, E_NOTICE, "Thumbnail: created");
+                       exif_error_docref(NULL EXIFERR_CC, ImageInfo, E_NOTICE, "Thumbnail: created");
 #endif
                        break;
        }
@@ -2413,7 +2431,7 @@ static void exif_thumbnail_build(image_info_type *ImageInfo TSRMLS_DC) {
  * Grab the thumbnail, corrected */
 static void exif_thumbnail_extract(image_info_type *ImageInfo, char *offset, size_t length TSRMLS_DC) {
        if (ImageInfo->Thumbnail.data) {
-               exif_error_docref("exif_read_data#error_mult_thumb" TSRMLS_CC, ImageInfo, E_WARNING, "multiple possible thumbnails");
+               exif_error_docref("exif_read_data#error_mult_thumb" EXIFERR_CC, ImageInfo, E_WARNING, "Multiple possible thumbnails");
                return; /* Should not happen */
        }
        if (!ImageInfo->read_thumbnail) {
@@ -2424,12 +2442,12 @@ static void exif_thumbnail_extract(image_info_type *ImageInfo, char *offset, siz
         || ImageInfo->Thumbnail.size <= 0
         || ImageInfo->Thumbnail.offset <= 0
        ) {
-               exif_error_docref(NULL TSRMLS_CC, ImageInfo, E_WARNING, "illegal thumbnail size/offset");
+               exif_error_docref(NULL EXIFERR_CC, ImageInfo, E_WARNING, "Illegal thumbnail size/offset");
                return;
        }
        /* Check to make sure we are not going to go past the ExifLength */
        if ((ImageInfo->Thumbnail.offset + ImageInfo->Thumbnail.size) > length) {
-               EXIF_ERRLOG_THUMBEOF
+               EXIF_ERRLOG_THUMBEOF(ImageInfo)
                return;
        }
        ImageInfo->Thumbnail.data = estrndup(offset + ImageInfo->Thumbnail.offset, ImageInfo->Thumbnail.size);
@@ -2611,7 +2629,7 @@ static int exif_process_IFD_in_MAKERNOTE(image_info_type *ImageInfo, char * valu
                        return FALSE;
                maker_note = maker_note_array+i;
                
-               /*exif_error_docref(NULL TSRMLS_CC, ImageInfo, E_NOTICE, "check (%s,%s)", maker_note->make?maker_note->make:"", maker_note->model?maker_note->model:"");*/
+               /*exif_error_docref(NULL EXIFERR_CC, ImageInfo, E_NOTICE, "check (%s,%s)", maker_note->make?maker_note->make:"", maker_note->model?maker_note->model:"");*/
                if (maker_note->make && (!ImageInfo->make || strcmp(maker_note->make, ImageInfo->make)))
                        continue;
                if (maker_note->model && (!ImageInfo->model || strcmp(maker_note->model, ImageInfo->model)))
@@ -2624,7 +2642,7 @@ static int exif_process_IFD_in_MAKERNOTE(image_info_type *ImageInfo, char * valu
        dir_start = value_ptr + maker_note->offset;
 
 #ifdef EXIF_DEBUG
-       exif_error_docref(NULL TSRMLS_CC, ImageInfo, E_NOTICE, "process %s @x%04X + 0x%04X=%d: %s", exif_get_sectionname(section_index), (int)dir_start-(int)offset_base+maker_note->offset+displacement, value_len, value_len, exif_char_dump(value_ptr, value_len, (int)dir_start-(int)offset_base+maker_note->offset+displacement));
+       exif_error_docref(NULL EXIFERR_CC, ImageInfo, E_NOTICE, "Process %s @x%04X + 0x%04X=%d: %s", exif_get_sectionname(section_index), (int)dir_start-(int)offset_base+maker_note->offset+displacement, value_len, value_len, exif_char_dump(value_ptr, value_len, (int)dir_start-(int)offset_base+maker_note->offset+displacement));
 #endif
 
        ImageInfo->sections_found |= FOUND_MAKERNOTE;
@@ -2651,7 +2669,7 @@ static int exif_process_IFD_in_MAKERNOTE(image_info_type *ImageInfo, char * valu
                case MN_OFFSET_GUESS:
                        offset_diff = 2 + NumDirEntries*12 + 4 - php_ifd_get32u(dir_start+10, ImageInfo->motorola_intel);
 #ifdef EXIF_DEBUG
-                       exif_error_docref(NULL TSRMLS_CC, ImageInfo, E_NOTICE, "Using automatic offset correction: 0x%04X", ((int)dir_start-(int)offset_base+maker_note->offset+displacement) + offset_diff);
+                       exif_error_docref(NULL EXIFERR_CC, ImageInfo, E_NOTICE, "Using automatic offset correction: 0x%04X", ((int)dir_start-(int)offset_base+maker_note->offset+displacement) + offset_diff);
 #endif
                        offset_base = value_ptr + offset_diff;
                        break;
@@ -2661,7 +2679,7 @@ static int exif_process_IFD_in_MAKERNOTE(image_info_type *ImageInfo, char * valu
        }
 
        if ((2+NumDirEntries*12) > value_len) {
-               exif_error_docref("exif_read_data#error_ifd" TSRMLS_CC, ImageInfo, E_WARNING, "illegal IFD size: 2 + x%04X*12 = x%04X > x%04X", NumDirEntries, 2+NumDirEntries*12, value_len);
+               exif_error_docref("exif_read_data#error_ifd" EXIFERR_CC, ImageInfo, E_WARNING, "Illegal IFD size: 2 + x%04X*12 = x%04X > x%04X", NumDirEntries, 2+NumDirEntries*12, value_len);
                return FALSE;
        }
 
@@ -2674,7 +2692,7 @@ static int exif_process_IFD_in_MAKERNOTE(image_info_type *ImageInfo, char * valu
        ImageInfo->motorola_intel = old_motorola_intel;
 /*     NextDirOffset (must be NULL) = php_ifd_get32u(dir_start+2+12*de, ImageInfo->motorola_intel);*/
 #ifdef EXIF_DEBUG
-       exif_error_docref(NULL TSRMLS_CC, ImageInfo, E_NOTICE, "subsection %s done", exif_get_sectionname(SECTION_MAKERNOTE));
+       exif_error_docref(NULL EXIFERR_CC, ImageInfo, E_NOTICE, "Subsection %s done", exif_get_sectionname(SECTION_MAKERNOTE));
 #endif
        return TRUE;
 }
@@ -2696,7 +2714,7 @@ static int exif_process_IFD_TAG(image_info_type *ImageInfo, char *dir_entry, cha
 
        if (!format || format > NUM_FORMATS) {
                /* (-1) catches illegal zero case as unsigned underflows to positive large. */
-               exif_error_docref("exif_read_data#error_ifd" TSRMLS_CC, ImageInfo, E_WARNING, "process tag(x%04X=%s): Illegal format code 0x%04X, suppose BYTE", tag, exif_get_tagname(tag, tagname, -12, tag_table TSRMLS_CC), format);
+               exif_error_docref("exif_read_data#error_ifd" EXIFERR_CC, ImageInfo, E_WARNING, "Process tag(x%04X=%s): Illegal format code 0x%04X, suppose BYTE", tag, exif_get_tagname(tag, tagname, -12, tag_table TSRMLS_CC), format);
                format = TAG_FMT_BYTE;
                /*return TRUE;*/
        }
@@ -2717,11 +2735,11 @@ static int exif_process_IFD_TAG(image_info_type *ImageInfo, char *dir_entry, cha
                                if (value_ptr < dir_entry) {
                                        /* we can read this if offset_val > 0 */
                                        /* some files have their values in other parts of the file */
-                                       exif_error_docref("exif_read_data#error_ifd" TSRMLS_CC, ImageInfo, E_WARNING, "process tag(x%04X=%s): Illegal pointer offset(x%04X < x%04X)", tag, exif_get_tagname(tag, tagname, -12, tag_table TSRMLS_CC), offset_val, dir_entry);
+                                       exif_error_docref("exif_read_data#error_ifd" EXIFERR_CC, ImageInfo, E_WARNING, "Process tag(x%04X=%s): Illegal pointer offset(x%04X < x%04X)", tag, exif_get_tagname(tag, tagname, -12, tag_table TSRMLS_CC), offset_val, dir_entry);
                                } else {
                                        /* this is for sure not allowed */
                                        /* exception are IFD pointers */
-                                       exif_error_docref("exif_read_data#error_ifd" TSRMLS_CC, ImageInfo, E_WARNING, "process tag(x%04X=%s): Illegal pointer offset(x%04X + x%04X = x%04X > x%04X)", tag, exif_get_tagname(tag, tagname, -12, tag_table TSRMLS_CC), offset_val, byte_count, offset_val+byte_count, IFDlength);
+                                       exif_error_docref("exif_read_data#error_ifd" EXIFERR_CC, ImageInfo, E_WARNING, "Process tag(x%04X=%s): Illegal pointer offset(x%04X + x%04X = x%04X > x%04X)", tag, exif_get_tagname(tag, tagname, -12, tag_table TSRMLS_CC), offset_val, byte_count, offset_val+byte_count, IFDlength);
                                }
                                return TRUE;
                        }
@@ -2745,14 +2763,14 @@ static int exif_process_IFD_TAG(image_info_type *ImageInfo, char *dir_entry, cha
                        fgot = php_stream_tell(ImageInfo->infile);
                        if (fgot!=offset_val) {
                                EFREE_IF(outside);
-                               exif_error_docref(NULL TSRMLS_CC, ImageInfo, E_WARNING, "wrong file pointer: 0x%08X != 0x08X", fgot, offset_val);
+                               exif_error_docref(NULL EXIFERR_CC, ImageInfo, E_WARNING, "Wrong file pointer: 0x%08X != 0x08X", fgot, offset_val);
                                return FALSE;
                        }
                        fgot = php_stream_read(ImageInfo->infile, value_ptr, byte_count);
                        php_stream_seek(ImageInfo->infile, fpos, SEEK_SET);
                        if (fgot<byte_count) {
                                EFREE_IF(outside);
-                               EXIF_ERRLOG_FILEEOF
+                               EXIF_ERRLOG_FILEEOF(ImageInfo)
                                return FALSE;
                        }
                }
@@ -2764,7 +2782,7 @@ static int exif_process_IFD_TAG(image_info_type *ImageInfo, char *dir_entry, cha
 
        ImageInfo->sections_found |= FOUND_ANY_TAG;
 #ifdef EXIF_DEBUG
-       exif_error_docref(NULL TSRMLS_CC, ImageInfo, E_NOTICE, "process tag(x%04X=%s,@x%04X + x%04X(=%d)): %s%s", tag, exif_get_tagname(tag, tagname, -12, tag_table TSRMLS_CC), offset_val+displacement, byte_count, byte_count, (components>1)&&format!=TAG_FMT_UNDEFINED&&format!=TAG_FMT_STRING?"ARRAY OF ":"", format==TAG_FMT_STRING?(value_ptr?value_ptr:"<no data>"):exif_get_tagformat(format));
+       exif_error_docref(NULL EXIFERR_CC, ImageInfo, E_NOTICE, "Process tag(x%04X=%s,@x%04X + x%04X(=%d)): %s%s", tag, exif_get_tagname(tag, tagname, -12, tag_table TSRMLS_CC), offset_val+displacement, byte_count, byte_count, (components>1)&&format!=TAG_FMT_UNDEFINED&&format!=TAG_FMT_STRING?"ARRAY OF ":"", format==TAG_FMT_STRING?(value_ptr?value_ptr:"<no data>"):exif_get_tagformat(format));
 #endif
        if (section_index==SECTION_THUMBNAIL) {
                if (!ImageInfo->Thumbnail.data) {
@@ -2904,7 +2922,7 @@ static int exif_process_IFD_TAG(image_info_type *ImageInfo, char *dir_entry, cha
                                        /* If this is called we are either in a TIFFs thumbnail or a JPEG where we cannot handle it */
                                        /* TIFF thumbnail: our data structure cannot store a thumbnail of a thumbnail */
                                        /* JPEG do we have the data area and what to do with it */
-                                       exif_error_docref(NULL TSRMLS_CC, ImageInfo, E_NOTICE, "skip SUB IFD");
+                                       exif_error_docref(NULL EXIFERR_CC, ImageInfo, E_NOTICE, "Skip SUB IFD");
                                }
                                break;
 
@@ -2928,21 +2946,21 @@ static int exif_process_IFD_TAG(image_info_type *ImageInfo, char *dir_entry, cha
                                        switch(tag) {
                                                case TAG_EXIF_IFD_POINTER:
 #ifdef EXIF_DEBUG
-                                                       exif_error_docref(NULL TSRMLS_CC, ImageInfo, E_NOTICE, "found EXIF");
+                                                       exif_error_docref(NULL EXIFERR_CC, ImageInfo, E_NOTICE, "Found EXIF");
 #endif
                                                        ImageInfo->sections_found |= FOUND_EXIF;
                                                        sub_section_index = SECTION_EXIF;
                                                        break;
                                                case TAG_GPS_IFD_POINTER:
 #ifdef EXIF_DEBUG
-                                                       exif_error_docref(NULL TSRMLS_CC, ImageInfo, E_NOTICE, "found GPS");
+                                                       exif_error_docref(NULL EXIFERR_CC, ImageInfo, E_NOTICE, "Found GPS");
 #endif
                                                        ImageInfo->sections_found |= FOUND_GPS;
                                                        sub_section_index = SECTION_GPS;
                                                        break;
                                                case TAG_INTEROP_IFD_POINTER:
 #ifdef EXIF_DEBUG
-                                                       exif_error_docref(NULL TSRMLS_CC, ImageInfo, E_NOTICE, "found INTEROPERABILITY");
+                                                       exif_error_docref(NULL EXIFERR_CC, ImageInfo, E_NOTICE, "Found INTEROPERABILITY");
 #endif
                                                        ImageInfo->sections_found |= FOUND_INTEROP;
                                                        sub_section_index = SECTION_INTEROP;
@@ -2950,12 +2968,12 @@ static int exif_process_IFD_TAG(image_info_type *ImageInfo, char *dir_entry, cha
                                        }
                                        Subdir_start = offset_base + php_ifd_get32u(value_ptr, ImageInfo->motorola_intel);
                                        if (Subdir_start < offset_base || Subdir_start > offset_base+IFDlength) {
-                                               exif_error_docref("exif_read_data#error_ifd" TSRMLS_CC, ImageInfo, E_WARNING, "Illegal IFD Pointer");
+                                               exif_error_docref("exif_read_data#error_ifd" EXIFERR_CC, ImageInfo, E_WARNING, "Illegal IFD Pointer");
                                                return FALSE;
                                        }
                                        exif_process_IFD_in_JPEG(ImageInfo, Subdir_start, offset_base, IFDlength, displacement, sub_section_index TSRMLS_CC);
 #ifdef EXIF_DEBUG
-                                       exif_error_docref(NULL TSRMLS_CC, ImageInfo, E_NOTICE, "subsection %s done", exif_get_sectionname(sub_section_index));
+                                       exif_error_docref(NULL EXIFERR_CC, ImageInfo, E_NOTICE, "Subsection %s done", exif_get_sectionname(sub_section_index));
 #endif
                                }
                }
@@ -2975,7 +2993,7 @@ static int exif_process_IFD_in_JPEG(image_info_type *ImageInfo, char *dir_start,
        int NextDirOffset;
 
 #ifdef EXIF_DEBUG
-       exif_error_docref(NULL TSRMLS_CC, ImageInfo, E_NOTICE, "process %s (x%04X(=%d))", exif_get_sectionname(section_index), IFDlength, IFDlength);
+       exif_error_docref(NULL EXIFERR_CC, ImageInfo, E_NOTICE, "Process %s (x%04X(=%d))", exif_get_sectionname(section_index), IFDlength, IFDlength);
 #endif
 
        ImageInfo->sections_found |= FOUND_IFD0;
@@ -2983,7 +3001,7 @@ static int exif_process_IFD_in_JPEG(image_info_type *ImageInfo, char *dir_start,
        NumDirEntries = php_ifd_get16u(dir_start, ImageInfo->motorola_intel);
 
        if ((dir_start+2+NumDirEntries*12) > (offset_base+IFDlength)) {
-               exif_error_docref("exif_read_data#error_ifd" TSRMLS_CC, ImageInfo, E_WARNING, "illegal IFD size: x%04X + 2 + x%04X*12 = x%04X > x%04X", (int)dir_start+2-(int)offset_base, NumDirEntries, (int)dir_start+2+NumDirEntries*12-(int)offset_base, IFDlength);
+               exif_error_docref("exif_read_data#error_ifd" EXIFERR_CC, ImageInfo, E_WARNING, "Illegal IFD size: x%04X + 2 + x%04X*12 = x%04X > x%04X", (int)dir_start+2-(int)offset_base, NumDirEntries, (int)dir_start+2+NumDirEntries*12-(int)offset_base, IFDlength);
                return FALSE;
        }
 
@@ -3001,16 +3019,16 @@ static int exif_process_IFD_in_JPEG(image_info_type *ImageInfo, char *dir_start,
        if (NextDirOffset) {
                /* the next line seems false but here IFDlength means length of all IFDs */
                if (offset_base + NextDirOffset < offset_base || offset_base + NextDirOffset > offset_base+IFDlength) {
-                       exif_error_docref("exif_read_data#error_ifd" TSRMLS_CC, ImageInfo, E_WARNING, "illegal IFD offset");
+                       exif_error_docref("exif_read_data#error_ifd" EXIFERR_CC, ImageInfo, E_WARNING, "Illegal IFD offset");
                        return FALSE;
                }
                /* That is the IFD for the first thumbnail */
 #ifdef EXIF_DEBUG
-               exif_error_docref(NULL TSRMLS_CC, ImageInfo, E_NOTICE, "expect next IFD to be thumbnail");
+               exif_error_docref(NULL EXIFERR_CC, ImageInfo, E_NOTICE, "Expect next IFD to be thumbnail");
 #endif
                if (exif_process_IFD_in_JPEG(ImageInfo, offset_base + NextDirOffset, offset_base, IFDlength, displacement, SECTION_THUMBNAIL TSRMLS_CC)) {
 #ifdef EXIF_DEBUG
-                       exif_error_docref(NULL TSRMLS_CC, ImageInfo, E_NOTICE, "Thumbnail size: 0x%04X", ImageInfo->Thumbnail.size);
+                       exif_error_docref(NULL EXIFERR_CC, ImageInfo, E_NOTICE, "Thumbnail size: 0x%04X", ImageInfo->Thumbnail.size);
 #endif
                        if (ImageInfo->Thumbnail.filetype != IMAGE_FILETYPE_UNKNOWN
                        &&  ImageInfo->Thumbnail.size
@@ -3041,7 +3059,7 @@ static void exif_process_TIFF_in_JPEG(image_info_type *ImageInfo, char *CharBuf,
        } else if (memcmp(CharBuf, "MM", 2) == 0) {
                ImageInfo->motorola_intel = 1;
        } else {
-               exif_error_docref(NULL TSRMLS_CC, ImageInfo, E_WARNING, "invalid TIFF alignment marker");
+               exif_error_docref(NULL EXIFERR_CC, ImageInfo, E_WARNING, "Invalid TIFF alignment marker");
                return;
        }
 
@@ -3049,7 +3067,7 @@ static void exif_process_TIFF_in_JPEG(image_info_type *ImageInfo, char *CharBuf,
        exif_value_2a = php_ifd_get16u(CharBuf+2, ImageInfo->motorola_intel);
        offset_of_ifd = php_ifd_get32u(CharBuf+4, ImageInfo->motorola_intel);
        if ( exif_value_2a != 0x2a || offset_of_ifd < 0x08) {
-               exif_error_docref(NULL TSRMLS_CC, ImageInfo, E_WARNING, "invalid TIFF start (1)");
+               exif_error_docref(NULL EXIFERR_CC, ImageInfo, E_WARNING, "Invalid TIFF start (1)");
                return;
        }
 
@@ -3058,7 +3076,7 @@ static void exif_process_TIFF_in_JPEG(image_info_type *ImageInfo, char *CharBuf,
        exif_process_IFD_in_JPEG(ImageInfo, CharBuf+offset_of_ifd, CharBuf, length/*-14*/, displacement, SECTION_IFD0 TSRMLS_CC);
 
 #ifdef EXIF_DEBUG
-       exif_error_docref(NULL TSRMLS_CC, ImageInfo, E_NOTICE, "process TIFF in JPEG done");
+       exif_error_docref(NULL EXIFERR_CC, ImageInfo, E_NOTICE, "Process TIFF in JPEG done");
 #endif
 
        /* Compute the CCD width, in milimeters. */
@@ -3077,12 +3095,12 @@ static void exif_process_APP1(image_info_type *ImageInfo, char *CharBuf, size_t
        /* Check the APP1 for Exif Identifier Code */
        static const uchar ExifHeader[] = {0x45, 0x78, 0x69, 0x66, 0x00, 0x00};
        if (memcmp(CharBuf+2, ExifHeader, 6)) {
-               exif_error_docref(NULL TSRMLS_CC, ImageInfo, E_WARNING, "incorrect APP1 Exif Identifier Code");
+               exif_error_docref(NULL EXIFERR_CC, ImageInfo, E_WARNING, "Incorrect APP1 Exif Identifier Code");
                return;
        }
        exif_process_TIFF_in_JPEG(ImageInfo, CharBuf + 8, length - 8, displacement+8 TSRMLS_CC);
 #ifdef EXIF_DEBUG
-       exif_error_docref(NULL TSRMLS_CC, ImageInfo, E_NOTICE, "process APP1/EXIF done");
+       exif_error_docref(NULL EXIFERR_CC, ImageInfo, E_NOTICE, "Process APP1/EXIF done");
 #endif
 }
 /* }}} */
@@ -3102,7 +3120,7 @@ static void exif_process_APP12(image_info_type *ImageInfo, char *buffer, size_t
                }
        }
 #ifdef EXIF_DEBUG
-       exif_error_docref(NULL TSRMLS_CC, ImageInfo, E_NOTICE, "process section APP12 with l1=%d, l2=%d done", l1, l2);
+       exif_error_docref(NULL EXIFERR_CC, ImageInfo, E_NOTICE, "Process section APP12 with l1=%d, l2=%d done", l1, l2);
 #endif
 }
 /* }}} */
@@ -3113,7 +3131,7 @@ static int exif_scan_JPEG_header(image_info_type *ImageInfo TSRMLS_DC)
 {
        int section, sn;
        int marker = 0, last_marker = M_PSEUDO, comment_correction=1;
-       int ll, lh;
+       unsigned int ll, lh;
        uchar *Data;
        size_t fpos, size, got, itemlen;
        jpeg_sof_info  sof_info;
@@ -3121,7 +3139,7 @@ static int exif_scan_JPEG_header(image_info_type *ImageInfo TSRMLS_DC)
        for(section=0;;section++) {
 #ifdef EXIF_DEBUG
                fpos = php_stream_tell(ImageInfo->infile);
-               exif_error_docref(NULL TSRMLS_CC, ImageInfo, E_NOTICE, "needing section %d @ 0x%08X", ImageInfo->file.count, fpos);
+               exif_error_docref(NULL EXIFERR_CC, ImageInfo, E_NOTICE, "Needing section %d @ 0x%08X", ImageInfo->file.count, fpos);
 #endif
 
                /* get marker byte, swallowing possible padding                           */
@@ -3132,7 +3150,7 @@ static int exif_scan_JPEG_header(image_info_type *ImageInfo TSRMLS_DC)
                }
                do {
                        if ((marker = php_stream_getc(ImageInfo->infile)) == EOF) {
-                               EXIF_ERRLOG_CORRUPT
+                               EXIF_ERRLOG_CORRUPT(ImageInfo)
                                return FALSE;
                        }
                        if (last_marker==M_COM && comment_correction>0) {
@@ -3145,7 +3163,7 @@ static int exif_scan_JPEG_header(image_info_type *ImageInfo TSRMLS_DC)
                        }
                } while (marker == 0xff);
                if (last_marker==M_COM && !comment_correction) {
-                       exif_error_docref("exif_read_data#error_mcom" TSRMLS_CC, ImageInfo, E_NOTICE, "Image has corrupt M_COM section: some software set wrong length information");
+                       exif_error_docref("exif_read_data#error_mcom" EXIFERR_CC, ImageInfo, E_NOTICE, "Image has corrupt COM section: some software set wrong length information");
                }
                if (last_marker==M_COM && comment_correction)
                        return M_EOI; /* ah illegal: char after COM section not 0xFF */
@@ -3154,7 +3172,7 @@ static int exif_scan_JPEG_header(image_info_type *ImageInfo TSRMLS_DC)
 
                if (marker == 0xff) {
                        /* 0xff is legal padding, but if we get that many, something's wrong. */
-                       exif_error_docref(NULL TSRMLS_CC, ImageInfo, E_WARNING, "too many padding bytes!");
+                       exif_error_docref(NULL EXIFERR_CC, ImageInfo, E_WARNING, "To many padding bytes");
                        return FALSE;
                }
 
@@ -3165,7 +3183,11 @@ static int exif_scan_JPEG_header(image_info_type *ImageInfo TSRMLS_DC)
                itemlen = (lh << 8) | ll;
 
                if (itemlen < 2) {
-                       EXIF_ERRLOG_CORRUPT
+#ifdef EXIF_DEBUG
+                       exif_error_docref(NULL EXIFERR_CC, ImageInfo, E_WARNING, "%s, Section length: 0x%02X%02X", EXIF_ERROR_CORRUPT, lh, ll);
+#else
+                       EXIF_ERRLOG_CORRUPT(ImageInfo)
+#endif
                        return FALSE;
                }
 
@@ -3178,12 +3200,12 @@ static int exif_scan_JPEG_header(image_info_type *ImageInfo TSRMLS_DC)
 
                got = php_stream_read(ImageInfo->infile, Data+2, itemlen-2); /* Read the whole section. */
                if (got != itemlen-2) {
-                       exif_error_docref(NULL TSRMLS_CC, ImageInfo, E_WARNING, "error reading from file: got=x%04X(=%d) != itemlen-2=x%04X(=%d)", got, got, itemlen-2, itemlen-2);
+                       exif_error_docref(NULL EXIFERR_CC, ImageInfo, E_WARNING, "Error reading from file: got=x%04X(=%d) != itemlen-2=x%04X(=%d)", got, got, itemlen-2, itemlen-2);
                        return FALSE;
                }
 
 #ifdef EXIF_DEBUG
-               exif_error_docref(NULL TSRMLS_CC, ImageInfo, E_NOTICE, "process section(x%02X=%s) @ x%04X + x%04X(=%d)", marker, exif_get_markername(marker), fpos, itemlen, itemlen);
+               exif_error_docref(NULL EXIFERR_CC, ImageInfo, E_NOTICE, "Process section(x%02X=%s) @ x%04X + x%04X(=%d)", marker, exif_get_markername(marker), fpos, itemlen, itemlen);
 #endif
                switch(marker) {
                        case M_SOS:   /* stop before hitting compressed data  */
@@ -3196,14 +3218,14 @@ static int exif_scan_JPEG_header(image_info_type *ImageInfo TSRMLS_DC)
                                        Data = ImageInfo->file.list[sn].data;
                                        got = php_stream_read(ImageInfo->infile, Data, size);
                                        if (got != size) {
-                                               EXIF_ERRLOG_FILEEOF
+                                               EXIF_ERRLOG_FILEEOF(ImageInfo)
                                                return FALSE;
                                        }
                                }
                                return TRUE;
 
                        case M_EOI:   /* in case it's a tables-only JPEG stream */
-                               exif_error_docref(NULL TSRMLS_CC, ImageInfo, E_WARNING, "no image in jpeg!");
+                               exif_error_docref(NULL EXIFERR_CC, ImageInfo, E_WARNING, "No image in jpeg!");
                                return (ImageInfo->sections_found&(~FOUND_COMPUTED)) ? TRUE : FALSE;
 
                        case M_COM: /* Comment section */
@@ -3255,7 +3277,7 @@ static int exif_scan_JPEG_header(image_info_type *ImageInfo TSRMLS_DC)
                last_marker = marker;
        }
 #ifdef EXIF_DEBUG
-       exif_error_docref(NULL TSRMLS_CC, ImageInfo, E_NOTICE, "done");
+       exif_error_docref(NULL EXIFERR_CC, ImageInfo, E_NOTICE, "Done");
 #endif
        return TRUE;
 }
@@ -3275,7 +3297,7 @@ static int exif_scan_thumbnail(image_info_type *ImageInfo TSRMLS_DC)
        }
        if (memcmp(data, "\xFF\xD8\xFF", 3)) {
                if (!ImageInfo->Thumbnail.width && !ImageInfo->Thumbnail.height) {
-                       exif_error_docref(NULL TSRMLS_CC, ImageInfo, E_WARNING, "Thumbnail is not a JPEG image");
+                       exif_error_docref(NULL EXIFERR_CC, ImageInfo, E_WARNING, "Thumbnail is not a JPEG image");
                }
                return FALSE;
        }
@@ -3303,7 +3325,7 @@ static int exif_scan_thumbnail(image_info_type *ImageInfo TSRMLS_DC)
                        return FALSE;
                }
 #ifdef EXIF_DEBUG
-               exif_error_docref(NULL TSRMLS_CC, ImageInfo, E_NOTICE, "Thumbnail: process section(x%02X=%s) @ x%04X + x%04X", marker, exif_get_markername(marker), pos, length);
+               exif_error_docref(NULL EXIFERR_CC, ImageInfo, E_NOTICE, "Thumbnail: process section(x%02X=%s) @ x%04X + x%04X", marker, exif_get_markername(marker), pos, length);
 #endif
                switch (marker) {
                        case M_SOF0:
@@ -3324,13 +3346,13 @@ static int exif_scan_thumbnail(image_info_type *ImageInfo TSRMLS_DC)
                                ImageInfo->Thumbnail.height   = sof_info.height;
                                ImageInfo->Thumbnail.width    = sof_info.width;
 #ifdef EXIF_DEBUG
-                               exif_error_docref(NULL TSRMLS_CC, ImageInfo, E_NOTICE, "Thumbnail: size: %d * %d", sof_info.width, sof_info.height);
+                               exif_error_docref(NULL EXIFERR_CC, ImageInfo, E_NOTICE, "Thumbnail: size: %d * %d", sof_info.width, sof_info.height);
 #endif
                                return TRUE;
 
                        case M_SOS:
                        case M_EOI:
-                               exif_error_docref(NULL TSRMLS_CC, ImageInfo, E_WARNING, "could not compute size of thumbnail");
+                               exif_error_docref(NULL EXIFERR_CC, ImageInfo, E_WARNING, "Could not compute size of thumbnail");
                                return FALSE;
                                break;
 
@@ -3340,7 +3362,7 @@ static int exif_scan_thumbnail(image_info_type *ImageInfo TSRMLS_DC)
                }
        }
 
-       exif_error_docref(NULL TSRMLS_CC, ImageInfo, E_WARNING, "could not compute size of thumbnail");
+       exif_error_docref(NULL EXIFERR_CC, ImageInfo, E_WARNING, "Could not compute size of thumbnail");
        return FALSE;
 }
 /* }}} */
@@ -3359,7 +3381,7 @@ static int exif_process_IFD_in_TIFF(image_info_type *ImageInfo, size_t dir_offse
        if (ImageInfo->FileSize >= dir_offset+2) {
                sn = exif_file_sections_add(ImageInfo, M_PSEUDO, 2, NULL);
 #ifdef EXIF_DEBUG
-               exif_error_docref(NULL TSRMLS_CC, ImageInfo, E_NOTICE, "read from TIFF: filesize(x%04X), IFD dir(x%04X + x%04X)", ImageInfo->FileSize, dir_offset, 2);
+               exif_error_docref(NULL EXIFERR_CC, ImageInfo, E_NOTICE, "Read from TIFF: filesize(x%04X), IFD dir(x%04X + x%04X)", ImageInfo->FileSize, dir_offset, 2);
 #endif
                php_stream_seek(ImageInfo->infile, dir_offset, SEEK_SET); /* we do not know the order of sections */
                php_stream_read(ImageInfo->infile, ImageInfo->file.list[sn].data, 2);
@@ -3367,16 +3389,16 @@ static int exif_process_IFD_in_TIFF(image_info_type *ImageInfo, size_t dir_offse
                dir_size = 2/*num dir entries*/ +12/*length of entry*/*num_entries +4/* offset to next ifd (points to thumbnail or NULL)*/;
                if (ImageInfo->FileSize >= dir_offset+dir_size) {
 #ifdef EXIF_DEBUG
-                       exif_error_docref(NULL TSRMLS_CC, ImageInfo, E_NOTICE, "read from TIFF: filesize(x%04X), IFD dir(x%04X + x%04X), IFD entries(%d)", ImageInfo->FileSize, dir_offset+2, dir_size-2, num_entries);
+                       exif_error_docref(NULL EXIFERR_CC, ImageInfo, E_NOTICE, "Read from TIFF: filesize(x%04X), IFD dir(x%04X + x%04X), IFD entries(%d)", ImageInfo->FileSize, dir_offset+2, dir_size-2, num_entries);
 #endif
                        if (exif_file_sections_realloc(ImageInfo, sn, dir_size TSRMLS_CC)) {
                                return FALSE;
                        }
                        php_stream_read(ImageInfo->infile, ImageInfo->file.list[sn].data+2, dir_size-2);
-                       /*exif_error_docref(NULL TSRMLS_CC, ImageInfo, E_NOTICE, "Dump: %s", exif_char_dump(ImageInfo->file.list[sn].data, dir_size, 0));*/
+                       /*exif_error_docref(NULL EXIFERR_CC, ImageInfo, E_NOTICE, "Dump: %s", exif_char_dump(ImageInfo->file.list[sn].data, dir_size, 0));*/
                        next_offset = php_ifd_get32u(ImageInfo->file.list[sn].data + dir_size - 4, ImageInfo->motorola_intel);
 #ifdef EXIF_DEBUG
-                       exif_error_docref(NULL TSRMLS_CC, ImageInfo, E_NOTICE, "read from TIFF done, next offset x%04X", next_offset);
+                       exif_error_docref(NULL EXIFERR_CC, ImageInfo, E_NOTICE, "Read from TIFF done, next offset x%04X", next_offset);
 #endif
                        /* now we have the directory we can look how long it should be */
                        ifd_size = dir_size;
@@ -3385,7 +3407,7 @@ static int exif_process_IFD_in_TIFF(image_info_type *ImageInfo, size_t dir_offse
                                entry_tag    = php_ifd_get16u(dir_entry+0, ImageInfo->motorola_intel);
                                entry_type   = php_ifd_get16u(dir_entry+2, ImageInfo->motorola_intel);
                                if (entry_type > NUM_FORMATS) {
-                                       exif_error_docref(NULL TSRMLS_CC, ImageInfo, E_NOTICE, "read from TIFF: tag(0x%04X,%12s): Illegal format code 0x%04X, switching to BYTE", entry_tag, exif_get_tagname(entry_tag, tagname, -12, tag_table TSRMLS_CC), entry_type);
+                                       exif_error_docref(NULL EXIFERR_CC, ImageInfo, E_NOTICE, "Read from TIFF: tag(0x%04X,%12s): Illegal format code 0x%04X, switching to BYTE", entry_tag, exif_get_tagname(entry_tag, tagname, -12, tag_table TSRMLS_CC), entry_type);
                                        /* Since this is repeated in exif_process_IFD_TAG make it a notice here */
                                        /* and make it a warning in the exif_process_IFD_TAG which is called    */
                                        /* elsewhere. */
@@ -3443,7 +3465,7 @@ static int exif_process_IFD_in_TIFF(image_info_type *ImageInfo, size_t dir_offse
                                          && entry_offset == dir_offset + ifd_size) {
                                                ifd_size = entry_offset + entry_length - dir_offset;
 #ifdef EXIF_DEBUG
-                                               exif_error_docref(NULL TSRMLS_CC, ImageInfo, E_NOTICE, "resize struct: x%04X + x%04X - x%04X = x%04X", entry_offset, entry_length, dir_offset, ifd_size);
+                                               exif_error_docref(NULL EXIFERR_CC, ImageInfo, E_NOTICE, "Resize struct: x%04X + x%04X - x%04X = x%04X", entry_offset, entry_length, dir_offset, ifd_size);
 #endif
                                        }
                                }
@@ -3451,7 +3473,7 @@ static int exif_process_IFD_in_TIFF(image_info_type *ImageInfo, size_t dir_offse
                        if (ImageInfo->FileSize >= dir_offset + ImageInfo->file.list[sn].size) {
                                if (ifd_size > dir_size) {
                                        if (dir_offset + ifd_size > ImageInfo->FileSize) {
-                                               exif_error_docref(NULL TSRMLS_CC, ImageInfo, E_WARNING, "error in TIFF: filesize(x%04X) less than size of IFD(x%04X + x%04X)", ImageInfo->FileSize, dir_offset, ifd_size);
+                                               exif_error_docref(NULL EXIFERR_CC, ImageInfo, E_WARNING, "Error in TIFF: filesize(x%04X) less than size of IFD(x%04X + x%04X)", ImageInfo->FileSize, dir_offset, ifd_size);
                                                return FALSE;
                                        }
                                        if (exif_file_sections_realloc(ImageInfo, sn, ifd_size TSRMLS_CC)) {
@@ -3459,11 +3481,11 @@ static int exif_process_IFD_in_TIFF(image_info_type *ImageInfo, size_t dir_offse
                                        }
                                        /* read values not stored in directory itself */
 #ifdef EXIF_DEBUG
-                                       exif_error_docref(NULL TSRMLS_CC, ImageInfo, E_NOTICE, "read from TIFF: filesize(x%04X), IFD(x%04X + x%04X)", ImageInfo->FileSize, dir_offset, ifd_size);
+                                       exif_error_docref(NULL EXIFERR_CC, ImageInfo, E_NOTICE, "Read from TIFF: filesize(x%04X), IFD(x%04X + x%04X)", ImageInfo->FileSize, dir_offset, ifd_size);
 #endif
                                        php_stream_read(ImageInfo->infile, ImageInfo->file.list[sn].data+dir_size, ifd_size-dir_size);
 #ifdef EXIF_DEBUG
-                                       exif_error_docref(NULL TSRMLS_CC, ImageInfo, E_NOTICE, "read from TIFF, done");
+                                       exif_error_docref(NULL EXIFERR_CC, ImageInfo, E_NOTICE, "Read from TIFF, done");
 #endif
                                }
                                /* now process the tags */
@@ -3497,7 +3519,7 @@ static int exif_process_IFD_in_TIFF(image_info_type *ImageInfo, size_t dir_offse
                                                }
                                                entry_offset = php_ifd_get32u(dir_entry+8, ImageInfo->motorola_intel);
 #ifdef EXIF_DEBUG
-                                               exif_error_docref(NULL TSRMLS_CC, ImageInfo, E_NOTICE, "next IFD: %s @x%04X", exif_get_sectionname(sub_section_index), entry_offset);
+                                               exif_error_docref(NULL EXIFERR_CC, ImageInfo, E_NOTICE, "Next IFD: %s @x%04X", exif_get_sectionname(sub_section_index), entry_offset);
 #endif
                                                exif_process_IFD_in_TIFF(ImageInfo, entry_offset, sub_section_index TSRMLS_CC);
                                                if (section_index!=SECTION_THUMBNAIL && entry_tag==TAG_SUB_IFD) {
@@ -3507,21 +3529,21 @@ static int exif_process_IFD_in_TIFF(image_info_type *ImageInfo, size_t dir_offse
                                                        &&  ImageInfo->read_thumbnail
                                                        ) {
 #ifdef EXIF_DEBUG
-                                                               exif_error_docref(NULL TSRMLS_CC, ImageInfo, E_NOTICE, "%s THUMBNAIL @0x%04X + 0x%04X", ImageInfo->Thumbnail.data ? "ignore" : "read", ImageInfo->Thumbnail.offset, ImageInfo->Thumbnail.size);
+                                                               exif_error_docref(NULL EXIFERR_CC, ImageInfo, E_NOTICE, "%s THUMBNAIL @0x%04X + 0x%04X", ImageInfo->Thumbnail.data ? "Ignore" : "Read", ImageInfo->Thumbnail.offset, ImageInfo->Thumbnail.size);
 #endif
                                                                if (!ImageInfo->Thumbnail.data) {
                                                                        ImageInfo->Thumbnail.data = emalloc(ImageInfo->Thumbnail.size);
                                                                        php_stream_seek(ImageInfo->infile, ImageInfo->Thumbnail.offset, SEEK_SET);
                                                                        fgot = php_stream_read(ImageInfo->infile, ImageInfo->Thumbnail.data, ImageInfo->Thumbnail.size);
                                                                        if (fgot < ImageInfo->Thumbnail.size) {
-                                                                               EXIF_ERRLOG_THUMBEOF
+                                                                               EXIF_ERRLOG_THUMBEOF(ImageInfo)
                                                                        }
                                                                        exif_thumbnail_build(ImageInfo TSRMLS_CC);
                                                                }
                                                        }
                                                }
 #ifdef EXIF_DEBUG
-                                               exif_error_docref(NULL TSRMLS_CC, ImageInfo, E_NOTICE, "next IFD: %s done", exif_get_sectionname(sub_section_index));
+                                               exif_error_docref(NULL EXIFERR_CC, ImageInfo, E_NOTICE, "Next IFD: %s done", exif_get_sectionname(sub_section_index));
 #endif
                                        } else {
                                                if (!exif_process_IFD_TAG(ImageInfo, dir_entry,
@@ -3536,36 +3558,36 @@ static int exif_process_IFD_in_TIFF(image_info_type *ImageInfo, size_t dir_offse
                                        /* this should be a thumbnail IFD */
                                        /* the thumbnail itself is stored at Tag=StripOffsets */
 #ifdef EXIF_DEBUG
-                                       exif_error_docref(NULL TSRMLS_CC, ImageInfo, E_NOTICE, "read next IFD (THUMBNAIL) at x%04X", next_offset);
+                                       exif_error_docref(NULL EXIFERR_CC, ImageInfo, E_NOTICE, "Read next IFD (THUMBNAIL) at x%04X", next_offset);
 #endif
                                        exif_process_IFD_in_TIFF(ImageInfo, next_offset, SECTION_THUMBNAIL TSRMLS_CC);
 #ifdef EXIF_DEBUG
-                                       exif_error_docref(NULL TSRMLS_CC, ImageInfo, E_NOTICE, "%s THUMBNAIL @0x%04X + 0x%04X", ImageInfo->Thumbnail.data ? "ignore" : "read", ImageInfo->Thumbnail.offset, ImageInfo->Thumbnail.size);
+                                       exif_error_docref(NULL EXIFERR_CC, ImageInfo, E_NOTICE, "%s THUMBNAIL @0x%04X + 0x%04X", ImageInfo->Thumbnail.data ? "Ignore" : "Read", ImageInfo->Thumbnail.offset, ImageInfo->Thumbnail.size);
 #endif
                                        if (!ImageInfo->Thumbnail.data && ImageInfo->Thumbnail.offset && ImageInfo->Thumbnail.size && ImageInfo->read_thumbnail) {
                                                ImageInfo->Thumbnail.data = emalloc(ImageInfo->Thumbnail.size);
                                                php_stream_seek(ImageInfo->infile, ImageInfo->Thumbnail.offset, SEEK_SET);
                                                fgot = php_stream_read(ImageInfo->infile, ImageInfo->Thumbnail.data, ImageInfo->Thumbnail.size);
                                                if (fgot < ImageInfo->Thumbnail.size) {
-                                                       EXIF_ERRLOG_THUMBEOF
+                                                       EXIF_ERRLOG_THUMBEOF(ImageInfo)
                                                }
                                                exif_thumbnail_build(ImageInfo TSRMLS_CC);
                                        }
 #ifdef EXIF_DEBUG
-                                       exif_error_docref(NULL TSRMLS_CC, ImageInfo, E_NOTICE, "read next IFD (THUMBNAIL) done");
+                                       exif_error_docref(NULL EXIFERR_CC, ImageInfo, E_NOTICE, "Read next IFD (THUMBNAIL) done");
 #endif
                                }
                                return TRUE;
                        } else {
-                               exif_error_docref(NULL TSRMLS_CC, ImageInfo, E_WARNING, "error in TIFF: filesize(x%04X) less than size of IFD(x%04X)", ImageInfo->FileSize, dir_offset+ImageInfo->file.list[sn].size);
+                               exif_error_docref(NULL EXIFERR_CC, ImageInfo, E_WARNING, "Error in TIFF: filesize(x%04X) less than size of IFD(x%04X)", ImageInfo->FileSize, dir_offset+ImageInfo->file.list[sn].size);
                                return FALSE;
                        }
                } else {
-                       exif_error_docref(NULL TSRMLS_CC, ImageInfo, E_WARNING, "error in TIFF: filesize(x%04X) less than size of IFD dir(x%04X)", ImageInfo->FileSize, dir_offset+dir_size);
+                       exif_error_docref(NULL EXIFERR_CC, ImageInfo, E_WARNING, "Error in TIFF: filesize(x%04X) less than size of IFD dir(x%04X)", ImageInfo->FileSize, dir_offset+dir_size);
                        return FALSE;
                }
        } else {
-               exif_error_docref(NULL TSRMLS_CC, ImageInfo, E_WARNING, "error in TIFF: filesize(x%04X) less than start of IFD dir(x%04X)", ImageInfo->FileSize, dir_offset+2);
+               exif_error_docref(NULL EXIFERR_CC, ImageInfo, E_WARNING, "Error in TIFF: filesize(x%04X) less than start of IFD dir(x%04X)", ImageInfo->FileSize, dir_offset+2);
                return FALSE;
        }
 }
@@ -3588,7 +3610,7 @@ static int exif_scan_FILE_header(image_info_type *ImageInfo TSRMLS_DC)
                        if (exif_scan_JPEG_header(ImageInfo TSRMLS_CC)) {
                                ret = TRUE;
                        } else {
-                               exif_error_docref(NULL TSRMLS_CC, ImageInfo, E_WARNING, "invalid JPEG file");
+                               exif_error_docref(NULL EXIFERR_CC, ImageInfo, E_WARNING, "Invalid JPEG file");
                        }
                } else if (ImageInfo->FileSize >= 8) {
                        php_stream_read(ImageInfo->infile, file_header+2, 6);
@@ -3596,7 +3618,7 @@ static int exif_scan_FILE_header(image_info_type *ImageInfo TSRMLS_DC)
                                ImageInfo->FileType = IMAGE_FILETYPE_TIFF_II;
                                ImageInfo->motorola_intel = 0;
 #ifdef EXIF_DEBUG
-                               exif_error_docref(NULL TSRMLS_CC, ImageInfo, E_NOTICE, "file has TIFF/II format");
+                               exif_error_docref(NULL EXIFERR_CC, ImageInfo, E_NOTICE, "File has TIFF/II format");
 #endif
                                ImageInfo->sections_found |= FOUND_IFD0;
                                if (exif_process_IFD_in_TIFF(ImageInfo, 
@@ -3604,7 +3626,7 @@ static int exif_scan_FILE_header(image_info_type *ImageInfo TSRMLS_DC)
                                                                                         SECTION_IFD0 TSRMLS_CC)) {
                                        ret = TRUE;
                                } else {
-                                       exif_error_docref(NULL TSRMLS_CC, ImageInfo, E_WARNING, "invalid TIFF file");
+                                       exif_error_docref(NULL EXIFERR_CC, ImageInfo, E_WARNING, "Invalid TIFF file");
                                }
                        }
                        else
@@ -3612,7 +3634,7 @@ static int exif_scan_FILE_header(image_info_type *ImageInfo TSRMLS_DC)
                                ImageInfo->FileType = IMAGE_FILETYPE_TIFF_MM;
                                ImageInfo->motorola_intel = 1;
 #ifdef EXIF_DEBUG
-                               exif_error_docref(NULL TSRMLS_CC, ImageInfo, E_NOTICE, "file has TIFF/MM format");
+                               exif_error_docref(NULL EXIFERR_CC, ImageInfo, E_NOTICE, "File has TIFF/MM format");
 #endif
                                ImageInfo->sections_found |= FOUND_IFD0;
                                if (exif_process_IFD_in_TIFF(ImageInfo,
@@ -3620,15 +3642,15 @@ static int exif_scan_FILE_header(image_info_type *ImageInfo TSRMLS_DC)
                                                                                         SECTION_IFD0 TSRMLS_CC)) {
                                        ret = TRUE;
                                } else {
-                                       exif_error_docref(NULL TSRMLS_CC, ImageInfo, E_WARNING, "invalid TIFF file");
+                                       exif_error_docref(NULL EXIFERR_CC, ImageInfo, E_WARNING, "Invalid TIFF file");
                                }
                        } else {
-                               exif_error_docref(NULL TSRMLS_CC, ImageInfo, E_WARNING, "file not supported");
+                               exif_error_docref(NULL EXIFERR_CC, ImageInfo, E_WARNING, "File not supported");
                                return FALSE;
                        }
                }
        } else {
-               exif_error_docref(NULL TSRMLS_CC, ImageInfo, E_WARNING, "file to small (%d)", ImageInfo->FileSize);
+               exif_error_docref(NULL EXIFERR_CC, ImageInfo, E_WARNING, "File to small (%d)", ImageInfo->FileSize);
        }
        return ret;
 }
@@ -3683,7 +3705,7 @@ static int exif_read_file(image_info_type *ImageInfo, char *FileName, int read_t
 
        ImageInfo->infile = php_stream_open_wrapper(FileName, "rb", STREAM_MUST_SEEK|IGNORE_PATH|ENFORCE_SAFE_MODE, NULL);
        if (!ImageInfo->infile) {
-               exif_error_docref(NULL TSRMLS_CC, ImageInfo, E_WARNING, "unable to open file");
+               exif_error_docref(NULL EXIFERR_CC, ImageInfo, E_WARNING, "Unable to open file");
                return FALSE;
        }
 
@@ -3704,7 +3726,7 @@ static int exif_read_file(image_info_type *ImageInfo, char *FileName, int read_t
                        /* Store file date/time. */
                        ImageInfo->FileDateTime = st.st_mtime;
                        ImageInfo->FileSize = st.st_size;
-                       /*exif_error_docref(NULL TSRMLS_CC, ImageInfo, E_NOTICE, "open stream is file: %d", ImageInfo->FileSize);*/
+                       /*exif_error_docref(NULL EXIFERR_CC, ImageInfo, E_NOTICE, "Opened stream is file: %d", ImageInfo->FileSize);*/
                }
        } else {
                if (!ImageInfo->FileSize) {
@@ -3763,7 +3785,7 @@ PHP_FUNCTION(exif_read_data)
                if (!sections_str) {
                        RETURN_FALSE;
                }
-               exif_error_docref(NULL TSRMLS_CC, &ImageInfo, E_NOTICE, "sections needed: %s", sections_str[0] ? sections_str : "None");
+               exif_error_docref(NULL EXIFERR_CC, &ImageInfo, E_NOTICE, "Sections needed: %s", sections_str[0] ? sections_str : "None");
                EFREE_IF(sections_str);
 #endif
        }
@@ -3788,7 +3810,7 @@ PHP_FUNCTION(exif_read_data)
 
 #ifdef EXIF_DEBUG
        if (sections_str) 
-               exif_error_docref(NULL TSRMLS_CC, &ImageInfo, E_NOTICE, "sections found: %s", sections_str[0] ? sections_str : "None");
+               exif_error_docref(NULL EXIFERR_CC, &ImageInfo, E_NOTICE, "Sections found: %s", sections_str[0] ? sections_str : "None");
 #endif
 
        ImageInfo.sections_found |= FOUND_COMPUTED;/* do not inform about in debug*/
@@ -3801,7 +3823,7 @@ PHP_FUNCTION(exif_read_data)
        }
 
 #ifdef EXIF_DEBUG
-       exif_error_docref(NULL TSRMLS_CC, &ImageInfo, E_NOTICE, "generate section FILE");
+       exif_error_docref(NULL EXIFERR_CC, &ImageInfo, E_NOTICE, "Generate section FILE");
 #endif
 
        /* now we can add our information */
@@ -3813,7 +3835,7 @@ PHP_FUNCTION(exif_read_data)
        exif_iif_add_str(&ImageInfo, SECTION_FILE, "SectionsFound", sections_str ? sections_str : "NONE" TSRMLS_CC);
 
 #ifdef EXIF_DEBUG
-       exif_error_docref(NULL TSRMLS_CC, &ImageInfo, E_NOTICE, "generate section COMPUTED");
+       exif_error_docref(NULL EXIFERR_CC, &ImageInfo, E_NOTICE, "Generate section COMPUTED");
 #endif
 
        if (ImageInfo.Width>0 &&  ImageInfo.Height>0) {
@@ -3884,7 +3906,7 @@ PHP_FUNCTION(exif_read_data)
        EFREE_IF(sections_str);
 
 #ifdef EXIF_DEBUG
-       exif_error_docref(NULL TSRMLS_CC, &ImageInfo, E_NOTICE, "adding image infos");
+       exif_error_docref(NULL EXIFERR_CC, &ImageInfo, E_NOTICE, "Adding image infos");
 #endif
 
        add_assoc_image_info(return_value, sub_arrays, &ImageInfo, SECTION_FILE       TSRMLS_CC);
@@ -3902,7 +3924,7 @@ PHP_FUNCTION(exif_read_data)
        add_assoc_image_info(return_value, sub_arrays, &ImageInfo, SECTION_MAKERNOTE  TSRMLS_CC);
 
 #ifdef EXIF_DEBUG
-       exif_error_docref(NULL TSRMLS_CC, &ImageInfo, E_NOTICE, "discarding info");
+       exif_error_docref(NULL EXIFERR_CC, &ImageInfo, E_NOTICE, "Discarding info");
 #endif
 
        exif_discard_imageinfo(&ImageInfo);
@@ -3938,7 +3960,7 @@ PHP_FUNCTION(exif_thumbnail)
        }
 
 #ifdef EXIF_DEBUG
-       exif_error_docref(NULL TSRMLS_CC, &ImageInfo, E_NOTICE, "Thumbnail data %d %d %d, %d x %d", ImageInfo.Thumbnail.data, ImageInfo.Thumbnail.size, ImageInfo.Thumbnail.filetype, ImageInfo.Thumbnail.width, ImageInfo.Thumbnail.height);
+       exif_error_docref(NULL EXIFERR_CC, &ImageInfo, E_NOTICE, "Thumbnail data %d %d %d, %d x %d", ImageInfo.Thumbnail.data, ImageInfo.Thumbnail.size, ImageInfo.Thumbnail.filetype, ImageInfo.Thumbnail.width, ImageInfo.Thumbnail.height);
 #endif
        if (!ImageInfo.Thumbnail.data || !ImageInfo.Thumbnail.size) {
                exif_discard_imageinfo(&ImageInfo);
@@ -3946,7 +3968,7 @@ PHP_FUNCTION(exif_thumbnail)
        }
 
 #ifdef EXIF_DEBUG
-       exif_error_docref(NULL TSRMLS_CC, &ImageInfo, E_NOTICE, "returning thumbnail(%d)", ImageInfo.Thumbnail.size);
+       exif_error_docref(NULL EXIFERR_CC, &ImageInfo, E_NOTICE, "Returning thumbnail(%d)", ImageInfo.Thumbnail.size);
 #endif
 
        ZVAL_STRINGL(return_value, ImageInfo.Thumbnail.data, ImageInfo.Thumbnail.size, 1);
@@ -3965,13 +3987,13 @@ PHP_FUNCTION(exif_thumbnail)
        }
 
 #ifdef EXIF_DEBUG
-       exif_error_docref(NULL TSRMLS_CC, &ImageInfo, E_NOTICE, "discarding info");
+       exif_error_docref(NULL EXIFERR_CC, &ImageInfo, E_NOTICE, "Discarding info");
 #endif
 
        exif_discard_imageinfo(&ImageInfo);
 
 #ifdef EXIF_DEBUG
-       php_error_docref1(NULL TSRMLS_CC, p_name, E_NOTICE, "done");
+       php_error_docref1(NULL TSRMLS_CC, p_name, E_NOTICE, "Done");
 #endif
 }
 /* }}} */