Blame test/data/ifd-test.out

Packit 01d647
Read standard Ifd from data buffer
Packit 01d647
IFD Offset: 0x00000001,   IFD Entries: 4
Packit 01d647
Entry     Tag  Format   (Bytes each)  Number  Offset
Packit 01d647
-----  ------  ---------------------  ------  -----------
Packit 01d647
    0  0x0001  Ascii             (1)       4  54 68 65 00 
Packit 01d647
    1  0x0002  Ascii             (1)       6   0x00000036
Packit 01d647
    2  0x0003  Ascii             (1)       7   0x0000003c
Packit 01d647
    3  0x0004  Ascii             (1)       9   0x00000043
Packit 01d647
Next IFD: 0x00000000
Packit 01d647
Data of entry 1:
Packit 01d647
  0037  4b 75 61 6c 61 00                                Kuala.
Packit 01d647
Data of entry 2:
Packit 01d647
  003d  4c 75 6d 70 75 72 00                             Lumpur.
Packit 01d647
Data of entry 3:
Packit 01d647
  0044  4d 61 6c 61 79 73 69 61 00                       Malaysia.
Packit 01d647
Setting value of entry 3...
Packit 01d647
Wrote 76 characters to data buffer
Packit 01d647
IFD Offset: 0x00000001,   IFD Entries: 4
Packit 01d647
Entry     Tag  Format   (Bytes each)  Number  Offset
Packit 01d647
-----  ------  ---------------------  ------  -----------
Packit 01d647
    0  0x0001  Ascii             (1)       4  54 68 65 00 
Packit 01d647
    1  0x0002  Ascii             (1)       6   0x00000036
Packit 01d647
    2  0x0003  Ascii             (1)       7   0x0000003c
Packit 01d647
    3  0x0004  Ascii             (1)       6   0x00000043
Packit 01d647
Next IFD: 0x00000000
Packit 01d647
Data of entry 1:
Packit 01d647
  0037  4b 75 61 6c 61 00                                Kuala.
Packit 01d647
Data of entry 2:
Packit 01d647
  003d  4c 75 6d 70 75 72 00                             Lumpur.
Packit 01d647
Data of entry 3:
Packit 01d647
  0044  54 48 52 45 45 00                                THREE.
Packit 01d647
Packit 01d647
Read non-standard Ifd from data buffer
Packit 01d647
IFD Offset: 0x00000016,   IFD Entries: 4
Packit 01d647
Entry     Tag  Format   (Bytes each)  Number  Offset
Packit 01d647
-----  ------  ---------------------  ------  -----------
Packit 01d647
    0  0x0001  Ascii             (1)       4  54 68 65 00 
Packit 01d647
    1  0x0002  Ascii             (1)       6   0xffffffea
Packit 01d647
    2  0x0003  Ascii             (1)       7   0xfffffff0
Packit 01d647
    3  0x0004  Ascii             (1)       9   0xfffffff7
Packit 01d647
Next IFD: 0x00000000
Packit 01d647
Data of entry 1:
Packit 01d647
  0000  4b 75 61 6c 61 00                                Kuala.
Packit 01d647
Data of entry 2:
Packit 01d647
  0006  4c 75 6d 70 75 72 00                             Lumpur.
Packit 01d647
Data of entry 3:
Packit 01d647
  000d  4d 61 6c 61 79 73 69 61 00                       Malaysia.
Packit 01d647
Setting value of entry 3...
Packit 01d647
IFD Offset: 0x00000016,   IFD Entries: 4
Packit 01d647
Entry     Tag  Format   (Bytes each)  Number  Offset
Packit 01d647
-----  ------  ---------------------  ------  -----------
Packit 01d647
    0  0x0001  Ascii             (1)       4  54 68 65 00 
Packit 01d647
    1  0x0002  Ascii             (1)       6   0xffffffea
Packit 01d647
    2  0x0003  Ascii             (1)       7   0xfffffff0
Packit 01d647
    3  0x0004  Ascii             (1)       6   0xfffffff7
Packit 01d647
Next IFD: 0x00000000
Packit 01d647
Data of entry 1:
Packit 01d647
  0000  4b 75 61 6c 61 00                                Kuala.
Packit 01d647
Data of entry 2:
Packit 01d647
  0006  4c 75 6d 70 75 72 00                             Lumpur.
Packit 01d647
Data of entry 3:
Packit 01d647
  000d  54 48 52 45 45 00 00 00 00                       THREE....
