diff options
Diffstat (limited to 'tools/fwpatcher/main.c')
-rw-r--r-- | tools/fwpatcher/main.c | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/tools/fwpatcher/main.c b/tools/fwpatcher/main.c index 9c005fdad4..7f2eda8fd3 100644 --- a/tools/fwpatcher/main.c +++ b/tools/fwpatcher/main.c | |||
@@ -231,12 +231,21 @@ int PatchFirmware() | |||
231 | } | 231 | } |
232 | for (i = 0; i < sizeof(checksums)/sizeof(char *); ++i) { | 232 | for (i = 0; i < sizeof(checksums)/sizeof(char *); ++i) { |
233 | if (strncmp(checksums[i], md5sum_str, 32) == 0) { | 233 | if (strncmp(checksums[i], md5sum_str, 32) == 0) { |
234 | /* all is fine, rename the patched file to original name of the firmware */ | ||
235 | MoveFileEx(name3, fn, MOVEFILE_COPY_ALLOWED | MOVEFILE_REPLACE_EXISTING); | ||
236 | /* delete temp files */ | 234 | /* delete temp files */ |
237 | DeleteFile(name1); | 235 | DeleteFile(name1); |
238 | DeleteFile(name2); | 236 | DeleteFile(name2); |
239 | return 1; | 237 | /* all is fine, rename the patched file to original name of the firmware */ |
238 | if (MoveFileEx(name3, fn, MOVEFILE_COPY_ALLOWED | MOVEFILE_REPLACE_EXISTING)) { | ||
239 | return 1; | ||
240 | } | ||
241 | else { | ||
242 | DeleteFile(name3); /* Deleting a perfectly good firmware here really */ | ||
243 | MessageBox(NULL, | ||
244 | TEXT("Couldn't modify existing file.\n") | ||
245 | TEXT("Check if file is write protected, then try again."), | ||
246 | TEXT("Error"), MB_ICONERROR); | ||
247 | return 0; | ||
248 | } | ||
240 | } | 249 | } |
241 | } | 250 | } |
242 | MessageBox(NULL, | 251 | MessageBox(NULL, |