diff --git a/Contrib/InstallOptions/InstallerOptions.cpp b/Contrib/InstallOptions/InstallerOptions.cpp index b7407ea5..a5dc69f0 100644 --- a/Contrib/InstallOptions/InstallerOptions.cpp +++ b/Contrib/InstallOptions/InstallerOptions.cpp @@ -527,32 +527,32 @@ bool ReadSettings(void) { pFields[nIdx].pszText = myGetProfileStringDup(szField, "TEXT"); if (pFields[nIdx].nType == FIELD_LABEL) { - int j = 0; - for (int i = 0; pFields[nIdx].pszText[i]; i++, j++) { - if (pFields[nIdx].pszText[i] == '\\') { - switch (pFields[nIdx].pszText[i+1]) { + char *p1, *p2; + for (p1=p2=pFields[nIdx].pszText; *p1; p1++, p2++) { + if (*p1 == '\\') { + switch (p1[1]) { case 'n': - pFields[nIdx].pszText[j] = '\n'; + *p2 = '\n'; break; case 'r': - pFields[nIdx].pszText[j] = '\r'; + *p2 = '\r'; + break; + case 't': + *p2 = '\t'; break; - //case 't': - // pFields[nIdx].pszText[j] = '\t'; - // break; case '\\': - pFields[nIdx].pszText[j] = '\\'; + *p2 = '\\'; break; default: - i--; - j--; + p1--; + p2--; break; } - i++; + p1++; } - else pFields[nIdx].pszText[j] = pFields[nIdx].pszText[i]; + else *p2 = *p1; } - pFields[nIdx].pszText[j] = 0; + *p2 = 0; } // pszState cannot be NULL (?) diff --git a/Plugins/InstallOptions.dll b/Plugins/InstallOptions.dll index 05a0fd11..6544f58b 100644 Binary files a/Plugins/InstallOptions.dll and b/Plugins/InstallOptions.dll differ