Packit 01d647
Packit 01d647
Test boundary checks, the following reads should generate warnings or errors
Packit 01d647
--- read (3)
Packit 01d647
Warning: Upper boundary of data for IFD0 entry 3 is out of bounds:
Packit 01d647
 Offset = 0x00000043, size = 9, exceeds buffer size by 1 Bytes; Truncating the data.
Packit 01d647
--- read (4)
Packit 01d647
Error: Upper boundary of the 1st data entry of IFD0 is out of bounds:
Packit 01d647
 Offset = 0x00000036, exceeds buffer size by 1 Bytes
Packit 01d647
Ifd::read (4) failed, rc = 6
Packit 01d647
--- read (5)
Packit 01d647
Warning: Upper boundary of data for IFD0 entry 2 is out of bounds:
Packit 01d647
 Offset = 0x0000003c, size = 7, exceeds buffer size by 7 Bytes; Truncating the data.
Packit 01d647
Warning: Upper boundary of data for IFD0 entry 3 is out of bounds:
Packit 01d647
 Offset = 0x00000043, size = 9, exceeds buffer size by 16 Bytes; Truncating the data.
Packit 01d647
--- read (6)
Packit 01d647
Error: IFD0 memory of the pointer to the next IFD lies outside of the IFD memory buffer.
Packit 01d647
Ifd::read (6) failed, rc = 6
Packit 01d647
--- read (7)
Packit 01d647
Error: IFD0 memory of the pointer to the next IFD lies outside of the IFD memory buffer.
Packit 01d647
Ifd::read (7) failed, rc = 6
Packit 01d647
Packit 01d647
Create Ifd from scratch
Packit 01d647
IFD Offset: 0x00000000,   IFD Entries: 4
Packit 01d647
Entry     Tag  Format   (Bytes each)  Number  Offset
Packit 01d647
-----  ------  ---------------------  ------  -----------
Packit 01d647
    0  0x0001  Ascii             (1)       4  54 68 65 00 
Packit 01d647
    1  0x0002  Ascii             (1)       6   0x00000036
Packit 01d647
    2  0x0003  Ascii             (1)       7   0x0000003c
Packit 01d647
    3  0x0004  Ascii             (1)       9   0x00000043
Packit 01d647
Next IFD: 0x00000000
Packit 01d647
Data of entry 1:
Packit 01d647
  0036  4b 75 61 6c 61 00                                Kuala.
Packit 01d647
Data of entry 2:
Packit 01d647
  003c  4c 75 6d 70 75 72 00                             Lumpur.
Packit 01d647
Data of entry 3:
Packit 01d647
  0043  4d 61 6c 61 79 73 69 61 00                       Malaysia.
Packit 01d647
Packit 01d647
Move data buffer
Packit 01d647
IFD Offset: 0x00000001,   IFD Entries: 4
Packit 01d647
Entry     Tag  Format   (Bytes each)  Number  Offset
Packit 01d647
-----  ------  ---------------------  ------  -----------
Packit 01d647
    0  0x0001  Ascii             (1)       4  54 68 65 00 
Packit 01d647
    1  0x0002  Ascii             (1)       6   0x00000036
Packit 01d647
    2  0x0003  Ascii             (1)       7   0x0000003c
Packit 01d647
    3  0x0004  Ascii             (1)       9   0x00000043
Packit 01d647
Next IFD: 0x00000000
Packit 01d647
Data of entry 1:
Packit 01d647
  0037  4b 75 61 6c 61 00                                Kuala.
Packit 01d647
Data of entry 2:
Packit 01d647
  003d  4c 75 6d 70 75 72 00                             Lumpur.
Packit 01d647
Data of entry 3:
Packit 01d647
  0044  54 48 52 45 45 00 00 00 00                       THREE....
Packit 01d647
IFD Offset: 0x00000001,   IFD Entries: 4
Packit 01d647
Entry     Tag  Format   (Bytes each)  Number  Offset
Packit 01d647
-----  ------  ---------------------  ------  -----------
Packit 01d647
    0  0x0001  Ascii             (1)       4  54 68 65 00 
Packit 01d647
    1  0x0002  Ascii             (1)       6   0x00000036
Packit 01d647
    2  0x0003  Ascii             (1)       7   0x0000003c
Packit 01d647
    3  0x0004  Ascii             (1)       9   0x00000043
Packit 01d647
Next IFD: 0x00000000
Packit 01d647
Data of entry 1:
Packit 01d647
  0037  4b 75 61 6c 61 00                                Kuala.
Packit 01d647
Data of entry 2:
Packit 01d647
  003d  4c 75 6d 70 75 72 00                             Lumpur.
Packit 01d647
Data of entry 3:
Packit 01d647
  0044  54 48 52 45 45 00 00 00 00                       THREE....