| OLD | NEW |
| 1 /* $Id: tif_print.c,v 1.60 2012-08-19 16:56:35 bfriesen Exp $ */ | 1 /* $Id: tif_print.c,v 1.62 2015-08-19 02:31:04 bfriesen Exp $ */ |
| 2 | 2 |
| 3 /* | 3 /* |
| 4 * Copyright (c) 1988-1997 Sam Leffler | 4 * Copyright (c) 1988-1997 Sam Leffler |
| 5 * Copyright (c) 1991-1997 Silicon Graphics, Inc. | 5 * Copyright (c) 1991-1997 Silicon Graphics, Inc. |
| 6 * | 6 * |
| 7 * Permission to use, copy, modify, distribute, and sell this software and | 7 * Permission to use, copy, modify, distribute, and sell this software and |
| 8 * its documentation for any purpose is hereby granted without fee, provided | 8 * its documentation for any purpose is hereby granted without fee, provided |
| 9 * that (i) the above copyright notices and this permission notice appear in | 9 * that (i) the above copyright notices and this permission notice appear in |
| 10 * all copies of the software and related documentation, and (ii) the names of | 10 * all copies of the software and related documentation, and (ii) the names of |
| 11 * Sam Leffler and Silicon Graphics may not be used in any advertising or | 11 * Sam Leffler and Silicon Graphics may not be used in any advertising or |
| (...skipping 16 matching lines...) Expand all Loading... |
| 28 * TIFF Library. | 28 * TIFF Library. |
| 29 * | 29 * |
| 30 * Directory Printing Support | 30 * Directory Printing Support |
| 31 */ | 31 */ |
| 32 #include "tiffiop.h" | 32 #include "tiffiop.h" |
| 33 #include <stdio.h> | 33 #include <stdio.h> |
| 34 | 34 |
| 35 #include <ctype.h> | 35 #include <ctype.h> |
| 36 | 36 |
| 37 static void | 37 static void |
| 38 _TIFFprintAsciiBounded(FILE* fd, const char* cp, int max_chars); | 38 _TIFFprintAsciiBounded(FILE* fd, const char* cp, size_t max_chars); |
| 39 | 39 |
| 40 static const char *photoNames[] = { | 40 static const char *photoNames[] = { |
| 41 "min-is-white", /* PHOTOMETRIC_MINISWHITE */ | 41 "min-is-white", /* PHOTOMETRIC_MINISWHITE */ |
| 42 "min-is-black", /* PHOTOMETRIC_MINISBLACK */ | 42 "min-is-black", /* PHOTOMETRIC_MINISBLACK */ |
| 43 "RGB color", /* PHOTOMETRIC_RGB */ | 43 "RGB color", /* PHOTOMETRIC_RGB */ |
| 44 "palette color (RGB from colormap)", /* PHOTOMETRIC_PALETTE */ | 44 "palette color (RGB from colormap)", /* PHOTOMETRIC_PALETTE */ |
| 45 "transparency mask", /* PHOTOMETRIC_MASK */ | 45 "transparency mask", /* PHOTOMETRIC_MASK */ |
| 46 "separated", /* PHOTOMETRIC_SEPARATED */ | 46 "separated", /* PHOTOMETRIC_SEPARATED */ |
| 47 "YCbCr", /* PHOTOMETRIC_YCBCR */ | 47 "YCbCr", /* PHOTOMETRIC_YCBCR */ |
| 48 "7 (0x7)", | 48 "7 (0x7)", |
| (...skipping 339 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 388 fprintf(fd, ">\n"); | 388 fprintf(fd, ">\n"); |
| 389 } | 389 } |
| 390 if (TIFFFieldSet(tif,FIELD_INKNAMES)) { | 390 if (TIFFFieldSet(tif,FIELD_INKNAMES)) { |
| 391 char* cp; | 391 char* cp; |
| 392 fprintf(fd, " Ink Names: "); | 392 fprintf(fd, " Ink Names: "); |
| 393 i = td->td_samplesperpixel; | 393 i = td->td_samplesperpixel; |
| 394 sep = ""; | 394 sep = ""; |
| 395 for (cp = td->td_inknames; | 395 for (cp = td->td_inknames; |
| 396 i > 0 && cp < td->td_inknames + td->td_inknameslen; | 396 i > 0 && cp < td->td_inknames + td->td_inknameslen; |
| 397 cp = strchr(cp,'\0')+1, i--) { | 397 cp = strchr(cp,'\0')+1, i--) { |
| 398 » » » int max_chars = | 398 » » » size_t max_chars = |
| 399 » » » » (int)(td->td_inknameslen - (cp - td->td_inknames
)); | 399 » » » » td->td_inknameslen - (cp - td->td_inknames); |
| 400 fputs(sep, fd); | 400 fputs(sep, fd); |
| 401 _TIFFprintAsciiBounded(fd, cp, max_chars); | 401 _TIFFprintAsciiBounded(fd, cp, max_chars); |
| 402 sep = ", "; | 402 sep = ", "; |
| 403 } | 403 } |
| 404 fputs("\n", fd); | 404 fputs("\n", fd); |
| 405 } | 405 } |
| 406 if (TIFFFieldSet(tif,FIELD_THRESHHOLDING)) { | 406 if (TIFFFieldSet(tif,FIELD_THRESHHOLDING)) { |
| 407 fprintf(fd, " Thresholding: "); | 407 fprintf(fd, " Thresholding: "); |
| 408 switch (td->td_threshholding) { | 408 switch (td->td_threshholding) { |
| 409 case THRESHHOLD_BILEVEL: | 409 case THRESHHOLD_BILEVEL: |
| (...skipping 165 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 575 const TIFFField *fip; | 575 const TIFFField *fip; |
| 576 uint32 value_count; | 576 uint32 value_count; |
| 577 int mem_alloc = 0; | 577 int mem_alloc = 0; |
| 578 void *raw_data; | 578 void *raw_data; |
| 579 | 579 |
| 580 fip = TIFFFieldWithTag(tif, tag); | 580 fip = TIFFFieldWithTag(tif, tag); |
| 581 if(fip == NULL) | 581 if(fip == NULL) |
| 582 continue; | 582 continue; |
| 583 | 583 |
| 584 if(fip->field_passcount) { | 584 if(fip->field_passcount) { |
| 585 » » » » if (fip->field_readcount == TIFF_VARIABLE ) { | 585 » » » » if (fip->field_readcount == TIFF_VARIABLE2 ) { |
| 586 if(TIFFGetField(tif, tag, &value_count,
&raw_data) != 1) | 586 if(TIFFGetField(tif, tag, &value_count,
&raw_data) != 1) |
| 587 continue; | 587 continue; |
| 588 » » » » } else if (fip->field_readcount == TIFF_VARIABLE
2 ) { | 588 » » » » } else if (fip->field_readcount == TIFF_VARIABLE
) { |
| 589 uint16 small_value_count; | 589 uint16 small_value_count; |
| 590 if(TIFFGetField(tif, tag, &small_value_c
ount, &raw_data) != 1) | 590 if(TIFFGetField(tif, tag, &small_value_c
ount, &raw_data) != 1) |
| 591 continue; | 591 continue; |
| 592 value_count = small_value_count; | 592 value_count = small_value_count; |
| 593 } else { | 593 } else { |
| 594 assert (fip->field_readcount == TIFF_VAR
IABLE | 594 assert (fip->field_readcount == TIFF_VAR
IABLE |
| 595 || fip->field_readcount == TIFF_
VARIABLE2); | 595 || fip->field_readcount == TIFF_
VARIABLE2); |
| 596 continue; | 596 continue; |
| 597 } | 597 } |
| 598 } else { | 598 } else { |
| (...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 668 (unsigned long) s, | 668 (unsigned long) s, |
| 669 (unsigned long long) td->td_stripoffset[s], | 669 (unsigned long long) td->td_stripoffset[s], |
| 670 (unsigned long long) td->td_stripbytecount[s]); | 670 (unsigned long long) td->td_stripbytecount[s]); |
| 671 #endif | 671 #endif |
| 672 } | 672 } |
| 673 } | 673 } |
| 674 | 674 |
| 675 void | 675 void |
| 676 _TIFFprintAscii(FILE* fd, const char* cp) | 676 _TIFFprintAscii(FILE* fd, const char* cp) |
| 677 { | 677 { |
| 678 » _TIFFprintAsciiBounded( fd, cp, (int)strlen(cp)); | 678 » _TIFFprintAsciiBounded( fd, cp, strlen(cp)); |
| 679 } | 679 } |
| 680 | 680 |
| 681 static void | 681 static void |
| 682 _TIFFprintAsciiBounded(FILE* fd, const char* cp, int max_chars) | 682 _TIFFprintAsciiBounded(FILE* fd, const char* cp, size_t max_chars) |
| 683 { | 683 { |
| 684 for (; max_chars > 0 && *cp != '\0'; cp++, max_chars--) { | 684 for (; max_chars > 0 && *cp != '\0'; cp++, max_chars--) { |
| 685 const char* tp; | 685 const char* tp; |
| 686 | 686 |
| 687 if (isprint((int)*cp)) { | 687 if (isprint((int)*cp)) { |
| 688 fputc(*cp, fd); | 688 fputc(*cp, fd); |
| 689 continue; | 689 continue; |
| 690 } | 690 } |
| 691 for (tp = "\tt\bb\rr\nn\vv"; *tp; tp++) | 691 for (tp = "\tt\bb\rr\nn\vv"; *tp; tp++) |
| 692 if (*tp++ == *cp) | 692 if (*tp++ == *cp) |
| (...skipping 14 matching lines...) Expand all Loading... |
| 707 } | 707 } |
| 708 | 708 |
| 709 /* vim: set ts=8 sts=8 sw=8 noet: */ | 709 /* vim: set ts=8 sts=8 sw=8 noet: */ |
| 710 /* | 710 /* |
| 711 * Local Variables: | 711 * Local Variables: |
| 712 * mode: c | 712 * mode: c |
| 713 * c-basic-offset: 8 | 713 * c-basic-offset: 8 |
| 714 * fill-column: 78 | 714 * fill-column: 78 |
| 715 * End: | 715 * End: |
| 716 */ | 716 */ |
| 717 | |
| OLD | NEW |