1010 size_t line_overflow;
1011 size_t continuation;
1025 _(
"Buffer overrun - Too much continuation lines"));
1037 ipchar = max_size - 1;
1038 memset (buff,
'\n', (
size_t)ipchar);
1046 for (n = 0; ipchar !=
'\n';) {
1047 if (
unlikely(n == PPLEX_BUFF_LEN)) {
1048 if (line_overflow != 2) {
1052 ipchar = getc (
ppin);
1067 #ifndef COB_EBCDIC_MACHINE
1068 if (
unlikely(ipchar == 0x1A && !n)) {
1074 if (ipchar !=
'\n') {
1075 if (
likely(line_overflow == 0)) {
1087 if (
likely(line_overflow == 0)) {
1089 while (n % cb_tab_width != 0) {
1092 if (
unlikely(n > PPLEX_BUFF_LEN)) {
1098 if (
likely(line_overflow == 0)) {
1099 buff[n++] = (char)ipchar;
1100 }
else if ((
char)ipchar !=
' ' && (char)ipchar !=
'\n') {
1105 if (buff[n - 1] !=
'\n') {
1111 if (line_overflow == 0) {
1113 _(
"Line not terminated by a newline"));
1114 }
else if (line_overflow == 2) {
1116 _(
"Source text exceeds %d bytes, will be truncated"), PPLEX_BUFF_LEN);
1119 if (line_overflow == 0) {
1121 _(
"Line not terminated by a newline"));
1122 }
else if (line_overflow == 2) {
1124 _(
"Source text exceeds %d bytes, will be truncated"), PPLEX_BUFF_LEN);
1138 if (cb_flag_mfcomment) {
1139 if (buff[0] ==
'*' || buff[0] ==
'/') {
1146 if (n > cb_text_column + 1) {
1152 if (cb_warn_column_overflow && line_overflow == 0) {
1153 for (coln = cb_text_column; coln < n; ++coln) {
1154 if (buff[coln] !=
' ' && buff[coln] !=
'\n') {
1155 line_overflow = coln;
1163 buff[cb_text_column] =
'\n';
1164 buff[cb_text_column + 1] = 0;
1165 n = cb_text_column + 1;
1170 memset (buff,
' ', (
size_t)6);
1183 (*bp ==
'>' && bp[1] ==
'>' ) ) {
1186 }
else if ((*bp ==
'*' && bp[1] ==
'>' ) ||
1187 (cb_flag_acucomment && *bp ==
'|') ) {
1229 if (cb_flag_acucomment && buff[6] ==
'$') {
1238 _(
"Invalid continuation in comment entry"));
1247 if (cb_flag_debugging_line) {
1260 _(
"Invalid indicator '%c' at column 7"), buff[6]);
1268 for (ipchar = 7; ipchar < (n - 1) && ipchar < 11; ++ipchar) {
1269 if (buff[ipchar] !=
' ') {
1282 for (i = 7; buff[i] ==
' '; ++i) {
1286 if (buff[i] ==
'\n') {
1297 for (; *bp ==
' '; ++bp) {
1306 _(
"Invalid line continuation"));
1317 _(
"Invalid line continuation"));
1325 _(
"Continuation character expected"));
1333 for (i = bp - buff; buff[i] !=
'\n'; ++i) {
1335 if (!
quotation_mark && ((buff[i] ==
'*' && buff[i + 1] ==
'>') ||
1336 (cb_flag_acucomment && buff[i] ==
'|') ) ) {
1340 if (i < cb_text_column) {
1346 }
else if (buff[i] ==
'\'' || buff[i] ==
'"') {
1351 if (i == cb_text_column - 1) {
1367 for (; i < cb_text_column;) {
1373 for (i--; i >= 0 && buff[i] ==
' '; i--) {
1381 if (buff[i] ==
'\'' || buff[i] ==
'\"') {
1389 if (line_overflow != 0) {
1391 _(
"Source text after column %d"),
1396 gotcr = strlen (bp);
1397 memmove (buff, bp, gotcr + 1);
1401 gotcr = strlen (buff);