From: DRC Date: Mon, 13 Nov 2017 22:00:35 +0000 (-0600) Subject: TJBench/TJUnitTest: Don't ignore mistyped args X-Git-Tag: 1.5.3~13 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=f3ad13e3d8d77eda682131d49004ff1fb1ebeeae;p=libjpeg-turbo TJBench/TJUnitTest: Don't ignore mistyped args --- diff --git a/ChangeLog.md b/ChangeLog.md index 8ecd04f..10738b4 100644 --- a/ChangeLog.md +++ b/ChangeLog.md @@ -14,6 +14,10 @@ testing BufferedImage encoding/decoding on big endian systems. is selected along with the `-crop` option. That option does not currently work with other output image formats. +4. TJBench (both C and Java versions) will now display usage information if any +command-line argument is unrecognized. This prevents the program from silently +ignoring typos. + 1.5.2 ===== diff --git a/java/TJBench.java b/java/TJBench.java index 5185d65..ddc414c 100644 --- a/java/TJBench.java +++ b/java/TJBench.java @@ -721,37 +721,37 @@ class TJBench { if (argv[i].equalsIgnoreCase("-tile")) { doTile = true; xformOpt |= TJTransform.OPT_CROP; } - if (argv[i].equalsIgnoreCase("-fastupsample")) { + else if (argv[i].equalsIgnoreCase("-fastupsample")) { System.out.println("Using fast upsampling code\n"); flags |= TJ.FLAG_FASTUPSAMPLE; } - if (argv[i].equalsIgnoreCase("-fastdct")) { + else if (argv[i].equalsIgnoreCase("-fastdct")) { System.out.println("Using fastest DCT/IDCT algorithm\n"); flags |= TJ.FLAG_FASTDCT; } - if (argv[i].equalsIgnoreCase("-accuratedct")) { + else if (argv[i].equalsIgnoreCase("-accuratedct")) { System.out.println("Using most accurate DCT/IDCT algorithm\n"); flags |= TJ.FLAG_ACCURATEDCT; } - if (argv[i].equalsIgnoreCase("-rgb")) + else if (argv[i].equalsIgnoreCase("-rgb")) pf = TJ.PF_RGB; - if (argv[i].equalsIgnoreCase("-rgbx")) + else if (argv[i].equalsIgnoreCase("-rgbx")) pf = TJ.PF_RGBX; - if (argv[i].equalsIgnoreCase("-bgr")) + else if (argv[i].equalsIgnoreCase("-bgr")) pf = TJ.PF_BGR; - if (argv[i].equalsIgnoreCase("-bgrx")) + else if (argv[i].equalsIgnoreCase("-bgrx")) pf = TJ.PF_BGRX; - if (argv[i].equalsIgnoreCase("-xbgr")) + else if (argv[i].equalsIgnoreCase("-xbgr")) pf = TJ.PF_XBGR; - if (argv[i].equalsIgnoreCase("-xrgb")) + else if (argv[i].equalsIgnoreCase("-xrgb")) pf = TJ.PF_XRGB; - if (argv[i].equalsIgnoreCase("-bottomup")) + else if (argv[i].equalsIgnoreCase("-bottomup")) flags |= TJ.FLAG_BOTTOMUP; - if (argv[i].equalsIgnoreCase("-quiet")) + else if (argv[i].equalsIgnoreCase("-quiet")) quiet = 1; - if (argv[i].equalsIgnoreCase("-qq")) + else if (argv[i].equalsIgnoreCase("-qq")) quiet = 2; - if (argv[i].equalsIgnoreCase("-scale") && i < argv.length - 1) { + else if (argv[i].equalsIgnoreCase("-scale") && i < argv.length - 1) { int temp1 = 0, temp2 = 0; boolean match = false, scanned = true; Scanner scanner = new Scanner(argv[++i]).useDelimiter("/"); @@ -774,25 +774,25 @@ class TJBench { } else usage(); } - if (argv[i].equalsIgnoreCase("-hflip")) + else if (argv[i].equalsIgnoreCase("-hflip")) xformOp = TJTransform.OP_HFLIP; - if (argv[i].equalsIgnoreCase("-vflip")) + else if (argv[i].equalsIgnoreCase("-vflip")) xformOp = TJTransform.OP_VFLIP; - if (argv[i].equalsIgnoreCase("-transpose")) + else if (argv[i].equalsIgnoreCase("-transpose")) xformOp = TJTransform.OP_TRANSPOSE; - if (argv[i].equalsIgnoreCase("-transverse")) + else if (argv[i].equalsIgnoreCase("-transverse")) xformOp = TJTransform.OP_TRANSVERSE; - if (argv[i].equalsIgnoreCase("-rot90")) + else if (argv[i].equalsIgnoreCase("-rot90")) xformOp = TJTransform.OP_ROT90; - if (argv[i].equalsIgnoreCase("-rot180")) + else if (argv[i].equalsIgnoreCase("-rot180")) xformOp = TJTransform.OP_ROT180; - if (argv[i].equalsIgnoreCase("-rot270")) + else if (argv[i].equalsIgnoreCase("-rot270")) xformOp = TJTransform.OP_ROT270; - if (argv[i].equalsIgnoreCase("-grayscale")) + else if (argv[i].equalsIgnoreCase("-grayscale")) xformOpt |= TJTransform.OPT_GRAY; - if (argv[i].equalsIgnoreCase("-nooutput")) + else if (argv[i].equalsIgnoreCase("-nooutput")) xformOpt |= TJTransform.OPT_NOOUTPUT; - if (argv[i].equalsIgnoreCase("-benchtime") && i < argv.length - 1) { + else if (argv[i].equalsIgnoreCase("-benchtime") && i < argv.length - 1) { double temp = -1; try { temp = Double.parseDouble(argv[++i]); @@ -802,11 +802,11 @@ class TJBench { else usage(); } - if (argv[i].equalsIgnoreCase("-yuv")) { + else if (argv[i].equalsIgnoreCase("-yuv")) { System.out.println("Testing YUV planar encoding/decoding\n"); doYUV = true; } - if (argv[i].equalsIgnoreCase("-yuvpad") && i < argv.length - 1) { + else if (argv[i].equalsIgnoreCase("-yuvpad") && i < argv.length - 1) { int temp = 0; try { temp = Integer.parseInt(argv[++i]); @@ -814,7 +814,7 @@ class TJBench { if (temp >= 1) yuvpad = temp; } - if (argv[i].equalsIgnoreCase("-subsamp") && i < argv.length - 1) { + else if (argv[i].equalsIgnoreCase("-subsamp") && i < argv.length - 1) { i++; if (argv[i].toUpperCase().startsWith("G")) subsamp = TJ.SAMP_GRAY; @@ -829,11 +829,11 @@ class TJBench { else if (argv[i].equals("411")) subsamp = TJ.SAMP_411; } - if (argv[i].equalsIgnoreCase("-componly")) + else if (argv[i].equalsIgnoreCase("-componly")) compOnly = true; - if (argv[i].equalsIgnoreCase("-nowrite")) + else if (argv[i].equalsIgnoreCase("-nowrite")) write = false; - if (argv[i].equalsIgnoreCase("-warmup") && i < argv.length - 1) { + else if (argv[i].equalsIgnoreCase("-warmup") && i < argv.length - 1) { double temp = -1; try { temp = Double.parseDouble(argv[++i]); @@ -844,8 +844,7 @@ class TJBench { } else usage(); } - if (argv[i].equalsIgnoreCase("-?")) - usage(); + else usage(); } } diff --git a/java/TJUnitTest.java b/java/TJUnitTest.java index 24be8eb..47ff7bb 100644 --- a/java/TJUnitTest.java +++ b/java/TJUnitTest.java @@ -902,15 +902,13 @@ public class TJUnitTest { for (int i = 0; i < argv.length; i++) { if (argv[i].equalsIgnoreCase("-yuv")) doYUV = true; - if (argv[i].equalsIgnoreCase("-noyuvpad")) + else if (argv[i].equalsIgnoreCase("-noyuvpad")) pad = 1; - if (argv[i].substring(0, 1).equalsIgnoreCase("-h") || - argv[i].equalsIgnoreCase("-?")) - usage(); - if (argv[i].equalsIgnoreCase("-bi")) { + else if (argv[i].equalsIgnoreCase("-bi")) { bi = true; testName = "javabitest"; - } + } else + usage(); } if (doYUV) _4byteFormats[4] = -1; diff --git a/tjbench.c b/tjbench.c index 21b297c..dfe6601 100644 --- a/tjbench.c +++ b/tjbench.c @@ -835,32 +835,32 @@ int main(int argc, char *argv[]) { dotile=1; xformopt|=TJXOPT_CROP; } - if(!strcasecmp(argv[i], "-fastupsample")) + else if(!strcasecmp(argv[i], "-fastupsample")) { printf("Using fast upsampling code\n\n"); flags|=TJFLAG_FASTUPSAMPLE; } - if(!strcasecmp(argv[i], "-fastdct")) + else if(!strcasecmp(argv[i], "-fastdct")) { printf("Using fastest DCT/IDCT algorithm\n\n"); flags|=TJFLAG_FASTDCT; } - if(!strcasecmp(argv[i], "-accuratedct")) + else if(!strcasecmp(argv[i], "-accuratedct")) { printf("Using most accurate DCT/IDCT algorithm\n\n"); flags|=TJFLAG_ACCURATEDCT; } - if(!strcasecmp(argv[i], "-rgb")) pf=TJPF_RGB; - if(!strcasecmp(argv[i], "-rgbx")) pf=TJPF_RGBX; - if(!strcasecmp(argv[i], "-bgr")) pf=TJPF_BGR; - if(!strcasecmp(argv[i], "-bgrx")) pf=TJPF_BGRX; - if(!strcasecmp(argv[i], "-xbgr")) pf=TJPF_XBGR; - if(!strcasecmp(argv[i], "-xrgb")) pf=TJPF_XRGB; - if(!strcasecmp(argv[i], "-cmyk")) pf=TJPF_CMYK; - if(!strcasecmp(argv[i], "-bottomup")) flags|=TJFLAG_BOTTOMUP; - if(!strcasecmp(argv[i], "-quiet")) quiet=1; - if(!strcasecmp(argv[i], "-qq")) quiet=2; - if(!strcasecmp(argv[i], "-scale") && i0.0) benchtime=temp; else usage(argv[0]); } - if(!strcasecmp(argv[i], "-warmup") && i=0.0) warmup=temp; else usage(argv[0]); printf("Warmup time = %.1f seconds\n\n", warmup); } - if(!strcmp(argv[i], "-?")) usage(argv[0]); - if(!strcasecmp(argv[i], "-alloc")) flags&=(~TJFLAG_NOREALLOC); - if(!strcasecmp(argv[i], "-bmp")) ext="bmp"; - if(!strcasecmp(argv[i], "-yuv")) + else if(!strcasecmp(argv[i], "-alloc")) flags&=(~TJFLAG_NOREALLOC); + else if(!strcasecmp(argv[i], "-bmp")) ext="bmp"; + else if(!strcasecmp(argv[i], "-yuv")) { printf("Testing YUV planar encoding/decoding\n\n"); doyuv=1; } - if(!strcasecmp(argv[i], "-yuvpad") && i=1) yuvpad=temp; } - if(!strcasecmp(argv[i], "-subsamp") && i