diff options
author | giraffedata <giraffedata@9d0c8265-081b-0410-96cb-a4ca84ce46f8> | 2018-01-19 17:11:46 +0000 |
---|---|---|
committer | giraffedata <giraffedata@9d0c8265-081b-0410-96cb-a4ca84ce46f8> | 2018-01-19 17:11:46 +0000 |
commit | f0902946124eafaf8b68f0c37b6c9a9b83cfb743 (patch) | |
tree | 6b25675105e853a73d59168ede22eb4733c42fe2 /converter/other/giftopnm.c | |
parent | 4edbf3ad0fe135c7f7412779eafc1bf329e23e51 (diff) | |
download | netpbm-mirror-f0902946124eafaf8b68f0c37b6c9a9b83cfb743.tar.gz netpbm-mirror-f0902946124eafaf8b68f0c37b6c9a9b83cfb743.tar.xz netpbm-mirror-f0902946124eafaf8b68f0c37b6c9a9b83cfb743.zip |
whitespace
git-svn-id: http://svn.code.sf.net/p/netpbm/code/trunk@3119 9d0c8265-081b-0410-96cb-a4ca84ce46f8
Diffstat (limited to 'converter/other/giftopnm.c')
-rw-r--r-- | converter/other/giftopnm.c | 212 |
1 files changed, 106 insertions, 106 deletions
diff --git a/converter/other/giftopnm.c b/converter/other/giftopnm.c index f0946c9e..b81091da 100644 --- a/converter/other/giftopnm.c +++ b/converter/other/giftopnm.c @@ -9,7 +9,7 @@ /* +-------------------------------------------------------------------+ */ /* There is a copy of the GIF89 specification, as defined by its inventor, - Compuserve, in 1990 at: + Compuserve, in 1990 at: http://www.w3.org/Graphics/GIF/spec-gif89a.txt This covers the high level format, but does not cover how the "data" @@ -116,7 +116,7 @@ parseCommandLine(int argc, const char ** argv, optEntry * option_def; /* Instructions to pm_optParseOptions3 on how to parse our options. */ - + optStruct3 opt; unsigned int alphaSpec, imageSpec; @@ -125,9 +125,9 @@ parseCommandLine(int argc, const char ** argv, unsigned int option_def_index; MALLOCARRAY_NOFAIL(option_def, 100); - + option_def_index = 0; /* incremented by OPTENTRY */ - OPTENT3(0, "verbose", OPT_FLAG, NULL, + OPTENT3(0, "verbose", OPT_FLAG, NULL, &cmdlineP->verbose, 0); OPTENT3(0, "comments", OPT_FLAG, NULL, &cmdlineP->comments, 0); @@ -137,7 +137,7 @@ parseCommandLine(int argc, const char ** argv, &cmdlineP->repair, 0); OPTENT3(0, "image", OPT_STRING, &image, &imageSpec, 0); - OPTENT3(0, "alphaout", OPT_STRING, &cmdlineP->alphaFileName, + OPTENT3(0, "alphaout", OPT_STRING, &cmdlineP->alphaFileName, &alphaSpec, 0); opt.opt_table = option_def; @@ -153,7 +153,7 @@ parseCommandLine(int argc, const char ** argv, cmdlineP->imageNum = 0; cmdlineP->allImages = false; } else { - if (strcaseeq(image, "all")) { + if (strcaseeq(image, "all")) { cmdlineP->allImages = true; } else { char * tailptr; @@ -174,8 +174,8 @@ parseCommandLine(int argc, const char ** argv, cmdlineP->imageNum = (unsigned int) imageNum - 1; } } - - if (argc-1 == 0) + + if (argc-1 == 0) cmdlineP->inputFilespec = "-"; else if (argc-1 != 1) pm_error("Program takes zero or one argument (filename). You " @@ -183,7 +183,7 @@ parseCommandLine(int argc, const char ** argv, else cmdlineP->inputFilespec = argv[1]; - if (!alphaSpec) + if (!alphaSpec) cmdlineP->alphaFileName = NULL; } @@ -255,13 +255,13 @@ struct GifScreen { /* Aspect ratio of each pixel, times 64, minus 15. (i.e. 1 => 1:4). But Zero means 1:1. */ - bool hasGray; + bool hasGray; /* Boolean: global colormap has at least one gray color - (not counting black and white) + (not counting black and white) */ bool hasColor; /* Boolean: global colormap has at least one non-gray, - non-black, non-white color + non-black, non-white color */ }; @@ -269,7 +269,7 @@ struct Gif89 { bool haveTransColor; /* The GIF specifies a transparent background color */ unsigned int transparentIndex; - /* The color index of the color which is the transparent + /* The color index of the color which is the transparent background color. Meaningful only when 'haveTransColor' is true @@ -288,7 +288,7 @@ initGif89(struct Gif89 * const gif89P) { gif89P->haveDelayTime = false; gif89P->haveInputFlag = false; gif89P->haveDisposal = false; -} +} static bool verbose; @@ -347,8 +347,8 @@ static bool zeroDataBlock = false; */ static void -getDataBlock(FILE * const ifP, - unsigned char * const buf, +getDataBlock(FILE * const ifP, + unsigned char * const buf, bool * const eofP, unsigned int * const lengthP, const char ** const errorP) { @@ -372,7 +372,7 @@ getDataBlock(FILE * const ifP, unsigned char count; const char * error; - + readFile(ifP, &count, sizeof(count), &error); if (error) { @@ -395,7 +395,7 @@ getDataBlock(FILE * const ifP, const char * error; zeroDataBlock = false; - readFile(ifP, buf, count, &error); + readFile(ifP, buf, count, &error); if (error) { pm_asprintf(errorP, @@ -446,7 +446,7 @@ doPlainTextExtension(FILE * const ifP) { #if 0 /* incomplete code fragment, attempt to handle Plain Text Extension */ GetDataBlock(ifP, (unsigned char*) buf, &eof, &length); - + lpos = LM_to_uint(buf[0], buf[1]); tpos = LM_to_uint(buf[2], buf[3]); width = LM_to_uint(buf[4], buf[5]); @@ -467,20 +467,20 @@ doCommentExtension(FILE * const ifP) { /*---------------------------------------------------------------------------- Read the rest of a comment extension from the input file 'ifP' and handle it. - + We ought to deal with the possibility that the comment is not text. I.e. it could have nonprintable characters or embedded nulls. I don't know if the GIF spec requires regular text or not. -----------------------------------------------------------------------------*/ char buf[256]; - unsigned int blocklen; + unsigned int blocklen; bool done; done = false; while (!done) { bool eof; const char * error; - getDataBlock(ifP, (unsigned char*) buf, &eof, &blocklen, &error); + getDataBlock(ifP, (unsigned char*) buf, &eof, &blocklen, &error); if (error) pm_error("Error reading a data block in a comment extension. %s", error); @@ -506,7 +506,7 @@ LM_to_uint(unsigned char const a, -static void +static void doGraphicControlExtension(FILE * const ifP, struct Gif89 * const gif89P) { @@ -521,7 +521,7 @@ doGraphicControlExtension(FILE * const ifP, if (eof) pm_error("EOF/error encountered reading " "1st DataBlock of Graphic Control Extension."); - else if (length < 4) + else if (length < 4) pm_error("graphic control extension 1st DataBlock too short. " "It must be at least 4 bytes; it is %d bytes.", length); @@ -548,7 +548,7 @@ doExtension(FILE * const ifP, struct Gif89 * const gif89P) { const char * str; - + switch (label) { case 0x01: /* Plain Text Extension */ str = "Plain Text"; @@ -582,7 +582,7 @@ doExtension(FILE * const ifP, struct GetCodeState { unsigned char buf[280]; - /* This is the buffer through which we read the data from the + /* This is the buffer through which we read the data from the stream. We must buffer it because we have to read whole data blocks at a time, but our client wants one code at a time. The buffer typically contains the contents of one data block @@ -605,7 +605,7 @@ struct GetCodeState { static void -getAnotherBlock(FILE * const ifP, +getAnotherBlock(FILE * const ifP, struct GetCodeState * const gsP, const char ** const errorP) { @@ -623,7 +623,7 @@ getAnotherBlock(FILE * const ifP, gsP->curbit -= (gsP->bufCount-2)*8; gsP->bufCount = 2; - + /* Add the next block to the buffer */ getDataBlock(ifP, &gsP->buf[gsP->bufCount], &eof, &count, errorP); if (*errorP) @@ -640,7 +640,7 @@ getAnotherBlock(FILE * const ifP, assumedCount = count; gsP->streamExhausted = (assumedCount == 0); - + gsP->bufCount += assumedCount; } } @@ -651,7 +651,7 @@ static struct GetCodeState getCodeState; static void getCode_init(struct GetCodeState * const getCodeStateP) { - + /* Fake a previous data block */ getCodeStateP->buf[0] = 0; getCodeStateP->buf[1] = 0; @@ -675,7 +675,7 @@ bitsOfLeBuffer(const unsigned char * const buf, first byte of buf[]. We return the string as an integer such that its pure binary encoding with - the bits numbered Intel-style is the string. E.g. the string 0,1,1 + the bits numbered Intel-style is the string. E.g. the string 0,1,1 yields six. -----------------------------------------------------------------------------*/ uint32_t codeBlock; @@ -694,8 +694,8 @@ bitsOfLeBuffer(const unsigned char * const buf, (buf[start/8+0] << 0) | (buf[start/8+1] << 8) | (buf[start/8+2] << 16); - - return (unsigned int) + + return (unsigned int) (codeBlock >> (start % 8)) & ((1 << len) - 1); } @@ -703,7 +703,7 @@ bitsOfLeBuffer(const unsigned char * const buf, static void getCode_get(struct GetCodeState * const gsP, - FILE * const ifP, + FILE * const ifP, int const codeSize, bool * const eofP, unsigned int * const codeP, @@ -727,7 +727,7 @@ getCode_get(struct GetCodeState * const gsP, *errorP = NULL; while (gsP->curbit + codeSize > gsP->bufCount * 8 && - !gsP->streamExhausted && !*errorP) + !gsP->streamExhausted && !*errorP) /* Not enough left in buffer to satisfy request. Get the next data block into the buffer. @@ -775,7 +775,7 @@ struct Stack { -static void +static void initStack(struct Stack * const stackP, unsigned int const size) { MALLOCARRAY(stackP->stack, size); @@ -810,7 +810,7 @@ popStack(struct Stack * const stackP) { if (stackP->sp <= stackP->stack) pm_error("stack underflow"); - + return *(--stackP->sp); } @@ -822,7 +822,7 @@ termStack(struct Stack * const stackP) { stackP->stack = NULL; } - + /*---------------------------------------------------------------------------- Some notes on LZW. @@ -850,15 +850,15 @@ termStack(struct Stack * const stackP) { true data elements: max_dataVal + 1 is the clear code. - + max_dataVal + 2 is the end code. - max_dataVal + 3 and up are string codes. Each string code + max_dataVal + 3 and up are string codes. Each string code represents a string of true data elements. The translation from a string code to the string of true data elements varies as the stream progresses. In the beginning and after every clear code, the translation table is empty, so no string codes are valid. As the - stream progresses, the table gets filled and more string codes + stream progresses, the table gets filled and more string codes become valid. -----------------------------------------------------------------------------*/ @@ -890,7 +890,7 @@ typedef struct { the stream. */ unsigned int maxCodeCt; - /* The maximum number of LZW codes that can be represented with the + /* The maximum number of LZW codes that can be represented with the current code size. (1 << codeSize) */ unsigned int nextTableSlot; @@ -910,11 +910,11 @@ typedef struct { bool haveTransColor; unsigned int transparentIndex; /* meaningful only when 'haveTransColor' is true */ - bool tolerateBadInput; + bool tolerateBadInput; /* We are to tolerate bad input data as best we can, rather than just declaring an error and bailing out. */ - CodeTableEntry table[(1 << MAX_LZW_BITS)]; /* LZW code table */ + CodeTableEntry table[(1 << MAX_LZW_BITS)]; /* LZW code table */ /* This contains the strings of expansions of LZW string codes, in linked list form. table[N] gives the first data element for the string with string code N and the LZW code for the rest of the @@ -962,7 +962,7 @@ validateTransparentIndex(unsigned int const transparentIndex, static void -lzwInit(Decompressor * const decompP, +lzwInit(Decompressor * const decompP, FILE * const ifP, int const initCodeSize, unsigned int const cmapSize, @@ -971,12 +971,12 @@ lzwInit(Decompressor * const decompP, bool const tolerateBadInput) { unsigned int const maxDataVal = (1 << initCodeSize) - 1; - + if (verbose) pm_message("Image says the initial compression code size is " - "%d bits", + "%d bits", initCodeSize); - + decompP->ifP = ifP; decompP->initCodeSize = initCodeSize; decompP->cmapSize = cmapSize; @@ -988,9 +988,9 @@ lzwInit(Decompressor * const decompP, if (verbose) pm_message("Initial code size is %u bits; clear code = 0x%03x, " "end code = 0x%03x", - decompP->initCodeSize, + decompP->initCodeSize, decompP->clearCode, decompP->endCode); - + /* The entries in the translation table for true data codes are constant throughout the image. For PBM output we make an adjustment later. Once set entries never change. @@ -1012,9 +1012,9 @@ lzwInit(Decompressor * const decompP, resetDecompressor(decompP); getCode_init(&getCodeState); - + decompP->fresh = true; - + initStack(&decompP->stack, maxLzwCodeCt); assert(decompP->initCodeSize < sizeof(decompP->maxDataVal) * 8); @@ -1134,7 +1134,7 @@ expandCodeOntoStack(Decompressor * const decompP, pm_asprintf(&gifError, "Invalid color code %u. " "Valid color values are 0 - %u", incode, decompP->cmapSize - 1); - } else if (incode < decompP->nextTableSlot) + } else if (incode < decompP->nextTableSlot) /* LZW string, defined */ code = incode; else if (incode == decompP->nextTableSlot) { @@ -1146,7 +1146,7 @@ expandCodeOntoStack(Decompressor * const decompP, else { if (wantLzwCodes && verbose) pm_message ("LZW code valid, but not in decoder table"); - + pushStack(&decompP->stack, decompP->firstcode); code = decompP->prevcode; } @@ -1208,7 +1208,7 @@ lzwReadByteFresh(struct GetCodeState * const getCodeStateP, if (!zeroDataBlock) readThroughEod(decompP->ifP); *endOfImageP = true; - } else if (code >= decompP->cmapSize) { + } else if (code >= decompP->cmapSize) { pm_asprintf(errorP, "Error in GIF image: invalid color code %u. " "Valid color values are: 0 - %u", code, decompP->cmapSize-1); @@ -1307,7 +1307,7 @@ bumpRowInterlace(unsigned int const rows, MULT4PLUS2: Rows 2, 6, 10, 14, etc. MULT2PLUS1: Rows 1, 3, 5, 7, 9, etc. */ - + switch (*passP) { case MULT8PLUS0: *rowP += 8; @@ -1352,7 +1352,7 @@ bumpRowInterlace(unsigned int const rows, static void renderRow(unsigned char * const cmapIndexRow, unsigned int const cols, - GifColorMap const cmap, + GifColorMap const cmap, bool const haveTransColor, unsigned int const transparentIndex, FILE * const imageOutfile, @@ -1370,7 +1370,7 @@ renderRow(unsigned char * const cmapIndexRow, 'haveTransColor' is false, render all white (i.e. the row is opaque). 'alphabits' is otherwise just a one-row buffer for us to use in rendering the alpha row. - + imageOutfile is NULL if user wants only the alpha file. ----------------------------------------------------------------------------*/ if (alphabits) { @@ -1387,7 +1387,7 @@ renderRow(unsigned char * const cmapIndexRow, if (imageOutfile) { if (useFastPbmRender && format == PBM_FORMAT && !haveTransColor) { - bit * const bitrow = cmapIndexRow; + bit * const bitrow = cmapIndexRow; pbm_writepbmrow(imageOutfile, bitrow, cols, false); } else { @@ -1441,7 +1441,7 @@ pnmFormat(bool const hasGray, -----------------------------------------------------------------------------*/ int format; const char * formatName; - + if (hasColor) { format = PPM_FORMAT; formatName = "PPM"; @@ -1452,9 +1452,9 @@ pnmFormat(bool const hasGray, format = PBM_FORMAT; formatName = "PBM"; } - if (verbose) + if (verbose) pm_message("writing a %s file", formatName); - + return format; } @@ -1481,7 +1481,7 @@ makePnmRow(Decompressor * const decompP, if (fillingWithZero) colorIndex = 0; - else { + else { const char * readError; unsigned char readColorIndex; bool endOfImage; @@ -1513,7 +1513,7 @@ static void convertRaster(Decompressor * const decompP, unsigned int const cols, unsigned int const rows, - GifColorMap const cmap, + GifColorMap const cmap, bool const interlace, FILE * const imageOutFileP, FILE * const alphaFileP, @@ -1551,7 +1551,7 @@ convertRaster(Decompressor * const decompP, if (alphaFileP) pbm_writepbminit(alphaFileP, cols, rows, false); - xelrow = pnm_allocrow(cols); + xelrow = pnm_allocrow(cols); if (!xelrow) pm_error("couldn't alloc space for image" ); @@ -1595,10 +1595,10 @@ convertRaster(Decompressor * const decompP, decompP->haveTransColor, decompP->transparentIndex, imageOutFileP, format, xelrow, alphaFileP, alphabits); } - /* All rows decompressed (and rendered and output if non-interlaced) */ + /* All rows decompressed (and rendered and output if non-interlaced) */ if (interlace) { unsigned int row; - for (row = 0; row < rows; ++row) + for (row = 0; row < rows; ++row) renderRow(cmapIndexArray[row], cols, cmap, decompP->haveTransColor, decompP->transparentIndex, imageOutFileP, format, xelrow, alphaFileP, alphabits); @@ -1646,13 +1646,13 @@ skipExtraneousData(Decompressor * const decompP) { static void issueTransparencyMessage(bool const haveTransColor, - unsigned int const transparentIndex, + unsigned int const transparentIndex, GifColorMap const cmap) { /*---------------------------------------------------------------------------- If user wants verbose output, tell him whether there is a transparent background color ('haveTransColor') and if so what it is ('transparentIndex'). - + Some GIFs put transparentIndex outside the color map. Allow this only with "-repair", checked in lzwInit(). Here we issue a warning and report the substitute color. @@ -1687,10 +1687,10 @@ issueTransparencyMessage(bool const haveTransColor, static void -readImageData(FILE * const ifP, +readImageData(FILE * const ifP, unsigned int const cols, unsigned int const rows, - GifColorMap const cmap, + GifColorMap const cmap, bool const interlace, bool const haveTransColor, unsigned int const transparentIndex, @@ -1700,7 +1700,7 @@ readImageData(FILE * const ifP, bool const hasColor, bool const tolerateBadInput) { - unsigned char lzwMinCodeSize; + unsigned char lzwMinCodeSize; Decompressor decomp; const char * error; @@ -1712,7 +1712,7 @@ readImageData(FILE * const ifP, if (lzwMinCodeSize > MAX_LZW_BITS) pm_error("Invalid minimum code size value in image data: %u. " - "Maximum allowable code size in GIF is %u", + "Maximum allowable code size in GIF is %u", lzwMinCodeSize, MAX_LZW_BITS); lzwInit(&decomp, ifP, lzwMinCodeSize, cmap.size, @@ -1776,24 +1776,24 @@ readGifHeader(FILE * const gifFileP, readFile(gifFileP, buf, 6, &error); if (error) pm_error("Error reading magic number. %s", error); - + if (!strneq((char *)buf, "GIF", 3)) pm_error("File does not contain a GIF stream. It does not start " "with 'GIF'."); - + strncpy(version, (char *)buf + 3, 3); version[3] = '\0'; - + if (verbose) pm_message("GIF format version is '%s'", version); - + if ((!streq(version, "87a")) && (!streq(version, "89a"))) pm_error("Bad version number, not '87a' or '89a'" ); - + readFile(gifFileP, buf, 7, &error); if (error) pm_error("Failed to read screen descriptor. %s", error); - + gifScreenP->width = LM_to_uint(buf[0],buf[1]); gifScreenP->height = LM_to_uint(buf[2],buf[3]); cmapSize = 1 << ((buf[4] & 0x07) + 1); @@ -1804,25 +1804,25 @@ readGifHeader(FILE * const gifFileP, if (verbose) { pm_message("GIF Width = %u GIF Height = %u " "Pixel aspect ratio = %u (%f:1)", - gifScreenP->width, gifScreenP->height, - gifScreenP->aspectRatio, - gifScreenP->aspectRatio == 0 ? + gifScreenP->width, gifScreenP->height, + gifScreenP->aspectRatio, + gifScreenP->aspectRatio == 0 ? 1 : (gifScreenP->aspectRatio + 15) / 64.0); pm_message("Global color count = %u Color Resolution = %u", cmapSize, gifScreenP->colorResolution); - } + } if (buf[4] & GLOBALCOLORMAP) { gifScreenP->hasGlobalColorMap = true; readColorMap(gifFileP, cmapSize, &gifScreenP->colorMap, &gifScreenP->hasGray, &gifScreenP->hasColor); if (verbose) { - pm_message("Global color map %s grays, %s colors", + pm_message("Global color map %s grays, %s colors", gifScreenP->hasGray ? "contains" : "doesn't contain", gifScreenP->hasColor ? "contains" : "doesn't contain"); } } else gifScreenP->hasGlobalColorMap = false; - + if (gifScreenP->aspectRatio != 0 && gifScreenP->aspectRatio != 49) warnUserNotSquare(gifScreenP->aspectRatio); @@ -1832,7 +1832,7 @@ readGifHeader(FILE * const gifFileP, static void -readExtensions(FILE* const ifP, +readExtensions(FILE* const ifP, struct Gif89 * const gif89P, bool * const eodP, const char ** const errorP) { @@ -1841,7 +1841,7 @@ readExtensions(FILE* const ifP, positioned. Read up through the image separator that begins the next image or GIF stream terminator. - If we encounter EOD (end of GIF stream) before we find an image + If we encounter EOD (end of GIF stream) before we find an image separator, we return *eodP == true. Else *eodP == false. If we hit end of file before an EOD marker, we fail. @@ -1883,9 +1883,9 @@ readExtensions(FILE* const ifP, } else { doExtension(ifP, functionCode, gif89P); } - } else if (c == ',') + } else if (c == ',') imageStart = true; - else + else pm_message("Encountered invalid character 0x%02x while " "seeking extension block, ignoring", (int)c); } @@ -1901,7 +1901,7 @@ struct GifImageHeader { -----------------------------------------------------------------------------*/ bool hasLocalColormap; /* The image has its own color map. Its size is 'localColorMapSize' */ - /* (If an image does not have its own color map, the image uses the + /* (If an image does not have its own color map, the image uses the global color map for the GIF stream) */ unsigned int localColorMapSize; @@ -1930,7 +1930,7 @@ reportImageHeader(struct GifImageHeader const imageHeader) { if (imageHeader.lpos > 0 || imageHeader.tpos > 0) pm_message(" Image left position: %u top position: %u", imageHeader.lpos, imageHeader.tpos); - + if (imageHeader.hasLocalColormap) pm_message(" Uses local colormap of %u colors", imageHeader.localColorMapSize); @@ -1976,7 +1976,7 @@ validateWithinGlobalScreen(struct GifImageHeader const imageHeader, struct GifScreen const gifScreen) { unsigned long int const rpos = imageHeader.lpos + imageHeader.cols; - unsigned long int const bpos = imageHeader.tpos + imageHeader.rows; + unsigned long int const bpos = imageHeader.tpos + imageHeader.rows; if (rpos > gifScreen.width) pm_error("Image right end (%lu) is outside global screen: %u x %u", @@ -2005,10 +2005,10 @@ skipImageData(FILE * const ifP) { static void -convertImage(FILE * const ifP, - bool const skipIt, - FILE * const imageoutFileP, - FILE * const alphafileP, +convertImage(FILE * const ifP, + bool const skipIt, + FILE * const imageoutFileP, + FILE * const alphafileP, struct GifScreen const gifScreen, struct Gif89 const gif89, bool const tolerateBadInput) { @@ -2029,7 +2029,7 @@ convertImage(FILE * const ifP, validateWithinGlobalScreen(imageHeader, gifScreen); if (imageHeader.hasLocalColormap) { - readColorMap(ifP, imageHeader.localColorMapSize, &localColorMap, + readColorMap(ifP, imageHeader.localColorMapSize, &localColorMap, &hasGray, &hasColor); currentColorMapP = &localColorMap; } else if (gifScreen.hasGlobalColorMap) { @@ -2077,11 +2077,11 @@ disposeOfReadExtensionsError(const char * const error, static void -convertImages(FILE * const ifP, +convertImages(FILE * const ifP, bool const allImages, - unsigned int const requestedImageSeq, + unsigned int const requestedImageSeq, bool const drainStream, - FILE * const imageOutFileP, + FILE * const imageOutFileP, FILE * const alphaFileP, bool const tolerateBadInput) { /*---------------------------------------------------------------------------- @@ -2089,9 +2089,9 @@ convertImages(FILE * const ifP, it as PNM images to file 'imageOutFileP'. If the images have transparency and 'alphafile' is non-NULL, write PGM alpha masks to file 'alphaFileP'. - 'allImages' means Caller wants all the images in the stream. + 'allImages' means Caller wants all the images in the stream. - 'requestedImageSeq' is meaningful only when 'allImages' is false. It + 'requestedImageSeq' is meaningful only when 'allImages' is false. It is the sequence number of the one image Caller wants from the stream, with the first image being 0. @@ -2138,7 +2138,7 @@ convertImages(FILE * const ifP, if (verbose) pm_message("Reading Image Sequence %u", imageSeq); - convertImage(ifP, !allImages && (imageSeq != requestedImageSeq), + convertImage(ifP, !allImages && (imageSeq != requestedImageSeq), imageOutFileP, alphaFileP, gifScreen, gif89, tolerateBadInput); } @@ -2160,7 +2160,7 @@ main(int argc, const char **argv) { parseCommandLine(argc, argv, &cmdline); verbose = cmdline.verbose; showComment = cmdline.comments; - + ifP = pm_openr(cmdline.inputFilespec); if (cmdline.alphaFileName == NULL) @@ -2173,12 +2173,12 @@ main(int argc, const char **argv) { else imageOutFileP = stdout; - convertImages(ifP, cmdline.allImages, cmdline.imageNum, + convertImages(ifP, cmdline.allImages, cmdline.imageNum, !cmdline.quitearly, imageOutFileP, alphaFileP, cmdline.repair); pm_close(ifP); - if (imageOutFileP != NULL) + if (imageOutFileP != NULL) pm_close(imageOutFileP); if (alphaFileP != NULL) pm_close(alphaFileP); |