Skip to content

Commit f4c046b

Browse files
committed
Fix an issue where comparisons would fail if tab characters were present in the compared text.
1 parent 9003d73 commit f4c046b

File tree

1 file changed

+17
-1
lines changed

1 file changed

+17
-1
lines changed

src/WinWebDiffLib/Utils.hpp

+17-1
Original file line numberDiff line numberDiff line change
@@ -170,11 +170,27 @@ namespace utils
170170
{
171171
switch (c)
172172
{
173+
case '\a': ret += L"\\a"; break;
174+
case '\b': ret += L"\\b"; break;
175+
case '\f': ret += L"\\f"; break;
173176
case '\r': break;
174177
case '\n': ret += L"\\n"; break;
178+
case '\t': ret += L"\\t"; break;
179+
case '\v': ret += L"\\v"; break;
175180
case '\"': ret += L"\\\""; break;
176181
case '\\': ret += L"\\\\"; break;
177-
default: ret += c;
182+
default:
183+
if (c < 0x20 || c == 0x7F)
184+
{
185+
wchar_t buf[5];
186+
swprintf(buf, 5, L"\\x%02X", c);
187+
ret += buf;
188+
}
189+
else
190+
{
191+
ret += c;
192+
}
193+
break;
178194
}
179195
}
180196
ret += L"\"";

0 commit comments

Comments
 (0)