1.1 --- a/scanner.c Fri Oct 21 15:09:26 2011 +0200 1.2 +++ b/scanner.c Thu Dec 01 17:04:30 2011 +0100 1.3 @@ -56,11 +56,14 @@ 1.4 continue; 1.5 } 1.6 1.7 - /* Count lines */ 1.8 - lines = 0; 1.9 - bfile = false; 1.10 - bfile_reset(settings->bfileHeuristics); 1.11 if (testSuffix(filename, settings)) { 1.12 + /* Count lines */ 1.13 + lines = 0; 1.14 + bfile = false; 1.15 + bfile_reset(settings->bfileHeuristics); 1.16 + char line_buffer[2048]; 1.17 + int line_buffer_offset = 0; 1.18 + 1.19 FILE *file = fopen(filename, "r"); 1.20 if (file == NULL) { 1.21 printf(entryname); 1.22 @@ -74,7 +77,19 @@ 1.23 bfile = bfile_check(settings->bfileHeuristics, a); 1.24 1.25 if (a == 10) { 1.26 + line_buffer[line_buffer_offset] = 0; 1.27 + /* TODO: do regex parsing */ 1.28 + 1.29 + line_buffer_offset = 0; 1.30 lines++; 1.31 + } else { 1.32 + if (line_buffer_offset < 2048) { 1.33 + line_buffer[line_buffer_offset] = a; 1.34 + line_buffer_offset++; 1.35 + } else { 1.36 + line_buffer[line_buffer_offset-1] = 0; 1.37 + settings->confusing_lnlen = true; 1.38 + } 1.39 } 1.40 } while (!bfile && a != EOF); 1.41 fclose(file);