Skip to content

Commit 754f95c

Browse files
Fix INSPECT (#550)
1 parent 9f3a81d commit 754f95c

File tree

5 files changed

+62
-4
lines changed

5 files changed

+62
-4
lines changed

libcobj/app/src/main/java/jp/osscons/opensourcecobol/libcobj/common/CobolInspect.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -169,11 +169,13 @@ private static void common(AbstractCobolField f1, AbstractCobolField f2, int typ
169169
public static void init(AbstractCobolField var, int replacing) {
170170
CobolInspect.inspectVarCopy = var;
171171
CobolInspect.inspectVar = CobolInspect.inspectVarCopy;
172-
if (inspectVar.getAttribute().isTypeNumericDisplay()) {
172+
CobolInspect.inspectSign = var.getSign();
173+
174+
if (var.getAttribute().isTypeNumericDisplay()) {
173175
inspectVar.putSign(1);
174176
}
177+
175178
CobolInspect.inspectReplacing = replacing;
176-
CobolInspect.inspectSign = var.getSign();
177179
CobolInspect.inspectSize = var.getFieldSize();
178180
CobolInspect.inspectData = var.getDataStorage();
179181
CobolInspect.inspectStart = -1;

tests/Makefile.am

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -224,7 +224,8 @@ misc_DEPENDENCIES = \
224224
misc.src/perform-until-div.at \
225225
misc.src/search-occurs-depending.at \
226226
misc.src/fix-subtract.at \
227-
misc.src/display-numeric-NUMERIC-class.at
227+
misc.src/display-numeric-NUMERIC-class.at \
228+
misc.src/display-inspect-sign.at
228229

229230
EXTRA_DIST = $(srcdir)/package.m4 \
230231
$(TESTS) \

tests/Makefile.in

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -763,7 +763,8 @@ misc_DEPENDENCIES = \
763763
misc.src/perform-until-div.at \
764764
misc.src/search-occurs-depending.at \
765765
misc.src/fix-subtract.at \
766-
misc.src/display-numeric-NUMERIC-class.at
766+
misc.src/display-numeric-NUMERIC-class.at \
767+
misc.src/display-inspect-sign.at
767768

768769
EXTRA_DIST = $(srcdir)/package.m4 \
769770
$(TESTS) \

tests/misc.at

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,3 +54,4 @@ m4_include([perform-until-div.at])
5454
m4_include([search-occurs-depending.at])
5555
m4_include([fix-subtract.at])
5656
m4_include([display-numeric-NUMERIC-class.at])
57+
m4_include([display-inspect-sign.at])
Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
AT_SETUP([DISPLAY values after INSPECT])
2+
3+
AT_DATA([prog.cbl], [
4+
IDENTIFICATION DIVISION.
5+
PROGRAM-ID. prog.
6+
DATA DIVISION.
7+
WORKING-STORAGE SECTION.
8+
01 DATA1
9+
02 DATA-SIGN PIC S9(5).
10+
01 DATA2
11+
02 DATA-SIGN-LEADING PIC S9(5) SIGN IS LEADING.
12+
01 DATA3
13+
02 DATA-SIGN-LEADING-SEPARATE PIC S9(5) SIGN LEADING SEPARATE.
14+
01 DATA4
15+
02 DATA-SIGN-TRAILING-SEPARATE PIC S9(5) SIGN TRAILING SEPARATE.
16+
PROCEDURE DIVISION.
17+
MAIN-RTN.
18+
MOVE -12345 TO DATA-SIGN.
19+
DISPLAY DATA1.
20+
INSPECT DATA-SIGN REPLACING ALL ' ' BY '0'.
21+
DISPLAY DATA1.
22+
23+
MOVE -12345 TO DATA-SIGN-LEADING.
24+
DISPLAY DATA2.
25+
INSPECT DATA-SIGN-LEADING REPLACING ALL ' ' BY '0'.
26+
DISPLAY DATA2.
27+
28+
MOVE -12345 TO DATA-SIGN-LEADING-SEPARATE.
29+
DISPLAY DATA3.
30+
INSPECT DATA-SIGN-LEADING-SEPARATE REPLACING ALL ' ' BY '0'.
31+
DISPLAY DATA3.
32+
33+
MOVE -12345 TO DATA-SIGN-TRAILING-SEPARATE.
34+
DISPLAY DATA4.
35+
INSPECT DATA-SIGN-TRAILING-SEPARATE REPLACING ALL ' ' BY '0'.
36+
DISPLAY DATA4.
37+
STOP RUN.
38+
])
39+
40+
41+
AT_CHECK([${COMPILE} prog.cbl])
42+
AT_CHECK([${RUN_MODULE} prog], [0],
43+
[1234u
44+
1234u
45+
q2345
46+
q2345
47+
-12345
48+
-12345
49+
12345-
50+
12345-
51+
])
52+
53+
AT_CLEANUP

0 commit comments

Comments
 (0)