Skip to content

Commit d64f773

Browse files
committed
parser-json-shchk: read event's column properly
The code originally read the information from `byte-column` field while ShellCheck provided the information in the `column` field. Fixes: #138 Closes: #139
1 parent 2d8f403 commit d64f773

6 files changed

+86
-1
lines changed

Diff for: src/lib/parser-json-shchk.cc

+1-1
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ static bool scReadEvent(DefEvent *pEvt, const pt::ptree &evtNode)
4545
// read location
4646
pEvt->fileName = valueOf<string>(evtNode, "file", "<unknown>");
4747
pEvt->line = valueOf<int> (evtNode, "line");
48-
pEvt->column = valueOf<int> (evtNode, "byte-column");
48+
pEvt->column = valueOf<int> (evtNode, "column");
4949

5050
// read message
5151
pEvt->msg = valueOf<string>(evtNode, "message", "<unknown>");

Diff for: tests/csgrep/0098-json-parser-shellcheck-stdout.txt

+48
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
{
1010
"file_name": "tests/test-lib.sh",
1111
"line": 1,
12+
"column": 1,
1213
"event": "error[SC2148]",
1314
"message": "Tips depend on target shell and yours is unknown. Add a shebang or a 'shell' directive.",
1415
"verbosity_level": 0
@@ -24,6 +25,7 @@
2425
{
2526
"file_name": "tests/cssort/sync-diff.sh",
2627
"line": 2,
28+
"column": 8,
2729
"event": "warning[SC2155]",
2830
"message": "Declare and assign separately to avoid masking return values.",
2931
"verbosity_level": 0
@@ -39,6 +41,7 @@
3941
{
4042
"file_name": "tests/cssort/sync-diff.sh",
4143
"line": 5,
44+
"column": 8,
4245
"event": "info[SC2086]",
4346
"message": "Double quote to prevent globbing and word splitting.",
4447
"verbosity_level": 0
@@ -54,6 +57,7 @@
5457
{
5558
"file_name": "tests/cssort/sync-diff.sh",
5659
"line": 7,
60+
"column": 31,
5761
"event": "info[SC2086]",
5862
"message": "Double quote to prevent globbing and word splitting.",
5963
"verbosity_level": 0
@@ -69,6 +73,7 @@
6973
{
7074
"file_name": "tests/cssort/sync-diff.sh",
7175
"line": 9,
76+
"column": 33,
7277
"event": "info[SC2086]",
7378
"message": "Double quote to prevent globbing and word splitting.",
7479
"verbosity_level": 0
@@ -84,6 +89,7 @@
8489
{
8590
"file_name": "tests/cssort/sync-diff.sh",
8691
"line": 9,
92+
"column": 56,
8793
"event": "info[SC2086]",
8894
"message": "Double quote to prevent globbing and word splitting.",
8995
"verbosity_level": 0
@@ -99,6 +105,7 @@
99105
{
100106
"file_name": "tests/cssort/sync-diff.sh",
101107
"line": 10,
108+
"column": 33,
102109
"event": "info[SC2086]",
103110
"message": "Double quote to prevent globbing and word splitting.",
104111
"verbosity_level": 0
@@ -114,6 +121,7 @@
114121
{
115122
"file_name": "tests/cssort/sync-diff.sh",
116123
"line": 10,
124+
"column": 56,
117125
"event": "info[SC2086]",
118126
"message": "Double quote to prevent globbing and word splitting.",
119127
"verbosity_level": 0
@@ -129,6 +137,7 @@
129137
{
130138
"file_name": "tests/cslinker/0002-xml-parser/runtest.sh",
131139
"line": 6,
140+
"column": 3,
132141
"event": "info[SC1091]",
133142
"message": "Not following: ./../../test-lib.sh was not specified as input (see shellcheck -x).",
134143
"verbosity_level": 0
@@ -144,6 +153,7 @@
144153
{
145154
"file_name": "tests/cslinker/0002-xml-parser/runtest.sh",
146155
"line": 6,
156+
"column": 3,
147157
"event": "info[SC2086]",
148158
"message": "Double quote to prevent globbing and word splitting.",
149159
"verbosity_level": 0
@@ -159,6 +169,7 @@
159169
{
160170
"file_name": "tests/cslinker/0001-smoke/runtest.sh",
161171
"line": 6,
172+
"column": 3,
162173
"event": "info[SC1091]",
163174
"message": "Not following: ./../../test-lib.sh was not specified as input (see shellcheck -x).",
164175
"verbosity_level": 0
@@ -174,6 +185,7 @@
174185
{
175186
"file_name": "tests/cslinker/0001-smoke/runtest.sh",
176187
"line": 6,
188+
"column": 3,
177189
"event": "info[SC2086]",
178190
"message": "Double quote to prevent globbing and word splitting.",
179191
"verbosity_level": 0
@@ -189,6 +201,7 @@
189201
{
190202
"file_name": "tests/csgrep/sync.sh",
191203
"line": 1,
204+
"column": 1,
192205
"event": "error[SC1071]",
193206
"message": "ShellCheck only supports sh/bash/dash/ksh scripts. Sorry!",
194207
"verbosity_level": 0
@@ -204,6 +217,7 @@
204217
{
205218
"file_name": "tests/csdiff/sync-diff.sh",
206219
"line": 2,
220+
"column": 8,
207221
"event": "warning[SC2155]",
208222
"message": "Declare and assign separately to avoid masking return values.",
209223
"verbosity_level": 0
@@ -219,6 +233,7 @@
219233
{
220234
"file_name": "tests/csdiff/sync-diff.sh",
221235
"line": 2,
236+
"column": 16,
222237
"event": "style[SC2006]",
223238
"message": "Use $(...) notation instead of legacy backticked `...`.",
224239
"verbosity_level": 0
@@ -234,6 +249,7 @@
234249
{
235250
"file_name": "tests/csdiff/sync-diff.sh",
236251
"line": 5,
252+
"column": 8,
237253
"event": "info[SC2086]",
238254
"message": "Double quote to prevent globbing and word splitting.",
239255
"verbosity_level": 0
@@ -249,6 +265,7 @@
249265
{
250266
"file_name": "tests/csdiff/sync-diff.sh",
251267
"line": 10,
268+
"column": 24,
252269
"event": "info[SC2086]",
253270
"message": "Double quote to prevent globbing and word splitting.",
254271
"verbosity_level": 0
@@ -264,6 +281,7 @@
264281
{
265282
"file_name": "tests/csdiff/sync-diff.sh",
266283
"line": 10,
284+
"column": 39,
267285
"event": "info[SC2086]",
268286
"message": "Double quote to prevent globbing and word splitting.",
269287
"verbosity_level": 0
@@ -279,6 +297,7 @@
279297
{
280298
"file_name": "tests/csdiff/sync-diff.sh",
281299
"line": 10,
300+
"column": 56,
282301
"event": "info[SC2086]",
283302
"message": "Double quote to prevent globbing and word splitting.",
284303
"verbosity_level": 0
@@ -294,6 +313,7 @@
294313
{
295314
"file_name": "tests/csdiff/sync-diff.sh",
296315
"line": 11,
316+
"column": 24,
297317
"event": "info[SC2086]",
298318
"message": "Double quote to prevent globbing and word splitting.",
299319
"verbosity_level": 0
@@ -309,6 +329,7 @@
309329
{
310330
"file_name": "tests/csdiff/sync-diff.sh",
311331
"line": 11,
332+
"column": 39,
312333
"event": "info[SC2086]",
313334
"message": "Double quote to prevent globbing and word splitting.",
314335
"verbosity_level": 0
@@ -324,6 +345,7 @@
324345
{
325346
"file_name": "tests/csdiff/sync-diff.sh",
326347
"line": 11,
348+
"column": 56,
327349
"event": "info[SC2086]",
328350
"message": "Double quote to prevent globbing and word splitting.",
329351
"verbosity_level": 0
@@ -339,6 +361,7 @@
339361
{
340362
"file_name": "tests/csdiff/sync-diff.sh",
341363
"line": 12,
364+
"column": 24,
342365
"event": "info[SC2086]",
343366
"message": "Double quote to prevent globbing and word splitting.",
344367
"verbosity_level": 0
@@ -354,6 +377,7 @@
354377
{
355378
"file_name": "tests/csdiff/sync-diff.sh",
356379
"line": 12,
380+
"column": 39,
357381
"event": "info[SC2086]",
358382
"message": "Double quote to prevent globbing and word splitting.",
359383
"verbosity_level": 0
@@ -369,6 +393,7 @@
369393
{
370394
"file_name": "tests/csdiff/sync-diff.sh",
371395
"line": 12,
396+
"column": 56,
372397
"event": "info[SC2086]",
373398
"message": "Double quote to prevent globbing and word splitting.",
374399
"verbosity_level": 0
@@ -384,6 +409,7 @@
384409
{
385410
"file_name": "tests/csdiff/sync-diff.sh",
386411
"line": 13,
412+
"column": 24,
387413
"event": "info[SC2086]",
388414
"message": "Double quote to prevent globbing and word splitting.",
389415
"verbosity_level": 0
@@ -399,6 +425,7 @@
399425
{
400426
"file_name": "tests/csdiff/sync-diff.sh",
401427
"line": 13,
428+
"column": 39,
402429
"event": "info[SC2086]",
403430
"message": "Double quote to prevent globbing and word splitting.",
404431
"verbosity_level": 0
@@ -414,6 +441,7 @@
414441
{
415442
"file_name": "tests/csdiff/sync-diff.sh",
416443
"line": 13,
444+
"column": 56,
417445
"event": "info[SC2086]",
418446
"message": "Double quote to prevent globbing and word splitting.",
419447
"verbosity_level": 0
@@ -429,6 +457,7 @@
429457
{
430458
"file_name": "tests/csdiff/sync-diff.sh",
431459
"line": 25,
460+
"column": 25,
432461
"event": "info[SC2086]",
433462
"message": "Double quote to prevent globbing and word splitting.",
434463
"verbosity_level": 0
@@ -444,6 +473,7 @@
444473
{
445474
"file_name": "tests/csdiff/sync-diff.sh",
446475
"line": 25,
476+
"column": 44,
447477
"event": "info[SC2086]",
448478
"message": "Double quote to prevent globbing and word splitting.",
449479
"verbosity_level": 0
@@ -459,6 +489,7 @@
459489
{
460490
"file_name": "tests/csdiff/sync-diff.sh",
461491
"line": 25,
492+
"column": 59,
462493
"event": "info[SC2086]",
463494
"message": "Double quote to prevent globbing and word splitting.",
464495
"verbosity_level": 0
@@ -474,6 +505,7 @@
474505
{
475506
"file_name": "tests/csdiff/sync-diff.sh",
476507
"line": 25,
508+
"column": 76,
477509
"event": "info[SC2086]",
478510
"message": "Double quote to prevent globbing and word splitting.",
479511
"verbosity_level": 0
@@ -489,6 +521,7 @@
489521
{
490522
"file_name": "tests/csdiff/sync-diff.sh",
491523
"line": 26,
524+
"column": 25,
492525
"event": "info[SC2086]",
493526
"message": "Double quote to prevent globbing and word splitting.",
494527
"verbosity_level": 0
@@ -504,6 +537,7 @@
504537
{
505538
"file_name": "tests/csdiff/sync-diff.sh",
506539
"line": 26,
540+
"column": 44,
507541
"event": "info[SC2086]",
508542
"message": "Double quote to prevent globbing and word splitting.",
509543
"verbosity_level": 0
@@ -519,6 +553,7 @@
519553
{
520554
"file_name": "tests/csdiff/sync-diff.sh",
521555
"line": 26,
556+
"column": 59,
522557
"event": "info[SC2086]",
523558
"message": "Double quote to prevent globbing and word splitting.",
524559
"verbosity_level": 0
@@ -534,6 +569,7 @@
534569
{
535570
"file_name": "tests/csdiff/sync-diff.sh",
536571
"line": 26,
572+
"column": 76,
537573
"event": "info[SC2086]",
538574
"message": "Double quote to prevent globbing and word splitting.",
539575
"verbosity_level": 0
@@ -549,6 +585,7 @@
549585
{
550586
"file_name": "tests/csdiff/sync-diff.sh",
551587
"line": 27,
588+
"column": 25,
552589
"event": "info[SC2086]",
553590
"message": "Double quote to prevent globbing and word splitting.",
554591
"verbosity_level": 0
@@ -564,6 +601,7 @@
564601
{
565602
"file_name": "tests/csdiff/sync-diff.sh",
566603
"line": 27,
604+
"column": 44,
567605
"event": "info[SC2086]",
568606
"message": "Double quote to prevent globbing and word splitting.",
569607
"verbosity_level": 0
@@ -579,6 +617,7 @@
579617
{
580618
"file_name": "tests/csdiff/sync-diff.sh",
581619
"line": 27,
620+
"column": 59,
582621
"event": "info[SC2086]",
583622
"message": "Double quote to prevent globbing and word splitting.",
584623
"verbosity_level": 0
@@ -594,6 +633,7 @@
594633
{
595634
"file_name": "tests/csdiff/sync-diff.sh",
596635
"line": 27,
636+
"column": 76,
597637
"event": "info[SC2086]",
598638
"message": "Double quote to prevent globbing and word splitting.",
599639
"verbosity_level": 0
@@ -609,6 +649,7 @@
609649
{
610650
"file_name": "tests/csdiff/sync-diff.sh",
611651
"line": 28,
652+
"column": 25,
612653
"event": "info[SC2086]",
613654
"message": "Double quote to prevent globbing and word splitting.",
614655
"verbosity_level": 0
@@ -624,6 +665,7 @@
624665
{
625666
"file_name": "tests/csdiff/sync-diff.sh",
626667
"line": 28,
668+
"column": 44,
627669
"event": "info[SC2086]",
628670
"message": "Double quote to prevent globbing and word splitting.",
629671
"verbosity_level": 0
@@ -639,6 +681,7 @@
639681
{
640682
"file_name": "tests/csdiff/sync-diff.sh",
641683
"line": 28,
684+
"column": 59,
642685
"event": "info[SC2086]",
643686
"message": "Double quote to prevent globbing and word splitting.",
644687
"verbosity_level": 0
@@ -654,6 +697,7 @@
654697
{
655698
"file_name": "tests/csdiff/sync-diff.sh",
656699
"line": 28,
700+
"column": 76,
657701
"event": "info[SC2086]",
658702
"message": "Double quote to prevent globbing and word splitting.",
659703
"verbosity_level": 0
@@ -669,6 +713,7 @@
669713
{
670714
"file_name": "tests/csdiff/diff-misc/sync.sh",
671715
"line": 1,
716+
"column": 1,
672717
"event": "error[SC1071]",
673718
"message": "ShellCheck only supports sh/bash/dash/ksh scripts. Sorry!",
674719
"verbosity_level": 0
@@ -684,6 +729,7 @@
684729
{
685730
"file_name": "make-srpm.sh",
686731
"line": 41,
732+
"column": 8,
687733
"event": "style[SC2001]",
688734
"message": "See if you can use ${variable//search/replace} instead.",
689735
"verbosity_level": 0
@@ -699,6 +745,7 @@
699745
{
700746
"file_name": "make-srpm.sh",
701747
"line": 46,
748+
"column": 8,
702749
"event": "style[SC2001]",
703750
"message": "See if you can use ${variable//search/replace} instead.",
704751
"verbosity_level": 0
@@ -714,6 +761,7 @@
714761
{
715762
"file_name": "make-srpm.sh",
716763
"line": 58,
764+
"column": 19,
717765
"event": "warning[SC2064]",
718766
"message": "Use single quotes, otherwise this expands now rather than when signalled.",
719767
"verbosity_level": 0

Diff for: tests/csgrep/0114-json-sc-column-args.txt

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
--mode=json

0 commit comments

Comments
 (0)