@@ -99,7 +99,7 @@ public void comment() throws IOException {
99
99
c = string [j ++] = getchr (); // extra char
100
100
while (done == 0 ) {
101
101
c = string [j ++] = getchr ();
102
- while ((c != '/' ) && (j < string .length )) {
102
+ while ((c != '/' ) && (j < string .length ) && EOF == 0 ) {
103
103
if (c == '\n' || c == '\r' ) {
104
104
lineNumber ++;
105
105
putcoms ();
@@ -111,7 +111,9 @@ public void comment() throws IOException {
111
111
if (j >1 && string [j -2 ] == '*' ) {
112
112
done = 1 ;
113
113
jdoc = 0 ;
114
- }
114
+ } else if (EOF != 0 ) {
115
+ done = 1 ;
116
+ }
115
117
}
116
118
117
119
putcoms ();
@@ -134,7 +136,7 @@ public char get_string() throws IOException {
134
136
}
135
137
if (ch == '\'' || ch == '"' ) {
136
138
cc = string [j ++] = getchr ();
137
- while (cc != ch ) {
139
+ while (cc != ch && EOF == 0 ) {
138
140
if (cc == '\\' ) string [j ++] = getchr ();
139
141
cc = string [j ++] = getchr ();
140
142
}
@@ -207,7 +209,7 @@ public void putcoms()
207
209
}
208
210
string [j ] = '\0' ;
209
211
i = 0 ;
210
- while (string [i ] == ' ' ) i ++;
212
+ while (string [i ] == ' ' && EOF == 0 ) i ++;
211
213
if (lookup_com (w_jdoc ) == 1 ) jdoc = 1 ;
212
214
String strBuffer = new String (string ,0 ,j );
213
215
if (string [i ] == '/' && string [i +1 ]=='*' )
@@ -241,7 +243,7 @@ public void putcoms()
241
243
public void cpp_comment () throws IOException
242
244
{
243
245
c = getchr ();
244
- while (c != '\n' && c != '\r' )
246
+ while (c != '\n' && c != '\r' && EOF == 0 )
245
247
{
246
248
string [j ++] = c ;
247
249
c = getchr ();
@@ -337,7 +339,7 @@ public int getnl() throws IOException
337
339
peekc = getchr ();
338
340
//while ((peekc == '\t' || peekc == ' ') &&
339
341
// (j < string.length)) {
340
- while (peekc == '\t' || peekc == ' ' ) {
342
+ while (( peekc == '\t' || peekc == ' ' ) && EOF == 0 ) {
341
343
string [j ++] = peekc ;
342
344
peek = -1 ;
343
345
peekc = '`' ;
@@ -398,7 +400,7 @@ public int lookup (String keyword)
398
400
399
401
if (j <1 ) return (0 );
400
402
kk =0 ;
401
- while (string [kk ] == ' ' )kk ++;
403
+ while (string [kk ] == ' ' && EOF == 0 )kk ++;
402
404
l =0 ;
403
405
l = j_string .indexOf (keyword );
404
406
if (l <0 || l !=kk )
@@ -421,7 +423,7 @@ public int lookup_com (String keyword)
421
423
422
424
if (j <1 ) return (0 );
423
425
kk =0 ;
424
- while (string [kk ] == ' ' ) kk ++;
426
+ while (string [kk ] == ' ' && EOF == 0 ) kk ++;
425
427
l =0 ;
426
428
l = j_string .indexOf (keyword );
427
429
if (l <0 || l !=kk )
@@ -637,8 +639,12 @@ public void run() {
637
639
case '\'' :
638
640
string [j ++] = c ;
639
641
cc = getchr ();
640
- while (cc != c )
642
+ int count = 0 ;
643
+ while (cc != c && EOF == 0 )
641
644
{
645
+ if (++count % 100000 == 0 ) {
646
+ System .err .println ("Stuck: " + count );
647
+ }
642
648
// max. length of line should be 256
643
649
string [j ++] = cc ;
644
650
@@ -784,7 +790,7 @@ public void run() {
784
790
case '#' :
785
791
string [j ++] = c ;
786
792
cc = getchr ();
787
- while (cc != '\n' )
793
+ while (cc != '\n' && EOF == 0 )
788
794
{
789
795
string [j ++] = cc ;
790
796
cc = getchr ();
@@ -827,13 +833,13 @@ else if(tabs > 0)
827
833
if ((lookup (w_for ) == 1 ))
828
834
{
829
835
c = get_string ();
830
- while (c != ';' ) c = get_string ();
836
+ while (c != ';' && EOF == 0 ) c = get_string ();
831
837
ct =0 ;
832
838
int for_done = 0 ;
833
- while (for_done == 0 )
839
+ while (for_done == 0 && EOF == 0 )
834
840
{
835
841
c = get_string ();
836
- while (c != ')' )
842
+ while (c != ')' && EOF == 0 )
837
843
{
838
844
if (c == '(' ) ct ++;
839
845
c = get_string ();
0 commit comments