File tree Expand file tree Collapse file tree 5 files changed +37
-4
lines changed Expand file tree Collapse file tree 5 files changed +37
-4
lines changed Original file line number Diff line number Diff line change @@ -124,8 +124,13 @@ static char *to_cname(const char *s) {
124124 unsigned char * p ;
125125
126126 copy = strdup (s );
127- for (p = (unsigned char * )copy ; * p ; p ++ ) {
128- * p = (* p == '-' ) ? '_' : (unsigned char )toupper (* p );
127+ for (p = (unsigned char * )copy ; * p ;) {
128+ if ((0x81 <= * p && * p <= 0x9F ) || (0xE0 <= * p && * p <= 0xFC )) {
129+ p += 2 ;
130+ } else {
131+ * p = (* p == '-' ) ? '_' : (unsigned char )toupper (* p );
132+ p ++ ;
133+ }
129134 }
130135 return copy ;
131136}
Original file line number Diff line number Diff line change @@ -219,7 +219,8 @@ misc_DEPENDENCIES = \
219219 misc.src/read_prev_after_start.at \
220220 misc.src/japanese-char-section-var.at \
221221 misc.src/evaluate-switch.at \
222- misc.src/fserial-variable.at
222+ misc.src/fserial-variable.at \
223+ misc.src/file-handler-japanese.at
223224
224225EXTRA_DIST = $(srcdir ) /package.m4 \
225226 $(TESTS ) \
Original file line number Diff line number Diff line change @@ -758,7 +758,8 @@ misc_DEPENDENCIES = \
758758 misc.src/read_prev_after_start.at \
759759 misc.src/japanese-char-section-var.at \
760760 misc.src/evaluate-switch.at \
761- misc.src/fserial-variable.at
761+ misc.src/fserial-variable.at \
762+ misc.src/file-handler-japanese.at
762763
763764EXTRA_DIST = $(srcdir ) /package.m4 \
764765 $(TESTS ) \
Original file line number Diff line number Diff line change @@ -49,3 +49,4 @@ m4_include([read_prev_after_start.at])
4949m4_include([japanese-char-section-var.at])
5050m4_include([evaluate-switch.at])
5151m4_include([fserial-variable.at])
52+ m4_include([file-handler-japanese.at])
Original file line number Diff line number Diff line change 1+ AT_SETUP([file-handler-japanese])
2+
3+ # This test verifies that Issue 539 is fixed.
4+
5+ AT_DATA([prog.cbl], [
6+ IDENTIFICATION DIVISION.
7+ PROGRAM-ID. prog.
8+ ENVIRONMENT DIVISION.
9+ INPUT-OUTPUT SECTION.
10+ FILE-CONTROL.
11+ SELECT �e�X�g�t�@�C��
12+ ORGANIZATION IS SEQUENTIAL.
13+ DATA DIVISION.
14+ FILE SECTION.
15+ FD �e�X�g�t�@�C��.
16+ 01 REC PIC X(10).
17+ PROCEDURE DIVISION.
18+ STOP RUN.
19+ ])
20+
21+ AT_CHECK([${COBJ} prog.cbl])
22+ AT_CHECK([grep 'h_�e�X�g�t�@�C��' prog.java > /dev/null])
23+ AT_CHECK([grep 'h_�E�X�G�T�@�C��' prog.java], [1])
24+
25+ AT_CLEANUP
You can’t perform that action at this time.
0 commit comments