The problem was that text files were open in text mode and Microsoft implementation of fread and write will try to do nasty line-feed conversion which make the line position no longer valid. The fix is to read and write files in binary mode.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@116286
91177308-0d34-0410-b5e6-
96231b3b80d8
}
/* Open the file that we're remapping to. */
- to_file = fopen(semi + 1, "r");
+ to_file = fopen(semi + 1, "rb");
if (!to_file) {
fprintf(stderr, "error: cannot open file %s that we are remapping to\n",
semi + 1);
return true;
std::string ErrorInfo;
- llvm::raw_fd_ostream OS(SavedFile.c_str(), ErrorInfo);
+ llvm::raw_fd_ostream OS(SavedFile.c_str(), ErrorInfo,
+ llvm::raw_fd_ostream::F_Binary);
if (!ErrorInfo.empty())
return true;