2024-04-16 23:44 ftp://ftp.de.debian.org/debian/pool/main/g/gocr/gocr_0.52.orig.tar.gz cppcheck-options: --library=posix --library=gnu --library=bsd --inconclusive --enable=style,information --inline-suppr --template=daca2 --disable=missingInclude --suppress=unmatchedSuppression --check-library --debug-warnings --suppress=autoNoType --suppress=valueFlowBailout --suppress=bailoutUninitVar --suppress=symbolDatabaseWarning -D__GNUC__ --platform=unix64 -j4 platform: Linux-6.1.0-18-amd64-x86_64-with-glibc2.36 python: 3.11.2 client-version: 1.3.56 compiler: g++ (Debian 12.2.0-14) 12.2.0 cppcheck: head 2.13.0 head-info: 8cd680b (2024-04-15 22:43:04 +0200) count: 413 354 elapsed-time: 85.6 449.8 head-timing-info: old-timing-info: head results: gocr-0.52/src/box.c:58:13: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] gocr-0.52/src/box.c:144:24: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] gocr-0.52/src/box.c:248:17: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] gocr-0.52/src/box.c:398:20: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] gocr-0.52/src/box.c:398:7: style: Condition 'dbg' is always false [knownConditionTrueFalse] gocr-0.52/src/box.c:394:41: note: Assignment 'dbg=0', assigned value is 0 gocr-0.52/src/box.c:398:7: note: Condition 'dbg' is always false gocr-0.52/src/box.c:401:12: style: Condition 'dbg>2' is always false [knownConditionTrueFalse] gocr-0.52/src/box.c:394:41: note: Assignment 'dbg=0', assigned value is 0 gocr-0.52/src/box.c:401:12: note: Condition 'dbg>2' is always false gocr-0.52/src/box.c:32:24: style: Parameter 'box1' can be declared as pointer to const [constParameterPointer] gocr-0.52/src/box.c:32:42: style: Parameter 'box2' can be declared as pointer to const [constParameterPointer] gocr-0.52/src/box.c:92:37: style: Parameter 'inibox' can be declared as pointer to const [constParameterPointer] gocr-0.52/src/gocr.c:49:11: error: There is an unknown macro here somewhere. Configuration is required. If version_string is a macro then please configure it. [unknownMacro] gocr-0.52/src/database.c:48:13: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] gocr-0.52/src/database.c:165:13: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] gocr-0.52/src/database.c:237:13: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] gocr-0.52/src/database.c:359:15: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] gocr-0.52/src/jconv.c:94:9: style: Local variable 'x' shadows outer variable [shadowVariable] gocr-0.52/src/jconv.c:38:23: note: Shadowed declaration gocr-0.52/src/jconv.c:94:9: note: Shadow variable gocr-0.52/src/jconv.c:94:12: style: Local variable 'y' shadows outer variable [shadowVariable] gocr-0.52/src/jconv.c:38:26: note: Shadowed declaration gocr-0.52/src/jconv.c:94:12: note: Shadow variable gocr-0.52/src/lines.c:64:13: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] gocr-0.52/src/lines.c:110:15: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] gocr-0.52/src/lines.c:162:13: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] gocr-0.52/src/detect.c:94:3: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable current [valueFlowBailoutIncompleteVar] gocr-0.52/src/detect.c:547:33: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] gocr-0.52/src/detect.c:728:5: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable current [valueFlowBailoutIncompleteVar] gocr-0.52/src/detect.c:846:13: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] gocr-0.52/src/detect.c:869:13: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] gocr-0.52/src/detect.c:1010:3: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable current [valueFlowBailoutIncompleteVar] gocr-0.52/src/detect.c:1048:35: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] gocr-0.52/src/database.c:85:5: warning: Either the condition '!box1' is redundant or there is possible null pointer dereference: box1. [nullPointerRedundantCheck] gocr-0.52/src/database.c:84:8: note: Assuming that condition '!box1' is not redundant gocr-0.52/src/database.c:85:5: note: Null pointer dereference gocr-0.52/src/database.c:86:5: warning: Either the condition '!box1' is redundant or there is possible null pointer dereference: box1. [nullPointerRedundantCheck] gocr-0.52/src/database.c:84:8: note: Assuming that condition '!box1' is not redundant gocr-0.52/src/database.c:86:5: note: Null pointer dereference gocr-0.52/src/database.c:87:5: warning: Either the condition '!box1' is redundant or there is possible null pointer dereference: box1. [nullPointerRedundantCheck] gocr-0.52/src/database.c:84:8: note: Assuming that condition '!box1' is not redundant gocr-0.52/src/database.c:87:5: note: Null pointer dereference gocr-0.52/src/database.c:88:5: warning: Either the condition '!box1' is redundant or there is possible null pointer dereference: box1. [nullPointerRedundantCheck] gocr-0.52/src/database.c:84:8: note: Assuming that condition '!box1' is not redundant gocr-0.52/src/database.c:88:5: note: Null pointer dereference gocr-0.52/src/database.c:89:5: warning: Either the condition '!box1' is redundant or there is possible null pointer dereference: box1. [nullPointerRedundantCheck] gocr-0.52/src/database.c:84:8: note: Assuming that condition '!box1' is not redundant gocr-0.52/src/database.c:89:5: note: Null pointer dereference gocr-0.52/src/database.c:90:5: warning: Either the condition '!box1' is redundant or there is possible null pointer dereference: box1. [nullPointerRedundantCheck] gocr-0.52/src/database.c:84:8: note: Assuming that condition '!box1' is not redundant gocr-0.52/src/database.c:90:5: note: Null pointer dereference gocr-0.52/src/database.c:91:5: warning: Either the condition '!box1' is redundant or there is possible null pointer dereference: box1. [nullPointerRedundantCheck] gocr-0.52/src/database.c:84:8: note: Assuming that condition '!box1' is not redundant gocr-0.52/src/database.c:91:5: note: Null pointer dereference gocr-0.52/src/database.c:92:5: warning: Either the condition '!box1' is redundant or there is possible null pointer dereference: box1. [nullPointerRedundantCheck] gocr-0.52/src/database.c:84:8: note: Assuming that condition '!box1' is not redundant gocr-0.52/src/database.c:92:5: note: Null pointer dereference gocr-0.52/src/database.c:93:5: warning: Either the condition '!box1' is redundant or there is possible null pointer dereference: box1. [nullPointerRedundantCheck] gocr-0.52/src/database.c:84:8: note: Assuming that condition '!box1' is not redundant gocr-0.52/src/database.c:93:5: note: Null pointer dereference gocr-0.52/src/database.c:94:5: warning: Either the condition '!box1' is redundant or there is possible null pointer dereference: box1. [nullPointerRedundantCheck] gocr-0.52/src/database.c:84:8: note: Assuming that condition '!box1' is not redundant gocr-0.52/src/database.c:94:5: note: Null pointer dereference gocr-0.52/src/database.c:95:5: warning: Either the condition '!box1' is redundant or there is possible null pointer dereference: box1. [nullPointerRedundantCheck] gocr-0.52/src/database.c:84:8: note: Assuming that condition '!box1' is not redundant gocr-0.52/src/database.c:95:5: note: Null pointer dereference gocr-0.52/src/database.c:96:5: warning: Either the condition '!box1' is redundant or there is possible null pointer dereference: box1. [nullPointerRedundantCheck] gocr-0.52/src/database.c:84:8: note: Assuming that condition '!box1' is not redundant gocr-0.52/src/database.c:96:5: note: Null pointer dereference gocr-0.52/src/database.c:97:5: warning: Either the condition '!box1' is redundant or there is possible null pointer dereference: box1. [nullPointerRedundantCheck] gocr-0.52/src/database.c:84:8: note: Assuming that condition '!box1' is not redundant gocr-0.52/src/database.c:97:5: note: Null pointer dereference gocr-0.52/src/database.c:275:12: warning: Either the condition 'px' is redundant or there is possible null pointer dereference: px. [nullPointerRedundantCheck] gocr-0.52/src/database.c:274:9: note: Assuming that condition 'px' is not redundant gocr-0.52/src/database.c:275:12: note: Null pointer dereference gocr-0.52/src/database.c:236:20: style: Variable 'yy0' is reassigned a value before the old one has been used. [redundantAssignment] gocr-0.52/src/database.c:221:6: note: yy0 is assigned gocr-0.52/src/database.c:236:20: note: yy0 is overwritten gocr-0.52/src/database.c:235:7: style: Variable 'dx' is reassigned a value before the old one has been used. [redundantAssignment] gocr-0.52/src/database.c:224:29: note: dx is assigned gocr-0.52/src/database.c:235:7: note: dx is overwritten gocr-0.52/src/database.c:236:7: style: Variable 'dy' is reassigned a value before the old one has been used. [redundantAssignment] gocr-0.52/src/database.c:225:29: note: dy is assigned gocr-0.52/src/database.c:236:7: note: dy is overwritten gocr-0.52/src/database.c:304:79: style: Variable 'dx' is reassigned a value before the old one has been used. [redundantAssignment] gocr-0.52/src/database.c:304:56: note: dx is assigned gocr-0.52/src/database.c:304:79: note: dx is overwritten gocr-0.52/src/database.c:305:79: style: Variable 'dy' is reassigned a value before the old one has been used. [redundantAssignment] gocr-0.52/src/database.c:305:56: note: dy is assigned gocr-0.52/src/database.c:305:79: note: dy is overwritten gocr-0.52/src/database.c:323:8: style: Variable 'v1' is reassigned a value before the old one has been used. [redundantAssignment] gocr-0.52/src/database.c:322:8: note: v1 is assigned gocr-0.52/src/database.c:323:8: note: v1 is overwritten gocr-0.52/src/database.c:78:27: style: Argument '0*job->cfg.verbose' to function readpgm is always 0. Constant literal calculation disable/hide variable expression 'job->cfg.verbose'. [knownArgumentHiddenVariableExpression] gocr-0.52/src/database.c:139:39: style: Parameter 'job' can be declared as pointer to const [constParameterPointer] gocr-0.52/src/database.c:295:37: style: Parameter 'box1' can be declared as pointer to const [constParameterPointer] gocr-0.52/src/database.c:296:37: style: Parameter 'box2' can be declared as pointer to const [constParameterPointer] gocr-0.52/src/database.c:351:10: style: Variable 'dd' is assigned a value that is never used. [unreadVariable] gocr-0.52/src/database.c:357:10: style: Variable 'box3' is assigned a value that is never used. [unreadVariable] gocr-0.52/src/list.c:217:13: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] gocr-0.52/src/list.c:125:49: style: Parameter 'data' can be declared as pointer to const [constParameterPointer] gocr-0.52/src/lines.c:325:27: style: Condition 'box2->num_ac>0' is always true [knownConditionTrueFalse] gocr-0.52/src/lines.c:315:25: note: Assuming that condition 'box2->num_ac>0' is not redundant gocr-0.52/src/lines.c:325:27: note: Condition 'box2->num_ac>0' is always true gocr-0.52/src/lines.c:317:15: style: Local variable 'i1' shadows outer variable [shadowVariable] gocr-0.52/src/lines.c:158:7: note: Shadowed declaration gocr-0.52/src/lines.c:317:15: note: Shadow variable gocr-0.52/src/lines.c:108:18: style: Variable 'box2' can be declared as pointer to const [constVariablePointer] gocr-0.52/src/barcode.c:184:18: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] gocr-0.52/src/barcode.c:734:13: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] gocr-0.52/src/barcode.c:877:21: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] gocr-0.52/src/barcode.c:967:13: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] gocr-0.52/src/detect.c:975:6: style: Redundant condition: The condition 'box2->num_ac > 0' is redundant since 'box2->num_ac > 31' is sufficient. [redundantCondition] gocr-0.52/src/detect.c:185:24: style: The if condition is the same as the previous if condition [duplicateCondition] gocr-0.52/src/detect.c:182:24: note: First condition gocr-0.52/src/detect.c:185:24: note: Second condition gocr-0.52/src/detect.c:648:11: style: Condition 'i' is always true [knownConditionTrueFalse] gocr-0.52/src/detect.c:822:11: style: Condition 'nn[pass]' is always true [knownConditionTrueFalse] gocr-0.52/src/detect.c:67:25: style: Parameter 'p' can be declared as pointer to const [constParameterPointer] gocr-0.52/src/detect.c:73:22: style: Variable 'box3' can be declared as pointer to const [constVariablePointer] gocr-0.52/src/detect.c:73:29: style: Variable 'box4' can be declared as pointer to const [constVariablePointer] gocr-0.52/src/detect.c:539:17: style: Variable 'box2' can be declared as pointer to const [constVariablePointer] gocr-0.52/src/detect.c:539:23: style: Variable 'box3' can be declared as pointer to const [constVariablePointer] gocr-0.52/src/detect.c:1004:15: style: Variable 'box4' can be declared as pointer to const [constVariablePointer] gocr-0.52/src/detect.c:1045:22: style: Variable 'box4' can be declared as pointer to const [constVariablePointer] gocr-0.52/src/detect.c:582:15: style: Variable 'y4' is assigned a value that is never used. [unreadVariable] gocr-0.52/src/detect.c:582:21: style: Variable 'y6' is assigned a value that is never used. [unreadVariable] gocr-0.52/src/detect.c:583:15: style: Variable 'x4' is assigned a value that is never used. [unreadVariable] gocr-0.52/src/detect.c:583:18: style: Variable 'x5' is assigned a value that is never used. [unreadVariable] gocr-0.52/src/detect.c:583:21: style: Variable 'y5' is assigned a value that is never used. [unreadVariable] gocr-0.52/src/otsu.c:109:13: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] gocr-0.52/src/otsu.c:281:13: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] gocr-0.52/src/output.c:46:13: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] gocr-0.52/src/output.c:149:19: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] gocr-0.52/src/output.c:171:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] gocr-0.52/src/output.c:212:23: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] gocr-0.52/src/ocr0.c:105:15: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] gocr-0.52/src/ocr0.c:197:15: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] gocr-0.52/src/ocr0.c:861:8: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable ad [valueFlowBailoutIncompleteVar] gocr-0.52/src/ocr0.c:1033:9: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable dbg [valueFlowBailoutIncompleteVar] gocr-0.52/src/ocr0.c:1641:9: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable ab [valueFlowBailoutIncompleteVar] gocr-0.52/src/ocr0.c:2661:9: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable ad [valueFlowBailoutIncompleteVar] gocr-0.52/src/ocr0.c:3414:9: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable ad [valueFlowBailoutIncompleteVar] gocr-0.52/src/ocr0.c:3770:9: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable ad [valueFlowBailoutIncompleteVar] gocr-0.52/src/ocr0.c:5781:8: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable ad [valueFlowBailoutIncompleteVar] gocr-0.52/src/ocr0.c:7637:47: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] gocr-0.52/src/output.c:114:11: style: The if condition is the same as the previous if condition [duplicateCondition] gocr-0.52/src/output.c:113:11: note: First condition gocr-0.52/src/output.c:114:11: note: Second condition gocr-0.52/src/output.c:58:14: style: Condition 'px->num_frames' is always true [knownConditionTrueFalse] gocr-0.52/src/output.c:229:25: style: Condition 'job->res.lines.dx' is always true [knownConditionTrueFalse] gocr-0.52/src/output.c:231:19: style: Condition 'x>=pp->x' is always false [knownConditionTrueFalse] gocr-0.52/src/output.c:227:14: note: Assuming that condition 'ix' is not redundant gocr-0.52/src/output.c:230:8: note: x is assigned 'i' here. gocr-0.52/src/output.c:231:19: note: Condition 'x>=pp->x' is always false gocr-0.52/src/output.c:246:37: style: Condition 'opt&3' is always true [knownConditionTrueFalse] gocr-0.52/src/output.c:171:51: warning: Either the condition '!lc' is redundant or there is possible null pointer dereference: lc. [nullPointerRedundantCheck] gocr-0.52/src/output.c:175:11: note: Assuming that condition '!lc' is not redundant gocr-0.52/src/output.c:171:51: note: Null pointer dereference gocr-0.52/src/output.c:56:11: style: Local variable 'i' shadows outer variable [shadowVariable] gocr-0.52/src/output.c:36:30: note: Shadowed declaration gocr-0.52/src/output.c:56:11: note: Shadow variable gocr-0.52/src/output.c:102:13: style: Local variable 'i' shadows outer variable [shadowVariable] gocr-0.52/src/output.c:36:30: note: Shadowed declaration gocr-0.52/src/output.c:102:13: note: Shadow variable gocr-0.52/src/output.c:141:25: style: Parameter 'box1' can be declared as pointer to const [constParameterPointer] gocr-0.52/src/output.c:141:43: style: Parameter 'box2' can be declared as pointer to const [constParameterPointer] gocr-0.52/src/output.c:143:35: style: Variable 'c1' can be declared as pointer to const [constVariablePointer] gocr-0.52/src/output.c:168:9: style: Variable 'pp' can be declared as pointer to const [constVariablePointer] gocr-0.52/src/output.c:94:9: style: Variable 'n1' is assigned a value that is never used. [unreadVariable] gocr-0.52/src/pcx.c:46:32: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] gocr-0.52/src/pcx.c:141:40: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] gocr-0.52/src/pcx.c:142:6: style: The if condition is the same as the previous if condition [duplicateCondition] gocr-0.52/src/pcx.c:141:27: note: First condition gocr-0.52/src/pcx.c:142:6: note: Second condition gocr-0.52/src/pcx.c:77:40: style: Condition 'b1==192' is always false [knownConditionTrueFalse] gocr-0.52/src/pcx.c:77:10: note: Assignment 'b1=1', assigned value is 1 gocr-0.52/src/pcx.c:77:40: note: Condition 'b1==192' is always false gocr-0.52/src/pcx.c:81:37: portability: Shifting a negative value is technically undefined behaviour [shiftNegativeLHS] gocr-0.52/src/pcx.c:40:20: style: Parameter 'name' can be declared as pointer to const [constParameterPointer] gocr-0.52/src/pcx.c:99:21: style: Parameter 'name' can be declared as pointer to const [constParameterPointer] gocr-0.52/src/pcx.c:100:17: style: Variable 'rest' can be declared as const array [constVariable] gocr-0.52/src/pcx.c:102:44: style: Variable 'pic' can be declared as pointer to const [constVariablePointer] gocr-0.52/src/pcx.c:108:5: style: int result is assigned to long variable. If the variable is long to avoid loss of information, then you have loss of information. [truncLongCastAssignment] gocr-0.52/src/pcx.c:68:49: style: Variable 'pal[i][j]' is assigned a value that is never used. [unreadVariable] gocr-0.52/src/pgm2asc.c:307:13: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] gocr-0.52/src/pgm2asc.c:380:13: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] gocr-0.52/src/pgm2asc.c:448:13: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] gocr-0.52/src/pgm2asc.c:497:13: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] gocr-0.52/src/pgm2asc.c:624:23: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] gocr-0.52/src/pgm2asc.c:859:13: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] gocr-0.52/src/pgm2asc.c:1014:14: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] gocr-0.52/src/pgm2asc.c:1091:14: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] gocr-0.52/src/pgm2asc.c:1177:14: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] gocr-0.52/src/pgm2asc.c:1254:22: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] gocr-0.52/src/pgm2asc.c:1335:13: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] gocr-0.52/src/pgm2asc.c:1466:33: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] gocr-0.52/src/pgm2asc.c:1771:35: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] gocr-0.52/src/pgm2asc.c:1829:17: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] gocr-0.52/src/pgm2asc.c:1934:17: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] gocr-0.52/src/pgm2asc.c:2159:33: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] gocr-0.52/src/pgm2asc.c:2242:13: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] gocr-0.52/src/pgm2asc.c:2310:13: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] gocr-0.52/src/pgm2asc.c:2391:13: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] gocr-0.52/src/pgm2asc.c:2675:31: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] gocr-0.52/src/pgm2asc.c:2737:15: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] gocr-0.52/src/pgm2asc.c:2776:13: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] gocr-0.52/src/pgm2asc.c:3040:13: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] gocr-0.52/src/pgm2asc.c:3142:35: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] gocr-0.52/src/pgm2asc.c:3291:13: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] gocr-0.52/src/barcode.c:0:0: debug: ValueFlow maximum iterations exceeded [valueFlowMaxIterations] gocr-0.52/src/barcode.c:1119:14: style: The if condition is the same as the previous if condition [duplicateCondition] gocr-0.52/src/barcode.c:1098:14: note: First condition gocr-0.52/src/barcode.c:1119:14: note: Second condition gocr-0.52/src/barcode.c:1633:10: style: Condition 'x==y' is always true [knownConditionTrueFalse] gocr-0.52/src/barcode.c:1598:8: note: y is assigned 'num_bars' here. gocr-0.52/src/barcode.c:1598:6: note: x is assigned 'num_bars' here. gocr-0.52/src/barcode.c:1633:10: note: Condition 'x==y' is always true gocr-0.52/src/barcode.c:1598:6: style: Variable 'x' is reassigned a value before the old one has been used. [redundantAssignment] gocr-0.52/src/barcode.c:1589:6: note: x is assigned gocr-0.52/src/barcode.c:1598:6: note: x is overwritten gocr-0.52/src/barcode.c:1598:8: style: Variable 'y' is reassigned a value before the old one has been used. [redundantAssignment] gocr-0.52/src/barcode.c:1590:6: note: y is assigned gocr-0.52/src/barcode.c:1598:8: note: y is overwritten gocr-0.52/src/barcode.c:1044:16: style: Local variable 'nbars' shadows outer variable [shadowVariable] gocr-0.52/src/barcode.c:962:6: note: Shadowed declaration gocr-0.52/src/barcode.c:1044:16: note: Shadow variable gocr-0.52/src/barcode.c:1472:10: style: Local variable 'j' shadows outer variable [shadowVariable] gocr-0.52/src/barcode.c:961:7: note: Shadowed declaration gocr-0.52/src/barcode.c:1472:10: note: Shadow variable gocr-0.52/src/barcode.c:100:27: style: Parameter 'wb' can be declared as pointer to const [constParameterPointer] gocr-0.52/src/barcode.c:224:23: style: Parameter 'wb' can be declared as pointer to const [constParameterPointer] gocr-0.52/src/barcode.c:294:29: style: Parameter 'wb' can be declared as pointer to const [constParameterPointer] gocr-0.52/src/barcode.c:380:16: style: Parameter 'value' can be declared as pointer to const [constParameterPointer] gocr-0.52/src/barcode.c:390:22: style: Parameter 'wb' can be declared as pointer to const [constParameterPointer] gocr-0.52/src/barcode.c:628:22: style: Parameter 'wb' can be declared as pointer to const [constParameterPointer] gocr-0.52/src/barcode.c:849:30: style: Parameter 'rs' can be declared as pointer to const [constParameterPointer] gocr-0.52/src/barcode.c:1460:14: style: Variable 'word_bits' can be declared as const array [constVariable] gocr-0.52/src/barcode.c:1461:14: style: Variable 'word_nchr' can be declared as const array [constVariable] gocr-0.52/src/barcode.c:1462:8: style: Variable 'head_bits' can be declared as pointer to const [constVariablePointer] gocr-0.52/src/barcode.c:1968:18: style: Variable 'crest' can be declared as const array [constVariable] gocr-0.52/src/barcode.c:809:7: style: struct member '_RS::fcr' is never used. [unusedStructMember] gocr-0.52/src/barcode.c:810:7: style: struct member '_RS::prim' is never used. [unusedStructMember] gocr-0.52/src/barcode.c:813:7: style: struct member '_RS::gfpoly' is never used. [unusedStructMember] gocr-0.52/src/barcode.c:101:23: style: Variable 'i3' is assigned a value that is never used. [unreadVariable] gocr-0.52/src/barcode.c:101:33: style: Variable 'i5' is assigned a value that is never used. [unreadVariable] gocr-0.52/src/barcode.c:181:47: style: Variable 'i3' is assigned a value that is never used. [unreadVariable] gocr-0.52/src/barcode.c:669:72: style: Variable 'max_wdiff' is assigned a value that is never used. [unreadVariable] gocr-0.52/src/barcode.c:1619:16: style: Variable 'num_rawbits' is assigned a value that is never used. [unreadVariable] gocr-0.52/src/barcode.c:1718:18: style: Variable 'data' is assigned a value that is never used. [unreadVariable] gocr-0.52/src/pixel.c:488:10: style: Variable 'job' can be declared as pointer to const [constVariablePointer] gocr-0.52/src/pixel.c:512:13: style: Variable 'pix' is assigned a value that is never used. [unreadVariable] gocr-0.52/src/pnm.c:130:23: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] gocr-0.52/src/pnm.c:274:24: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] gocr-0.52/src/pnm.c:306:10: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stdin [valueFlowBailoutIncompleteVar] gocr-0.52/src/pnm.c:444:29: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] gocr-0.52/src/pnm.c:501:12: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] gocr-0.52/src/pnm.c:542:29: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] gocr-0.52/src/pnm.c:525:7: style: Condition 'f1' is always true [knownConditionTrueFalse] gocr-0.52/src/pnm.c:330:12: warning: Either the condition 'f1' is redundant or there is possible null pointer dereference: f1. [nullPointerRedundantCheck] gocr-0.52/src/pnm.c:340:9: note: Assuming that condition 'f1' is not redundant gocr-0.52/src/pnm.c:330:12: note: Null pointer dereference gocr-0.52/src/pnm.c:337:44: warning: Either the condition 'f1' is redundant or there is possible null pointer dereference: f1. [nullPointerRedundantCheck] gocr-0.52/src/pnm.c:340:9: note: Assuming that condition 'f1' is not redundant gocr-0.52/src/pnm.c:337:44: note: Null pointer dereference gocr-0.52/src/pnm.c:540:27: portability: Shifting a negative value is technically undefined behaviour [shiftNegativeLHS] gocr-0.52/src/pnm.c:109:16: style: Variable 'rr' can be declared as pointer to const [constVariablePointer] gocr-0.52/src/pnm.c:295:16: style: Variable 'pip' can be declared as pointer to const [constVariablePointer] gocr-0.52/src/pnm.c:442:20: style: Parameter 'nam' can be declared as pointer to const [constParameterPointer] gocr-0.52/src/pnm.c:530:20: style: Parameter 'nam' can be declared as pointer to const [constParameterPointer] gocr-0.52/src/pnm.c:403:14: style: Variable 'j' is assigned a value that is never used. [unreadVariable] gocr-0.52/src/pnm.c:414:7: style: Variable 'nc' is assigned a value that is never used. [unreadVariable] gocr-0.52/src/pnm.c:475:29: style: Variable 'f1t' is assigned a value that is never used. [unreadVariable] gocr-0.52/src/progress.c:16:44: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stdout [valueFlowBailoutIncompleteVar] gocr-0.52/src/progress.c:65:38: style: Condition 'counter-pc->lastprintcount>=pc->numskip' is always true [knownConditionTrueFalse] gocr-0.52/src/progress.c:54:45: note: Assuming that condition 'counter-pc->lastprintcount<=pc->numskip' is not redundant gocr-0.52/src/progress.c:65:38: note: Condition 'counter-pc->lastprintcount>=pc->numskip' is always true gocr-0.52/src/progress.c:10:24: style: Parameter 'fname' can be declared as pointer to const [constParameterPointer] gocr-0.52/src/progress.c:15:53: style: Variable 'fd' is assigned a value that is never used. [unreadVariable] gocr-0.52/src/remove.c:69:3: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable current [valueFlowBailoutIncompleteVar] gocr-0.52/src/remove.c:210:22: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] gocr-0.52/src/remove.c:313:13: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] gocr-0.52/src/remove.c:480:3: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable current [valueFlowBailoutIncompleteVar] gocr-0.52/src/remove.c:652:13: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] gocr-0.52/src/remove.c:92:9: style: The if condition is the same as the previous if condition [duplicateCondition] gocr-0.52/src/remove.c:91:9: note: First condition gocr-0.52/src/remove.c:92:9: note: Second condition gocr-0.52/src/remove.c:108:9: style: The if condition is the same as the previous if condition [duplicateCondition] gocr-0.52/src/remove.c:107:9: note: First condition gocr-0.52/src/remove.c:108:9: note: Second condition gocr-0.52/src/remove.c:285:29: style: Parameter 'box1' can be declared as pointer to const [constParameterPointer] gocr-0.52/src/remove.c:285:47: style: Parameter 'box2' can be declared as pointer to const [constParameterPointer] gocr-0.52/src/remove.c:296:30: style: Parameter 'box1' can be declared as pointer to const [constParameterPointer] gocr-0.52/src/remove.c:296:48: style: Parameter 'box2' can be declared as pointer to const [constParameterPointer] gocr-0.52/src/remove.c:647:22: style: Variable 'box4' can be declared as pointer to const [constVariablePointer] gocr-0.52/src/tga.c:49:40: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] gocr-0.52/src/tga.c:43:20: style: Parameter 'name' can be declared as pointer to const [constParameterPointer] gocr-0.52/src/unicode.c:49:13: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] gocr-0.52/src/ocr0n.c:1238:26: style: Redundant condition: box1->m3!=0. 'box1->m3==0 || (box1->m3!=0 && !hchar||gchar)' is equivalent to 'box1->m3==0 || !hchar||gchar' [redundantCondition] gocr-0.52/src/ocr0n.c:316:18: style: Variable 'x' is reassigned a value before the old one has been used. [redundantAssignment] gocr-0.52/src/ocr0n.c:301:8: note: x is assigned gocr-0.52/src/ocr0n.c:316:18: note: x is overwritten gocr-0.52/src/ocr0n.c:510:13: style: Variable 'i' is reassigned a value before the old one has been used. [redundantAssignment] gocr-0.52/src/ocr0n.c:498:9: note: i is assigned gocr-0.52/src/ocr0n.c:510:13: note: i is overwritten gocr-0.52/src/ocr0n.c:471:15: style: Local variable 'i1' shadows outer variable [shadowVariable] gocr-0.52/src/ocr0n.c:48:9: note: Shadowed declaration gocr-0.52/src/ocr0n.c:471:15: note: Shadow variable gocr-0.52/src/ocr0n.c:471:19: style: Local variable 'i2' shadows outer variable [shadowVariable] gocr-0.52/src/ocr0n.c:48:12: note: Shadowed declaration gocr-0.52/src/ocr0n.c:471:19: note: Shadow variable gocr-0.52/src/ocr0n.c:471:23: style: Local variable 'i3' shadows outer variable [shadowVariable] gocr-0.52/src/ocr0n.c:48:15: note: Shadowed declaration gocr-0.52/src/ocr0n.c:471:23: note: Shadow variable gocr-0.52/src/ocr0n.c:471:27: style: Local variable 'i4' shadows outer variable [shadowVariable] gocr-0.52/src/ocr0n.c:48:18: note: Shadowed declaration gocr-0.52/src/ocr0n.c:471:27: note: Shadow variable gocr-0.52/src/ocr0n.c:585:11: style: Local variable 'i1' shadows outer variable [shadowVariable] gocr-0.52/src/ocr0n.c:48:9: note: Shadowed declaration gocr-0.52/src/ocr0n.c:585:11: note: Shadow variable gocr-0.52/src/ocr0n.c:585:15: style: Local variable 'i2' shadows outer variable [shadowVariable] gocr-0.52/src/ocr0n.c:48:12: note: Shadowed declaration gocr-0.52/src/ocr0n.c:585:15: note: Shadow variable gocr-0.52/src/ocr0n.c:585:19: style: Local variable 'i3' shadows outer variable [shadowVariable] gocr-0.52/src/ocr0n.c:48:15: note: Shadowed declaration gocr-0.52/src/ocr0n.c:585:19: note: Shadow variable gocr-0.52/src/ocr0n.c:585:23: style: Local variable 'i4' shadows outer variable [shadowVariable] gocr-0.52/src/ocr0n.c:48:18: note: Shadowed declaration gocr-0.52/src/ocr0n.c:585:23: note: Shadow variable gocr-0.52/src/ocr0n.c:713:15: style: Local variable 'i1' shadows outer variable [shadowVariable] gocr-0.52/src/ocr0n.c:48:9: note: Shadowed declaration gocr-0.52/src/ocr0n.c:713:15: note: Shadow variable gocr-0.52/src/ocr0n.c:713:19: style: Local variable 'i2' shadows outer variable [shadowVariable] gocr-0.52/src/ocr0n.c:48:12: note: Shadowed declaration gocr-0.52/src/ocr0n.c:713:19: note: Shadow variable gocr-0.52/src/ocr0n.c:713:23: style: Local variable 'i3' shadows outer variable [shadowVariable] gocr-0.52/src/ocr0n.c:48:15: note: Shadowed declaration gocr-0.52/src/ocr0n.c:713:23: note: Shadow variable gocr-0.52/src/ocr0n.c:713:27: style: Local variable 'i4' shadows outer variable [shadowVariable] gocr-0.52/src/ocr0n.c:48:18: note: Shadowed declaration gocr-0.52/src/ocr0n.c:713:27: note: Shadow variable gocr-0.52/src/ocr0n.c:234:26: style: Argument '1+0*dy/4' to function loop is always 1. Constant literal calculation disable/hide variable expression 'dy'. [knownArgumentHiddenVariableExpression] gocr-0.52/src/ocr0n.c:239:28: style: Argument '1+0*dy/4' to function loop is always 1. Constant literal calculation disable/hide variable expression 'dy'. [knownArgumentHiddenVariableExpression] gocr-0.52/src/ocr0.c:6385:49: warning: Identical condition 'i1>dx/2', second condition is always false [identicalConditionAfterEarlyExit] gocr-0.52/src/ocr0.c:6384:49: note: If condition 'i1>dx/2' is true, the function will return/exit gocr-0.52/src/ocr0.c:6385:49: note: Testing identical condition 'i1>dx/2' gocr-0.52/src/ocr0.c:6387:49: warning: Identical condition 'i3>dx/2', second condition is always false [identicalConditionAfterEarlyExit] gocr-0.52/src/ocr0.c:6386:49: note: If condition 'i3>dx/2' is true, the function will return/exit gocr-0.52/src/ocr0.c:6387:49: note: Testing identical condition 'i3>dx/2' gocr-0.52/src/ocr0.c:6455:12: warning: Identical condition 'y==dy/2', second condition is always false [identicalConditionAfterEarlyExit] gocr-0.52/src/ocr0.c:6454:14: note: If condition 'y==dy/2' is true, the function will return/exit gocr-0.52/src/ocr0.c:6455:12: note: Testing identical condition 'y==dy/2' gocr-0.52/src/ocr0.c:6456:12: warning: Identical condition 'y==dy/2', second condition is always false [identicalConditionAfterEarlyExit] gocr-0.52/src/ocr0.c:6454:14: note: If condition 'y==dy/2' is true, the function will return/exit gocr-0.52/src/ocr0.c:6456:12: note: Testing identical condition 'y==dy/2' gocr-0.52/src/pgm2asc.c:2851:32: style: Redundant condition: pre2. '!pre2 || (pre2 && pre2->c=='.')' is equivalent to '!pre2 || pre2->c=='.'' [redundantCondition] gocr-0.52/src/pgm2asc.c:1222:23: style: Condition 'dy>5' is always false [knownConditionTrueFalse] gocr-0.52/src/pgm2asc.c:1212:48: note: Assuming that condition 'y0+15' is always false gocr-0.52/src/pgm2asc.c:1607:12: style: Condition '0*(box2->x0-pre2->x1>2*mono_em_min+mono_em_min/8&&box2->x0-pre2->x1<=3*mono_em_max-mono_em_max/4&&box2->x1-pre2->x0>4*mono_em_min+mono_em_min/2)' is always false [knownConditionTrueFalse] gocr-0.52/src/pgm2asc.c:2811:13: style: Condition 'box2->c' is always true [knownConditionTrueFalse] gocr-0.52/src/pgm2asc.c:2812:18: style: Condition 'box2->c' is always true [knownConditionTrueFalse] gocr-0.52/src/pgm2asc.c:2818:13: style: Condition 'box2->c' is always true [knownConditionTrueFalse] gocr-0.52/src/pgm2asc.c:2839:13: style: Condition 'box2->num_ac' is always true [knownConditionTrueFalse] gocr-0.52/src/pgm2asc.c:2837:21: note: Assuming that condition 'box2->num_ac<2' is not redundant gocr-0.52/src/pgm2asc.c:2838:27: note: Assuming condition is false gocr-0.52/src/pgm2asc.c:2839:13: note: Condition 'box2->num_ac' is always true gocr-0.52/src/pgm2asc.c:2857:16: style: Condition 'prev' is always true [knownConditionTrueFalse] gocr-0.52/src/pgm2asc.c:382:5: warning: Either the condition '!b' is redundant or there is possible null pointer dereference: b. [nullPointerRedundantCheck] gocr-0.52/src/pgm2asc.c:379:8: note: Assuming that condition '!b' is not redundant gocr-0.52/src/pgm2asc.c:382:5: note: Null pointer dereference gocr-0.52/src/pgm2asc.c:1493:36: warning: Either the condition 'pre1' is redundant or there is possible null pointer dereference: pre1. [nullPointerRedundantCheck] gocr-0.52/src/pgm2asc.c:1501:11: note: Assuming that condition 'pre1' is not redundant gocr-0.52/src/pgm2asc.c:1493:36: note: Null pointer dereference gocr-0.52/src/pgm2asc.c:2876:25: warning: Either the condition 'prev' is redundant or there is possible null pointer dereference: prev. [nullPointerRedundantCheck] gocr-0.52/src/pgm2asc.c:2879:17: note: Assuming that condition 'prev' is not redundant gocr-0.52/src/pgm2asc.c:2876:25: note: Null pointer dereference gocr-0.52/src/pgm2asc.c:1234:6: style: Variable 'dx' is reassigned a value before the old one has been used. [redundantAssignment] gocr-0.52/src/pgm2asc.c:1213:6: note: dx is assigned gocr-0.52/src/pgm2asc.c:1234:6: note: dx is overwritten gocr-0.52/src/pgm2asc.c:1235:6: style: Variable 'dy' is reassigned a value before the old one has been used. [redundantAssignment] gocr-0.52/src/pgm2asc.c:1227:8: note: dy is assigned gocr-0.52/src/pgm2asc.c:1235:6: note: dy is overwritten gocr-0.52/src/pgm2asc.c:1047:17: style: Local variable 'x0' shadows outer argument [shadowArgument] gocr-0.52/src/pgm2asc.c:1004:18: note: Shadowed declaration gocr-0.52/src/pgm2asc.c:1047:17: note: Shadow variable gocr-0.52/src/pgm2asc.c:1047:21: style: Local variable 'x1' shadows outer argument [shadowArgument] gocr-0.52/src/pgm2asc.c:1004:26: note: Shadowed declaration gocr-0.52/src/pgm2asc.c:1047:21: note: Shadow variable gocr-0.52/src/pgm2asc.c:1047:25: style: Local variable 'y0' shadows outer argument [shadowArgument] gocr-0.52/src/pgm2asc.c:1004:34: note: Shadowed declaration gocr-0.52/src/pgm2asc.c:1047:25: note: Shadow variable gocr-0.52/src/pgm2asc.c:1047:29: style: Local variable 'y1' shadows outer argument [shadowArgument] gocr-0.52/src/pgm2asc.c:1004:42: note: Shadowed declaration gocr-0.52/src/pgm2asc.c:1047:29: note: Shadow variable gocr-0.52/src/pgm2asc.c:2171:15: style: Local variable 'd' shadows outer variable [shadowVariable] gocr-0.52/src/pgm2asc.c:2154:11: note: Shadowed declaration gocr-0.52/src/pgm2asc.c:2171:15: note: Shadow variable gocr-0.52/src/pgm2asc.c:2192:19: style: Local variable 'box3' shadows outer variable [shadowVariable] gocr-0.52/src/pgm2asc.c:2154:46: note: Shadowed declaration gocr-0.52/src/pgm2asc.c:2192:19: note: Shadow variable gocr-0.52/src/pgm2asc.c:2193:13: style: Local variable 'dist' shadows outer variable [shadowVariable] gocr-0.52/src/pgm2asc.c:2154:16: note: Shadowed declaration gocr-0.52/src/pgm2asc.c:2193:13: note: Shadow variable gocr-0.52/src/pgm2asc.c:2535:15: style: Local variable 'i1' shadows outer variable [shadowVariable] gocr-0.52/src/pgm2asc.c:2388:14: note: Shadowed declaration gocr-0.52/src/pgm2asc.c:2535:15: note: Shadow variable gocr-0.52/src/pgm2asc.c:2535:19: style: Local variable 'i2' shadows outer variable [shadowVariable] gocr-0.52/src/pgm2asc.c:2388:18: note: Shadowed declaration gocr-0.52/src/pgm2asc.c:2535:19: note: Shadow variable gocr-0.52/src/pgm2asc.c:2970:14: style: Local variable 'box3' shadows outer variable [shadowVariable] gocr-0.52/src/pgm2asc.c:2767:15: note: Shadowed declaration gocr-0.52/src/pgm2asc.c:2970:14: note: Shadow variable gocr-0.52/src/pgm2asc.c:127:17: style: Variable 'pdx' can be declared as pointer to const [constVariablePointer] gocr-0.52/src/pgm2asc.c:127:22: style: Variable 'pdy' can be declared as pointer to const [constVariablePointer] gocr-0.52/src/pgm2asc.c:127:27: style: Variable 'ptx' can be declared as pointer to const [constVariablePointer] gocr-0.52/src/pgm2asc.c:127:32: style: Variable 'pty' can be declared as pointer to const [constVariablePointer] gocr-0.52/src/pgm2asc.c:127:37: style: Variable 'px1' can be declared as pointer to const [constVariablePointer] gocr-0.52/src/pgm2asc.c:159:17: style: Variable 'pdx' can be declared as pointer to const [constVariablePointer] gocr-0.52/src/pgm2asc.c:159:22: style: Variable 'pdy' can be declared as pointer to const [constVariablePointer] gocr-0.52/src/pgm2asc.c:159:27: style: Variable 'ptx' can be declared as pointer to const [constVariablePointer] gocr-0.52/src/pgm2asc.c:159:32: style: Variable 'pty' can be declared as pointer to const [constVariablePointer] gocr-0.52/src/pgm2asc.c:159:37: style: Variable 'px1' can be declared as pointer to const [constVariablePointer] gocr-0.52/src/pgm2asc.c:303:32: style: Parameter 'as' can be declared as pointer to const [constParameterPointer] gocr-0.52/src/pgm2asc.c:1008:18: style: Variable 'buf' can be declared as pointer to const [constVariablePointer] gocr-0.52/src/pgm2asc.c:1085:18: style: Variable 'buf' can be declared as pointer to const [constVariablePointer] gocr-0.52/src/pgm2asc.c:1148:36: style: Parameter 'box1' can be declared as pointer to const [constParameterPointer] gocr-0.52/src/pgm2asc.c:1149:36: style: Parameter 'box2' can be declared as pointer to const [constParameterPointer] gocr-0.52/src/pgm2asc.c:1407:8: style: Variable 'r' can be declared as pointer to const [constVariablePointer] gocr-0.52/src/pgm2asc.c:1408:8: style: Variable 's' can be declared as pointer to const [constVariablePointer] gocr-0.52/src/pgm2asc.c:1464:34: style: Variable 'pre2' can be declared as pointer to const [constVariablePointer] gocr-0.52/src/pgm2asc.c:1768:21: style: Variable 'box4' can be declared as pointer to const [constVariablePointer] gocr-0.52/src/pgm2asc.c:1923:10: style: Variable 'join_reason' can be declared as const array [constVariable] gocr-0.52/src/pgm2asc.c:2153:27: style: Parameter 'pp' can be declared as pointer to const [constParameterPointer] gocr-0.52/src/pgm2asc.c:2672:27: style: Variable 'box4' can be declared as pointer to const [constVariablePointer] gocr-0.52/src/pgm2asc.c:2763:9: style: Variable 'l_vowel' can be declared as pointer to const [constVariablePointer] gocr-0.52/src/pgm2asc.c:2765:9: style: Variable 'l_nonvo' can be declared as pointer to const [constVariablePointer] gocr-0.52/src/pgm2asc.c:2767:36: style: Variable 'next' can be declared as pointer to const [constVariablePointer] gocr-0.52/src/pgm2asc.c:2767:57: style: Variable 'pre4' can be declared as pointer to const [constVariablePointer] gocr-0.52/src/pgm2asc.c:3025:34: style: Variable 'box4' can be declared as pointer to const [constVariablePointer] gocr-0.52/src/pgm2asc.c:3221:15: style: Variable 'boxa' can be declared as pointer to const [constVariablePointer] gocr-0.52/src/pgm2asc.c:3221:22: style: Variable 'boxb' can be declared as pointer to const [constVariablePointer] gocr-0.52/src/pgm2asc.c:3396:28: style: Variable 'box2' can be declared as pointer to const [constVariablePointer] gocr-0.52/src/pgm2asc.c:3441:28: style: Variable 'box2' can be declared as pointer to const [constVariablePointer] gocr-0.52/src/pgm2asc.c:1456:15: style: Variable 'numdists' is assigned a value that is never used. [unreadVariable] gocr-0.52/src/pgm2asc.c:1459:39: style: Variable 'char_width_min' is assigned a value that is never used. [unreadVariable] gocr-0.52/src/pgm2asc.c:1459:60: style: Variable 'char_width_max' is assigned a value that is never used. [unreadVariable] gocr-0.52/src/pgm2asc.c:1460:18: style: Variable 'mono_em_min' is assigned a value that is never used. [unreadVariable] gocr-0.52/src/pgm2asc.c:1461:18: style: Variable 'mono_em_max' is assigned a value that is never used. [unreadVariable] gocr-0.52/src/pgm2asc.c:1920:14: style: Variable 'do_join' is assigned a value that is never used. [unreadVariable] gocr-0.52/src/pgm2asc.c:2918:33: style: Variable 'have_hexhi' is assigned a value that is never used. [unreadVariable] gocr-0.52/src/pgm2asc.c:3041:14: style: Variable 'dy' is assigned a value that is never used. [unreadVariable] gocr-0.52/src/pgm2asc.c:3049:7: style: Variable 'cc' is assigned a value that is never used. [unreadVariable] gocr-0.52/src/pgm2asc.c:3052:26: style: Variable 'ypitch' is assigned a value that is never used. [unreadVariable] gocr-0.52/src/ocr0.c:7076:15: warning: Identical inner 'if' condition is always true. [identicalInnerCondition] gocr-0.52/src/ocr0.c:7068:17: note: outer condition: dx>5 gocr-0.52/src/ocr0.c:7076:15: note: identical inner condition: dx>5 gocr-0.52/src/ocr0.c:2259:28: warning: Logical conjunction always evaluates to false: j < 1 && j > 2. [incorrectLogicOperator] gocr-0.52/src/ocr0.c:2265:28: warning: Logical conjunction always evaluates to false: j < 1 && j > 2. [incorrectLogicOperator] gocr-0.52/src/ocr0.c:2346:28: warning: Logical conjunction always evaluates to false: j < 1 && j > 2. [incorrectLogicOperator] gocr-0.52/src/ocr0.c:2351:28: warning: Logical conjunction always evaluates to false: j < 1 && j > 2. [incorrectLogicOperator] gocr-0.52/src/ocr0.c:2706:15: warning: Logical conjunction always evaluates to false: i < 3 && i > 5. [incorrectLogicOperator] gocr-0.52/src/ocr0.c:459:10: style: The if condition is the same as the previous if condition [duplicateCondition] gocr-0.52/src/ocr0.c:458:10: note: First condition gocr-0.52/src/ocr0.c:459:10: note: Second condition gocr-0.52/src/ocr0.c:1006:14: style: The if condition is the same as the previous if condition [duplicateCondition] gocr-0.52/src/ocr0.c:1005:14: note: First condition gocr-0.52/src/ocr0.c:1006:14: note: Second condition gocr-0.52/src/ocr0.c:2469:14: style: The if condition is the same as the previous if condition [duplicateCondition] gocr-0.52/src/ocr0.c:2461:14: note: First condition gocr-0.52/src/ocr0.c:2469:14: note: Second condition gocr-0.52/src/ocr0.c:4101:12: style: The if condition is the same as the previous if condition [duplicateCondition] gocr-0.52/src/ocr0.c:4100:12: note: First condition gocr-0.52/src/ocr0.c:4101:12: note: Second condition gocr-0.52/src/ocr0.c:538:8: style: Variable 'i' is reassigned a value before the old one has been used. [redundantAssignment] gocr-0.52/src/ocr0.c:537:20: note: i is assigned gocr-0.52/src/ocr0.c:538:8: note: i is overwritten gocr-0.52/src/ocr0.c:1453:9: style: Variable 'i1' is reassigned a value before the old one has been used. [redundantAssignment] gocr-0.52/src/ocr0.c:1421:8: note: i1 is assigned gocr-0.52/src/ocr0.c:1453:9: note: i1 is overwritten gocr-0.52/src/ocr0.c:1455:9: style: Variable 'i3' is reassigned a value before the old one has been used. [redundantAssignment] gocr-0.52/src/ocr0.c:1435:8: note: i3 is assigned gocr-0.52/src/ocr0.c:1455:9: note: i3 is overwritten gocr-0.52/src/ocr0.c:1746:8: style: Variable 'j' is reassigned a value before the old one has been used. [redundantAssignment] gocr-0.52/src/ocr0.c:1727:16: note: j is assigned gocr-0.52/src/ocr0.c:1746:8: note: j is overwritten gocr-0.52/src/ocr0.c:2620:9: style: Variable 'i1' is reassigned a value before the old one has been used. [redundantAssignment] gocr-0.52/src/ocr0.c:2599:27: note: i1 is assigned gocr-0.52/src/ocr0.c:2620:9: note: i1 is overwritten gocr-0.52/src/ocr0.c:2949:10: style: Variable 'j' is reassigned a value before the old one has been used. [redundantAssignment] gocr-0.52/src/ocr0.c:2947:56: note: j is assigned gocr-0.52/src/ocr0.c:2949:10: note: j is overwritten gocr-0.52/src/ocr0.c:3112:8: style: Variable 'y' is reassigned a value before the old one has been used. [redundantAssignment] gocr-0.52/src/ocr0.c:3108:8: note: y is assigned gocr-0.52/src/ocr0.c:3112:8: note: y is overwritten gocr-0.52/src/ocr0.c:3130:12: style: Variable 'y' is reassigned a value before the old one has been used. [redundantAssignment] gocr-0.52/src/ocr0.c:3126:8: note: y is assigned gocr-0.52/src/ocr0.c:3130:12: note: y is overwritten gocr-0.52/src/ocr0.c:3945:9: style: Variable 'yb' is reassigned a value before the old one has been used. [redundantAssignment] gocr-0.52/src/ocr0.c:3939:9: note: yb is assigned gocr-0.52/src/ocr0.c:3945:9: note: yb is overwritten gocr-0.52/src/ocr0.c:4493:10: style: Variable 'x' is reassigned a value before the old one has been used. [redundantAssignment] gocr-0.52/src/ocr0.c:4492:10: note: x is assigned gocr-0.52/src/ocr0.c:4493:10: note: x is overwritten gocr-0.52/src/ocr0.c:6938:9: style: Variable 'j' is reassigned a value before the old one has been used. [redundantAssignment] gocr-0.52/src/ocr0.c:6927:53: note: j is assigned gocr-0.52/src/ocr0.c:6938:9: note: j is overwritten gocr-0.52/src/ocr0.c:7076:9: style: Statements following 'break' will never be executed. [unreachableCode] gocr-0.52/src/ocr0.c:7230:37: style:inconclusive: Function 'ocr0' argument 2 names different: declaration 'b' definition 'bp'. [funcArgNamesDifferent] gocr-0.52/src/ocr0.h:30:38: note: Function 'ocr0' argument 2 names different: declaration 'b' definition 'bp'. gocr-0.52/src/ocr0.c:7230:37: note: Function 'ocr0' argument 2 names different: declaration 'b' definition 'bp'. gocr-0.52/src/ocr0.c:289:18: style: Local variable 'x' shadows outer variable [shadowVariable] gocr-0.52/src/ocr0.c:235:13: note: Shadowed declaration gocr-0.52/src/ocr0.c:289:18: note: Shadow variable gocr-0.52/src/ocr0.c:648:10: style: Local variable 'i1' shadows outer variable [shadowVariable] gocr-0.52/src/ocr0.c:471:10: note: Shadowed declaration gocr-0.52/src/ocr0.c:648:10: note: Shadow variable gocr-0.52/src/ocr0.c:648:14: style: Local variable 'i2' shadows outer variable [shadowVariable] gocr-0.52/src/ocr0.c:471:13: note: Shadowed declaration gocr-0.52/src/ocr0.c:648:14: note: Shadow variable gocr-0.52/src/ocr0.c:1658:10: style: Local variable 'd' shadows outer variable [shadowVariable] gocr-0.52/src/ocr0.c:1637:12: note: Shadowed declaration gocr-0.52/src/ocr0.c:1658:10: note: Shadow variable gocr-0.52/src/ocr0.c:5661:15: style: Local variable 'i1' shadows outer variable [shadowVariable] gocr-0.52/src/ocr0.c:5259:18: note: Shadowed declaration gocr-0.52/src/ocr0.c:5661:15: note: Shadow variable gocr-0.52/src/ocr0.c:5661:19: style: Local variable 'i2' shadows outer variable [shadowVariable] gocr-0.52/src/ocr0.c:5259:21: note: Shadowed declaration gocr-0.52/src/ocr0.c:5661:19: note: Shadow variable gocr-0.52/src/ocr0.c:5661:23: style: Local variable 'i3' shadows outer variable [shadowVariable] gocr-0.52/src/ocr0.c:5259:24: note: Shadowed declaration gocr-0.52/src/ocr0.c:5661:23: note: Shadow variable gocr-0.52/src/ocr0.c:5661:27: style: Local variable 'i4' shadows outer variable [shadowVariable] gocr-0.52/src/ocr0.c:5259:27: note: Shadowed declaration gocr-0.52/src/ocr0.c:5661:27: note: Shadow variable gocr-0.52/src/ocr0.c:5661:31: style: Local variable 'i5' shadows outer variable [shadowVariable] gocr-0.52/src/ocr0.c:5259:30: note: Shadowed declaration gocr-0.52/src/ocr0.c:5661:31: note: Shadow variable gocr-0.52/src/ocr0.c:7024:13: style: Local variable 'x' shadows outer variable [shadowVariable] gocr-0.52/src/ocr0.c:6658:14: note: Shadowed declaration gocr-0.52/src/ocr0.c:7024:13: note: Shadow variable gocr-0.52/src/ocr0.c:7024:15: style: Local variable 'y' shadows outer variable [shadowVariable] gocr-0.52/src/ocr0.c:6658:16: note: Shadowed declaration gocr-0.52/src/ocr0.c:7024:15: note: Shadow variable gocr-0.52/src/ocr0.c:7039:13: style: Local variable 'i' shadows outer variable [shadowVariable] gocr-0.52/src/ocr0.c:6658:8: note: Shadowed declaration gocr-0.52/src/ocr0.c:7039:13: note: Shadow variable gocr-0.52/src/ocr0.c:205:11: style: Variable 'd' is assigned a value that is never used. [unreadVariable] gocr-0.52/src/ocr0.c:282:9: style: Variable 'x' is assigned a value that is never used. [unreadVariable] gocr-0.52/src/ocr0.c:282:14: style: Variable 'y' is assigned a value that is never used. [unreadVariable] gocr-0.52/src/ocr0.c:646:12: style: Variable 'd' is assigned a value that is never used. [unreadVariable] gocr-0.52/src/ocr0.c:679:8: style: Variable 'i2' is assigned a value that is never used. [unreadVariable] gocr-0.52/src/ocr0.c:680:8: style: Variable 'i4' is assigned a value that is never used. [unreadVariable] gocr-0.52/src/ocr0.c:741:38: style: Variable 'handwritten' is assigned a value that is never used. [unreadVariable] gocr-0.52/src/ocr0.c:749:12: style: Variable 'd' is assigned a value that is never used. [unreadVariable] gocr-0.52/src/ocr0.c:775:68: style: Variable 'i3' is assigned a value that is never used. [unreadVariable] gocr-0.52/src/ocr0.c:808:20: style: Variable 'handwritten' is assigned a value that is never used. [unreadVariable] gocr-0.52/src/ocr0.c:864:12: style: Variable 'd' is assigned a value that is never used. [unreadVariable] gocr-0.52/src/ocr0.c:933:9: style: Variable 'i0' is assigned a value that is never used. [unreadVariable] gocr-0.52/src/ocr0.c:951:9: style: Variable 'i3' is assigned a value that is never used. [unreadVariable] gocr-0.52/src/ocr0.c:1037:12: style: Variable 'd' is assigned a value that is never used. [unreadVariable] gocr-0.52/src/ocr0.c:1117:15: style: Variable 'd' is assigned a value that is never used. [unreadVariable] gocr-0.52/src/ocr0.c:1177:12: style: Variable 'd' is assigned a value that is never used. [unreadVariable] gocr-0.52/src/ocr0.c:1202:8: style: Variable 'i1' is assigned a value that is never used. [unreadVariable] gocr-0.52/src/ocr0.c:1215:8: style: Variable 'i7' is assigned a value that is never used. [unreadVariable] gocr-0.52/src/ocr0.c:1216:8: style: Variable 'i3' is assigned a value that is never used. [unreadVariable] gocr-0.52/src/ocr0.c:1217:8: style: Variable 'i5' is assigned a value that is never used. [unreadVariable] gocr-0.52/src/ocr0.c:1305:12: style: Variable 'd' is assigned a value that is never used. [unreadVariable] gocr-0.52/src/ocr0.c:1434:8: style: Variable 'i7' is assigned a value that is never used. [unreadVariable] gocr-0.52/src/ocr0.c:1520:12: style: Variable 'd' is assigned a value that is never used. [unreadVariable] gocr-0.52/src/ocr0.c:1540:27: style: Variable 'i1' is assigned a value that is never used. [unreadVariable] gocr-0.52/src/ocr0.c:1577:26: style: Variable 'i' is assigned a value that is never used. [unreadVariable] gocr-0.52/src/ocr0.c:1656:12: style: Variable 'd' is assigned a value that is never used. [unreadVariable] gocr-0.52/src/ocr0.c:1686:8: style: Variable 'i8' is assigned a value that is never used. [unreadVariable] gocr-0.52/src/ocr0.c:1689:8: style: Variable 'i4' is assigned a value that is never used. [unreadVariable] gocr-0.52/src/ocr0.c:1690:8: style: Variable 'i6' is assigned a value that is never used. [unreadVariable] gocr-0.52/src/ocr0.c:1934:12: style: Variable 'd' is assigned a value that is never used. [unreadVariable] gocr-0.52/src/ocr0.c:2213:14: style: Variable 'bc' is assigned a value that is never used. [unreadVariable] gocr-0.52/src/ocr0.c:2217:12: style: Variable 'd' is assigned a value that is never used. [unreadVariable] gocr-0.52/src/ocr0.c:2208:14: style: Unused variable: i3 [unusedVariable] gocr-0.52/src/ocr0.c:2208:17: style: Unused variable: i4 [unusedVariable] gocr-0.52/src/ocr0.c:2326:12: style: Variable 'd' is assigned a value that is never used. [unreadVariable] gocr-0.52/src/ocr0.c:2337:54: style: Variable 'i2' is assigned a value that is never used. [unreadVariable] gocr-0.52/src/ocr0.c:2378:14: style: Variable 'bc' is assigned a value that is never used. [unreadVariable] gocr-0.52/src/ocr0.c:2381:12: style: Variable 'd' is assigned a value that is never used. [unreadVariable] gocr-0.52/src/ocr0.c:2579:12: style: Variable 'd' is assigned a value that is never used. [unreadVariable] gocr-0.52/src/ocr0.c:2664:12: style: Variable 'd' is assigned a value that is never used. [unreadVariable] gocr-0.52/src/ocr0.c:2752:22: style: Variable 'i' is assigned a value that is never used. [unreadVariable] gocr-0.52/src/ocr0.c:2850:9: style: Variable 'i5' is assigned a value that is never used. [unreadVariable] gocr-0.52/src/ocr0.c:2851:9: style: Variable 'i6' is assigned a value that is never used. [unreadVariable] gocr-0.52/src/ocr0.c:2864:9: style: Variable 'i3' is assigned a value that is never used. [unreadVariable] gocr-0.52/src/ocr0.c:2865:9: style: Variable 'i4' is assigned a value that is never used. [unreadVariable] gocr-0.52/src/ocr0.c:2929:12: style: Variable 'd' is assigned a value that is never used. [unreadVariable] gocr-0.52/src/ocr0.c:3098:12: style: Variable 'd' is assigned a value that is never used. [unreadVariable] gocr-0.52/src/ocr0.c:3349:12: style: Variable 'd' is assigned a value that is never used. [unreadVariable] gocr-0.52/src/ocr0.c:3415:14: style: Variable 'bc' is assigned a value that is never used. [unreadVariable] gocr-0.52/src/ocr0.c:3419:12: style: Variable 'd' is assigned a value that is never used. [unreadVariable] gocr-0.52/src/ocr0.c:3490:37: style: Variable 'i2' is assigned a value that is never used. [unreadVariable] gocr-0.52/src/ocr0.c:3535:37: style: Variable 'i4' is assigned a value that is never used. [unreadVariable] gocr-0.52/src/ocr0.c:3586:14: style: Variable 'bc' is assigned a value that is never used. [unreadVariable] gocr-0.52/src/ocr0.c:3600:8: style: Variable 'i1' is assigned a value that is never used. [unreadVariable] gocr-0.52/src/ocr0.c:3600:11: style: Variable 'i2' is assigned a value that is never used. [unreadVariable] gocr-0.52/src/ocr0.c:3654:12: style: Variable 'd' is assigned a value that is never used. [unreadVariable] gocr-0.52/src/ocr0.c:3664:8: style: Variable 'i1' is assigned a value that is never used. [unreadVariable] gocr-0.52/src/ocr0.c:3664:11: style: Variable 'i2' is assigned a value that is never used. [unreadVariable] gocr-0.52/src/ocr0.c:3771:14: style: Variable 'bc' is assigned a value that is never used. [unreadVariable] gocr-0.52/src/ocr0.c:3774:12: style: Variable 'd' is assigned a value that is never used. [unreadVariable] gocr-0.52/src/ocr0.c:3920:67: style: Variable 'handwritten' is assigned a value that is never used. [unreadVariable] gocr-0.52/src/ocr0.c:4021:12: style: Variable 'd' is assigned a value that is never used. [unreadVariable] gocr-0.52/src/ocr0.c:4026:60: style: Variable 'handwritten' is assigned a value that is never used. [unreadVariable] gocr-0.52/src/ocr0.c:4027:60: style: Variable 'handwritten' is assigned a value that is never used. [unreadVariable] gocr-0.52/src/ocr0.c:4345:12: style: Variable 'd' is assigned a value that is never used. [unreadVariable] gocr-0.52/src/ocr0.c:4420:14: style: Variable 'bc' is assigned a value that is never used. [unreadVariable] gocr-0.52/src/ocr0.c:4423:12: style: Variable 'd' is assigned a value that is never used. [unreadVariable] gocr-0.52/src/ocr0.c:4616:13: style: Variable 'd' is assigned a value that is never used. [unreadVariable] gocr-0.52/src/ocr0.c:4916:14: style: Variable 'bc' is assigned a value that is never used. [unreadVariable] gocr-0.52/src/ocr0.c:4919:12: style: Variable 'd' is assigned a value that is never used. [unreadVariable] gocr-0.52/src/ocr0.c:5058:14: style: Variable 'bc' is assigned a value that is never used. [unreadVariable] gocr-0.52/src/ocr0.c:5061:12: style: Variable 'd' is assigned a value that is never used. [unreadVariable] gocr-0.52/src/ocr0.c:5209:12: style: Variable 'd' is assigned a value that is never used. [unreadVariable] gocr-0.52/src/ocr0.c:5659:12: style: Variable 'd' is assigned a value that is never used. [unreadVariable] gocr-0.52/src/ocr0.c:6139:12: style: Variable 'd' is assigned a value that is never used. [unreadVariable] gocr-0.52/src/ocr0.c:6447:13: style: Variable 'i' is assigned a value that is never used. [unreadVariable] gocr-0.52/src/ocr0.c:6455:22: style: Variable 'ad' is assigned a value that is never used. [unreadVariable] gocr-0.52/src/ocr0.c:6558:12: style: Variable 'd' is assigned a value that is never used. [unreadVariable] gocr-0.52/src/ocr0.c:6575:15: style: Variable 'dbg[2]' is assigned a value that is never used. [unreadVariable] gocr-0.52/src/ocr0.c:6583:12: style: Variable 'd' is assigned a value that is never used. [unreadVariable] gocr-0.52/src/ocr0.c:6635:12: style: Variable 'd' is assigned a value that is never used. [unreadVariable] gocr-0.52/src/ocr0.c:6799:60: style: Variable 'i4' is assigned a value that is never used. [unreadVariable] gocr-0.52/src/ocr0.c:6934:28: style: Variable 'i1' is assigned a value that is never used. [unreadVariable] gocr-0.52/src/ocr0.c:6937:31: style: Variable 'i3' is assigned a value that is never used. [unreadVariable] gocr-0.52/src/ocr0.c:7182:12: style: Variable 'd' is assigned a value that is never used. [unreadVariable] gocr-0.52/src/ocr0.c:7586:56: style: Variable 'dy' is assigned a value that is never used. [unreadVariable] diff: head gocr-0.52/src/barcode.c:734:13: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] head gocr-0.52/src/barcode.c:877:21: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] head gocr-0.52/src/barcode.c:967:13: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] head gocr-0.52/src/box.c:144:24: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] head gocr-0.52/src/box.c:248:17: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] head gocr-0.52/src/box.c:398:20: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] 2.13.0 gocr-0.52/src/box.c:416:12: style: Condition 'dbg>2' is always false [knownConditionTrueFalse] gocr-0.52/src/box.c:394:41: note: Assignment 'dbg=0', assigned value is 0 gocr-0.52/src/box.c:416:12: note: Condition 'dbg>2' is always false 2.13.0 gocr-0.52/src/box.c:418:14: style: Condition 'dbg>1' is always false [knownConditionTrueFalse] gocr-0.52/src/box.c:394:41: note: Assignment 'dbg=0', assigned value is 0 gocr-0.52/src/box.c:418:14: note: Condition 'dbg>1' is always false 2.13.0 gocr-0.52/src/box.c:443:12: style: Condition 'dbg>2' is always false [knownConditionTrueFalse] gocr-0.52/src/box.c:394:41: note: Assignment 'dbg=0', assigned value is 0 gocr-0.52/src/box.c:443:12: note: Condition 'dbg>2' is always false 2.13.0 gocr-0.52/src/box.c:465:18: style: Condition 'dbg>1' is always false [knownConditionTrueFalse] gocr-0.52/src/box.c:394:41: note: Assignment 'dbg=0', assigned value is 0 gocr-0.52/src/box.c:465:18: note: Condition 'dbg>1' is always false 2.13.0 gocr-0.52/src/box.c:493:10: style: Condition 'dbg>2' is always false [knownConditionTrueFalse] gocr-0.52/src/box.c:394:41: note: Assignment 'dbg=0', assigned value is 0 gocr-0.52/src/box.c:455:50: note: Assuming condition is false gocr-0.52/src/box.c:493:10: note: Condition 'dbg>2' is always false head gocr-0.52/src/database.c:165:13: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] head gocr-0.52/src/database.c:237:13: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] head gocr-0.52/src/database.c:359:15: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] head gocr-0.52/src/detect.c:1010:3: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable current [valueFlowBailoutIncompleteVar] head gocr-0.52/src/detect.c:1048:35: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] head gocr-0.52/src/detect.c:547:33: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] head gocr-0.52/src/detect.c:728:5: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable current [valueFlowBailoutIncompleteVar] head gocr-0.52/src/detect.c:846:13: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] head gocr-0.52/src/detect.c:869:13: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] head gocr-0.52/src/lines.c:110:15: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] head gocr-0.52/src/lines.c:162:13: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] head gocr-0.52/src/ocr0.c:1033:9: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable dbg [valueFlowBailoutIncompleteVar] head gocr-0.52/src/ocr0.c:1641:9: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable ab [valueFlowBailoutIncompleteVar] head gocr-0.52/src/ocr0.c:197:15: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] head gocr-0.52/src/ocr0.c:2661:9: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable ad [valueFlowBailoutIncompleteVar] head gocr-0.52/src/ocr0.c:3414:9: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable ad [valueFlowBailoutIncompleteVar] head gocr-0.52/src/ocr0.c:3770:9: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable ad [valueFlowBailoutIncompleteVar] head gocr-0.52/src/ocr0.c:5781:8: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable ad [valueFlowBailoutIncompleteVar] head gocr-0.52/src/ocr0.c:7637:47: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] head gocr-0.52/src/ocr0.c:861:8: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable ad [valueFlowBailoutIncompleteVar] head gocr-0.52/src/otsu.c:281:13: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] head gocr-0.52/src/output.c:149:19: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] head gocr-0.52/src/output.c:171:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] head gocr-0.52/src/output.c:212:23: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] head gocr-0.52/src/pcx.c:102:44: style: Variable 'pic' can be declared as pointer to const [constVariablePointer] head gocr-0.52/src/pcx.c:141:40: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] head gocr-0.52/src/pgm2asc.c:1014:14: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] head gocr-0.52/src/pgm2asc.c:1091:14: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] head gocr-0.52/src/pgm2asc.c:1177:14: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] head gocr-0.52/src/pgm2asc.c:1254:22: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] head gocr-0.52/src/pgm2asc.c:1335:13: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] head gocr-0.52/src/pgm2asc.c:1466:33: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] head gocr-0.52/src/pgm2asc.c:1771:35: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] head gocr-0.52/src/pgm2asc.c:1829:17: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] head gocr-0.52/src/pgm2asc.c:1934:17: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] head gocr-0.52/src/pgm2asc.c:2159:33: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] head gocr-0.52/src/pgm2asc.c:2242:13: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] head gocr-0.52/src/pgm2asc.c:2310:13: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] head gocr-0.52/src/pgm2asc.c:2391:13: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] head gocr-0.52/src/pgm2asc.c:2675:31: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] head gocr-0.52/src/pgm2asc.c:2737:15: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] head gocr-0.52/src/pgm2asc.c:2776:13: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] 2.13.0 gocr-0.52/src/pgm2asc.c:2874:16: style: Condition 'prev' is always true [knownConditionTrueFalse] head gocr-0.52/src/pgm2asc.c:2876:25: warning: Either the condition 'prev' is redundant or there is possible null pointer dereference: prev. [nullPointerRedundantCheck] gocr-0.52/src/pgm2asc.c:2879:17: note: Assuming that condition 'prev' is not redundant gocr-0.52/src/pgm2asc.c:2876:25: note: Null pointer dereference 2.13.0 gocr-0.52/src/pgm2asc.c:2878:17: style: Condition 'next' is always true [knownConditionTrueFalse] 2.13.0 gocr-0.52/src/pgm2asc.c:2879:17: style: Condition 'prev' is always true [knownConditionTrueFalse] head gocr-0.52/src/pgm2asc.c:3040:13: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] head gocr-0.52/src/pgm2asc.c:3142:35: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] head gocr-0.52/src/pgm2asc.c:3291:13: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] head gocr-0.52/src/pgm2asc.c:380:13: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] head gocr-0.52/src/pgm2asc.c:448:13: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] head gocr-0.52/src/pgm2asc.c:497:13: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] head gocr-0.52/src/pgm2asc.c:624:23: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] head gocr-0.52/src/pgm2asc.c:859:13: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] head gocr-0.52/src/pnm.c:274:24: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] head gocr-0.52/src/pnm.c:295:16: style: Variable 'pip' can be declared as pointer to const [constVariablePointer] head gocr-0.52/src/pnm.c:306:10: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stdin [valueFlowBailoutIncompleteVar] head gocr-0.52/src/pnm.c:444:29: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] head gocr-0.52/src/pnm.c:501:12: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] head gocr-0.52/src/pnm.c:542:29: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] head gocr-0.52/src/remove.c:210:22: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] head gocr-0.52/src/remove.c:313:13: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] head gocr-0.52/src/remove.c:480:3: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable current [valueFlowBailoutIncompleteVar] head gocr-0.52/src/remove.c:652:13: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] DONE