- Jun
- 21
- 0
TCC 18.00.30 x64 Windows 7 [Version 6.1.7601]
TCC Build 30 Windows 7 Build 7601 Service Pack 1
Using swedish keyboard and Regional and Language Options: Swedish
Counting occurrences in an Unicode/ANSI file with FFIND is incorrect if character/word is at end of file (on last line) and file doesn't end with cr/lf.
With cr/lf at eof the counting is correct.
Example 1:
Create an Unicode or ANSI file containing 1 line with letter A.
Add a CR/LF at end of file and close the file.
File should be 3 character long in ANSI or 8 character long in Unicode with BOM.
FFIND /t"A" /v fileName returns "1 line in 1 file" ==> Correct.
Test data:
41 0d 0a (Uppercase A) ANSI
ff fe 41 00 0d 00 0a 00 (Uppercase A) Unicode with BOM
[C:\]ffind /t"A" /v fileName
---- C:\Temp\fileName
A
1 line in 1 file
Example 2:
Create an Unicode or ANSI file containing 1 line with letter A.
Close the file.
File should be 1 character long in ANSI or 4 character long in Unicode with BOM.
FFIND /t"A" /v filename returns nothing ==> Incorrect.
Test data:
41 (Uppercase A) ANSI
ff fe 41 00 (Uppercase A) Unicode with BOM
ffind /t"A" /v 1
[C:\]ffind /t"A" /v fileName
---- C:\Temp\fileName
Reproducible: Always.
Best regard
Berndt Berg
TCC Build 30 Windows 7 Build 7601 Service Pack 1
Using swedish keyboard and Regional and Language Options: Swedish
Counting occurrences in an Unicode/ANSI file with FFIND is incorrect if character/word is at end of file (on last line) and file doesn't end with cr/lf.
With cr/lf at eof the counting is correct.
Example 1:
Create an Unicode or ANSI file containing 1 line with letter A.
Add a CR/LF at end of file and close the file.
File should be 3 character long in ANSI or 8 character long in Unicode with BOM.
FFIND /t"A" /v fileName returns "1 line in 1 file" ==> Correct.
Test data:
41 0d 0a (Uppercase A) ANSI
ff fe 41 00 0d 00 0a 00 (Uppercase A) Unicode with BOM
[C:\]ffind /t"A" /v fileName
---- C:\Temp\fileName
A
1 line in 1 file
Example 2:
Create an Unicode or ANSI file containing 1 line with letter A.
Close the file.
File should be 1 character long in ANSI or 4 character long in Unicode with BOM.
FFIND /t"A" /v filename returns nothing ==> Incorrect.
Test data:
41 (Uppercase A) ANSI
ff fe 41 00 (Uppercase A) Unicode with BOM
ffind /t"A" /v 1
[C:\]ffind /t"A" /v fileName
---- C:\Temp\fileName
Reproducible: Always.
Best regard
Berndt Berg