- filename[0] = _T('\0');
- get_file_name(&s, filename);
- if (!filename[0])
- {
- fprintf(stderr, "%s: No file name is specified\n", getAppName());
- fprintf(stderr, usage);
- exit(7);
+ while (filename[0])
+ {
+ /* Request import confirmation */
+ if (!silent)
+ {
+ LoadString(hInst, IDS_IMPORT_PROMPT, szText, COUNT_OF(szText));
+
+ if (InfoMessageBox(NULL, MB_YESNO | MB_ICONWARNING, szTitle, szText, filename) != IDYES)
+ goto cont;
+ }
+
+ fp = _tfopen(filename, _T("r"));
+ if (fp != NULL)
+ {
+ import_registry_file(fp);
+
+ /* Show successful import */
+ if (!silent)
+ {
+ LoadString(hInst, IDS_IMPORT_OK, szText, COUNT_OF(szText));
+ InfoMessageBox(NULL, MB_OK | MB_ICONINFORMATION, szTitle, szText, filename);
+ }
+ }
+ else
+ {
+ LPSTR p = GetMultiByteString(filename);
+ perror("");
+ fprintf(stderr, "%s: Can't open file \"%s\"\n", getAppName(), p);
+ HeapFree(GetProcessHeap(), 0, p);
+
+ /* Error opening the file */
+ if (!silent)
+ {
+ LoadString(hInst, IDS_IMPORT_ERROR, szText, COUNT_OF(szText));
+ InfoMessageBox(NULL, MB_OK | MB_ICONERROR, szTitle, szText, filename);
+ }
+ }
+
+cont:
+ get_file_name(&s, filename);
+ }
+ break;