From b79e6b442c79be0cd52dd0980863960ca11999fb Mon Sep 17 00:00:00 2001 From: kio-watatanabe Date: Tue, 27 Dec 2022 16:17:25 +0900 Subject: [PATCH 1/3] Fix CobolFile.java --- .../libcobj/file/CobolFile.java | 57 +++++++++---------- 1 file changed, 28 insertions(+), 29 deletions(-) diff --git a/libcobj/src/jp/osscons/opensourcecobol/libcobj/file/CobolFile.java b/libcobj/src/jp/osscons/opensourcecobol/libcobj/file/CobolFile.java index 387616c2..e4a4053b 100644 --- a/libcobj/src/jp/osscons/opensourcecobol/libcobj/file/CobolFile.java +++ b/libcobj/src/jp/osscons/opensourcecobol/libcobj/file/CobolFile.java @@ -165,7 +165,7 @@ public class CobolFile { protected static String file_open_name; protected static byte[] file_open_buff = new byte[1024]; - protected static final String[] prefix = {"DD_", "dd_", ""}; + protected static final String[] prefix = { "DD_", "dd_", "" }; protected static final int NUM_PREFIX = prefix.length; protected static int eop_status = 0; @@ -174,16 +174,16 @@ public class CobolFile { private static List file_cache = new ArrayList(); protected static int[] status_exception = { - 0, - CobolExceptionId.COB_EC_I_O_AT_END, - CobolExceptionId.COB_EC_I_O_INVALID_KEY, - CobolExceptionId.COB_EC_I_O_PERMANENT_ERROR, - CobolExceptionId.COB_EC_I_O_LOGIC_ERROR, - CobolExceptionId.COB_EC_I_O_RECORD_OPERATION, - CobolExceptionId.COB_EC_I_O_FILE_SHARING, - CobolExceptionId.COB_EC_I_O, - CobolExceptionId.COB_EC_I_O, - CobolExceptionId.COB_EC_I_O_IMP + 0, + CobolExceptionId.COB_EC_I_O_AT_END, + CobolExceptionId.COB_EC_I_O_INVALID_KEY, + CobolExceptionId.COB_EC_I_O_PERMANENT_ERROR, + CobolExceptionId.COB_EC_I_O_LOGIC_ERROR, + CobolExceptionId.COB_EC_I_O_RECORD_OPERATION, + CobolExceptionId.COB_EC_I_O_FILE_SHARING, + CobolExceptionId.COB_EC_I_O, + CobolExceptionId.COB_EC_I_O, + CobolExceptionId.COB_EC_I_O_IMP }; protected String select_name; public byte[] file_status; @@ -229,7 +229,8 @@ public void setLinorkeyptr(Linage ptr) { this.linorkeyptr = ptr; } - public CobolFile() {} + public CobolFile() { + } public CobolFile( String select_name, @@ -286,7 +287,8 @@ public CobolFile( } /** - * libcob/fileio.cのsave_statusの実装 RETURN_STATUSマクロは実装できないため,本メソッドの呼び出し後の次の文はreturn;を書くこと. + * libcob/fileio.cのsave_statusの実装 + * RETURN_STATUSマクロは実装できないため,本メソッドの呼び出し後の次の文はreturn;を書くこと. * * @param status * @param fnstatus @@ -771,22 +773,19 @@ public int open_(String filename, int mode, int sharing) throws IOException { fp = FileChannel.open(Paths.get(filename), StandardOpenOption.READ); break; case COB_OPEN_OUTPUT: - fp = - FileChannel.open( - Paths.get(filename), - StandardOpenOption.WRITE, - StandardOpenOption.CREATE, - StandardOpenOption.TRUNCATE_EXISTING); + fp = FileChannel.open( + Paths.get(filename), + StandardOpenOption.WRITE, + StandardOpenOption.CREATE, + StandardOpenOption.TRUNCATE_EXISTING); break; case COB_OPEN_I_O: - fp = - FileChannel.open( - Paths.get(filename), StandardOpenOption.READ, StandardOpenOption.WRITE); + fp = FileChannel.open( + Paths.get(filename), StandardOpenOption.READ, StandardOpenOption.WRITE, StandardOpenOption.CREATE); break; case COB_OPEN_EXTEND: - fp = - FileChannel.open( - Paths.get(filename), StandardOpenOption.APPEND, StandardOpenOption.CREATE); + fp = FileChannel.open( + Paths.get(filename), StandardOpenOption.APPEND, StandardOpenOption.CREATE); break; } } catch (IOException e) { @@ -1021,7 +1020,7 @@ public void read(AbstractCobolField key, AbstractCobolField fnstatus, int read_o read_opts &= ~COB_READ_LOCK; } - if (this.organization == COB_ORG_INDEXED /* && bdb_env != null*/) { + if (this.organization == COB_ORG_INDEXED /* && bdb_env != null */) { if (this.open_mode != COB_OPEN_I_O || (this.lock_mode & COB_LOCK_EXCLUSIVE) != 0) { read_opts &= ~COB_READ_LOCK; } else if ((this.lock_mode & COB_LOCK_AUTOMATIC) != 0 @@ -1090,8 +1089,7 @@ public void write(AbstractCobolField rec, int opt, AbstractCobolField fnstatus) } String openMode = String.format("%02d", (int) this.last_open_mode); - if (invokeFun(COB_IO_WRITE, this, null, rec.getDataStorage(), fnstatus, openMode, null, null) - != 0) { + if (invokeFun(COB_IO_WRITE, this, null, rec.getDataStorage(), fnstatus, openMode, null, null) != 0) { return; } @@ -1265,7 +1263,8 @@ public void unlock(AbstractCobolField fnstatus) { public void unlock_() { if (this.open_mode != COB_OPEN_CLOSED && this.open_mode != COB_OPEN_LOCKED) { this.file.flush(); - if ((this.lock_mode & COB_LOCK_EXCLUSIVE) == 0) {} + if ((this.lock_mode & COB_LOCK_EXCLUSIVE) == 0) { + } } } From 15ce388bb092f3d91bb2754ed61822ea8b619125 Mon Sep 17 00:00:00 2001 From: kio-watatanabe Date: Tue, 27 Dec 2022 16:37:45 +0900 Subject: [PATCH 2/3] Fix CobolFile.java --- .../libcobj/file/CobolFile.java | 58 ++++++++++--------- 1 file changed, 31 insertions(+), 27 deletions(-) diff --git a/libcobj/src/jp/osscons/opensourcecobol/libcobj/file/CobolFile.java b/libcobj/src/jp/osscons/opensourcecobol/libcobj/file/CobolFile.java index e4a4053b..236a7ac1 100644 --- a/libcobj/src/jp/osscons/opensourcecobol/libcobj/file/CobolFile.java +++ b/libcobj/src/jp/osscons/opensourcecobol/libcobj/file/CobolFile.java @@ -165,7 +165,7 @@ public class CobolFile { protected static String file_open_name; protected static byte[] file_open_buff = new byte[1024]; - protected static final String[] prefix = { "DD_", "dd_", "" }; + protected static final String[] prefix = {"DD_", "dd_", ""}; protected static final int NUM_PREFIX = prefix.length; protected static int eop_status = 0; @@ -174,16 +174,16 @@ public class CobolFile { private static List file_cache = new ArrayList(); protected static int[] status_exception = { - 0, - CobolExceptionId.COB_EC_I_O_AT_END, - CobolExceptionId.COB_EC_I_O_INVALID_KEY, - CobolExceptionId.COB_EC_I_O_PERMANENT_ERROR, - CobolExceptionId.COB_EC_I_O_LOGIC_ERROR, - CobolExceptionId.COB_EC_I_O_RECORD_OPERATION, - CobolExceptionId.COB_EC_I_O_FILE_SHARING, - CobolExceptionId.COB_EC_I_O, - CobolExceptionId.COB_EC_I_O, - CobolExceptionId.COB_EC_I_O_IMP + 0, + CobolExceptionId.COB_EC_I_O_AT_END, + CobolExceptionId.COB_EC_I_O_INVALID_KEY, + CobolExceptionId.COB_EC_I_O_PERMANENT_ERROR, + CobolExceptionId.COB_EC_I_O_LOGIC_ERROR, + CobolExceptionId.COB_EC_I_O_RECORD_OPERATION, + CobolExceptionId.COB_EC_I_O_FILE_SHARING, + CobolExceptionId.COB_EC_I_O, + CobolExceptionId.COB_EC_I_O, + CobolExceptionId.COB_EC_I_O_IMP }; protected String select_name; public byte[] file_status; @@ -229,8 +229,7 @@ public void setLinorkeyptr(Linage ptr) { this.linorkeyptr = ptr; } - public CobolFile() { - } + public CobolFile() {} public CobolFile( String select_name, @@ -287,8 +286,7 @@ public CobolFile( } /** - * libcob/fileio.cのsave_statusの実装 - * RETURN_STATUSマクロは実装できないため,本メソッドの呼び出し後の次の文はreturn;を書くこと. + * libcob/fileio.cのsave_statusの実装 RETURN_STATUSマクロは実装できないため,本メソッドの呼び出し後の次の文はreturn;を書くこと. * * @param status * @param fnstatus @@ -773,19 +771,25 @@ public int open_(String filename, int mode, int sharing) throws IOException { fp = FileChannel.open(Paths.get(filename), StandardOpenOption.READ); break; case COB_OPEN_OUTPUT: - fp = FileChannel.open( - Paths.get(filename), - StandardOpenOption.WRITE, - StandardOpenOption.CREATE, - StandardOpenOption.TRUNCATE_EXISTING); + fp = + FileChannel.open( + Paths.get(filename), + StandardOpenOption.WRITE, + StandardOpenOption.CREATE, + StandardOpenOption.TRUNCATE_EXISTING); break; case COB_OPEN_I_O: - fp = FileChannel.open( - Paths.get(filename), StandardOpenOption.READ, StandardOpenOption.WRITE, StandardOpenOption.CREATE); + fp = + FileChannel.open( + Paths.get(filename), + StandardOpenOption.READ, + StandardOpenOption.WRITE, + StandardOpenOption.CREATE); break; case COB_OPEN_EXTEND: - fp = FileChannel.open( - Paths.get(filename), StandardOpenOption.APPEND, StandardOpenOption.CREATE); + fp = + FileChannel.open( + Paths.get(filename), StandardOpenOption.APPEND, StandardOpenOption.CREATE); break; } } catch (IOException e) { @@ -1089,7 +1093,8 @@ public void write(AbstractCobolField rec, int opt, AbstractCobolField fnstatus) } String openMode = String.format("%02d", (int) this.last_open_mode); - if (invokeFun(COB_IO_WRITE, this, null, rec.getDataStorage(), fnstatus, openMode, null, null) != 0) { + if (invokeFun(COB_IO_WRITE, this, null, rec.getDataStorage(), fnstatus, openMode, null, null) + != 0) { return; } @@ -1263,8 +1268,7 @@ public void unlock(AbstractCobolField fnstatus) { public void unlock_() { if (this.open_mode != COB_OPEN_CLOSED && this.open_mode != COB_OPEN_LOCKED) { this.file.flush(); - if ((this.lock_mode & COB_LOCK_EXCLUSIVE) == 0) { - } + if ((this.lock_mode & COB_LOCK_EXCLUSIVE) == 0) {} } } From e17adb98688ff1c2e330dd1dd5cf399e859461e5 Mon Sep 17 00:00:00 2001 From: kio-watatanabe Date: Thu, 5 Jan 2023 14:23:13 +0900 Subject: [PATCH 3/3] Fix file-control.at --- tests/jp-compat.src/file-control.at | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/tests/jp-compat.src/file-control.at b/tests/jp-compat.src/file-control.at index b8d0b174..75b5ff02 100644 --- a/tests/jp-compat.src/file-control.at +++ b/tests/jp-compat.src/file-control.at @@ -24,7 +24,7 @@ AT_DATA([prog.cob], [ ]) AT_CHECK([${COMPILE_MODULE} -o prog prog.cob]) -AT_CHECK([export OC_IO_CREATES=yes && ${COBCRUN} prog], [0], [00 +AT_CHECK([export OC_IO_CREATES=yes && ${RUN_MODULE} prog], [0], [00 ]) AT_CLEANUP @@ -55,7 +55,7 @@ AT_DATA([prog.cob], [ ]) AT_CHECK([${COMPILE_MODULE} -o prog prog.cob]) -AT_CHECK([export OC_IO_CREATES=yes && ${COBCRUN} prog], [0], [00 +AT_CHECK([export OC_IO_CREATES=yes && ${RUN_MODULE} prog], [0], [00 ]) AT_CLEANUP @@ -88,7 +88,7 @@ AT_DATA([prog.cob], [ ]) AT_CHECK([${COMPILE_MODULE} -o prog prog.cob]) -AT_CHECK([export OC_IO_CREATES=yes && ${COBCRUN} prog], [0], [00 +AT_CHECK([export OC_IO_CREATES=yes && ${RUN_MODULE} prog], [0], [00 ]) AT_CLEANUP @@ -121,7 +121,7 @@ AT_DATA([prog.cob], [ ]) AT_CHECK([${COMPILE_MODULE} -o prog prog.cob]) -AT_CHECK([export OC_IO_CREATES=yes && ${COBCRUN} prog], [0], [00 +AT_CHECK([export OC_IO_CREATES=yes && ${RUN_MODULE} prog], [0], [00 ]) AT_CLEANUP @@ -152,7 +152,7 @@ AT_DATA([prog.cob], [ ]) AT_CHECK([${COMPILE_MODULE} -o prog prog.cob]) -AT_CHECK([export OC_EXTEND_CREATES=yes && ${COBCRUN} prog], [0], [00 +AT_CHECK([export OC_EXTEND_CREATES=yes && ${RUN_MODULE} prog], [0], [00 ]) AT_CLEANUP @@ -183,7 +183,7 @@ AT_DATA([prog.cob], [ ]) AT_CHECK([${COMPILE_MODULE} -o prog prog.cob]) -AT_CHECK([export OC_EXTEND_CREATES=yes && ${COBCRUN} prog], [0], [00 +AT_CHECK([export OC_EXTEND_CREATES=yes && ${RUN_MODULE} prog], [0], [00 ]) AT_CLEANUP @@ -216,7 +216,7 @@ AT_DATA([prog.cob], [ ]) AT_CHECK([${COMPILE_MODULE} -o prog prog.cob]) -AT_CHECK([export OC_EXTEND_CREATES=yes && ${COBCRUN} prog], [0], [00 +AT_CHECK([export OC_EXTEND_CREATES=yes && ${RUN_MODULE} prog], [0], [00 ]) AT_CLEANUP @@ -249,7 +249,7 @@ AT_DATA([prog.cob], [ ]) AT_CHECK([${COMPILE_MODULE} -o prog prog.cob]) -AT_CHECK([export OC_EXTEND_CREATES=yes && ${COBCRUN} prog], [0], [00 +AT_CHECK([export OC_EXTEND_CREATES=yes && ${RUN_MODULE} prog], [0], [00 ]) AT_CLEANUP @@ -281,7 +281,7 @@ AT_DATA([prog.cob], [ ]) AT_CHECK([${COMPILE_MODULE} -o prog prog.cob]) -AT_CHECK([${COBCRUN} prog], [0], [00 +AT_CHECK([${RUN_MODULE} prog], [0], [00 ]) AT_CLEANUP @@ -313,7 +313,7 @@ AT_DATA([prog.cob], [ ]) AT_CHECK([${COMPILE_MODULE} -o prog prog.cob]) -AT_CHECK([${COBCRUN} prog], [0], [00 +AT_CHECK([${RUN_MODULE} prog], [0], [00 ]) AT_CLEANUP @@ -347,7 +347,7 @@ AT_DATA([prog.cob], [ ]) AT_CHECK([${COMPILE_MODULE} -o prog prog.cob]) -AT_CHECK([${COBCRUN} prog], [0], [00 +AT_CHECK([${RUN_MODULE} prog], [0], [00 ]) AT_CLEANUP @@ -383,7 +383,7 @@ AT_DATA([prog.cob], [ ]) AT_CHECK([${COMPILE_MODULE} -o prog prog.cob]) -AT_CHECK([${COBCRUN} prog], [0], [00 +AT_CHECK([${RUN_MODULE} prog], [0], [00 ]) AT_CLEANUP @@ -419,7 +419,7 @@ AT_DATA([prog.cob], [ ]) AT_CHECK([${COMPILE_MODULE} -o prog prog.cob]) -AT_CHECK([${COBCRUN} prog], [0], [91 +AT_CHECK([${RUN_MODULE} prog], [0], [91 ]) AT_CLEANUP @@ -449,7 +449,7 @@ AT_DATA([prog.cob], [ AT_CHECK([echo 000011112222 >TEST-FILE]) AT_CHECK([${COMPILE_MODULE} -o prog prog.cob]) -AT_CHECK([COB_IO_ASSUME_REWRITE=Y ${COBCRUN} prog]) +AT_CHECK([COB_IO_ASSUME_REWRITE=Y ${RUN_MODULE} prog]) AT_CHECK([test `cat TEST-FILE` = '0000AAAA2222']) AT_CLEANUP