int main(int argc, char **argv) { int dirn; struct stat stat_buf; char *file, *output_file_name; g_mime_init(GMIME_ENABLE_RFC2047_WORKAROUNDS); dirn = parse_args(argc, argv); compile_filters(); compile_words(); if (0) { file = "/mnt/var/spool/news/articles/gmane/discuss/4482"; output_file_name = get_cache_file_name(file); ensure_directory(output_file_name); transform_file(file, output_file_name); free(output_file_name); } else { for ( ; dirn < argc; dirn++) { file = argv[dirn]; if (stat(file, &stat_buf) == -1) { perror("weft loop"); break; } picon_number = 0; binary_number = 0; if (S_ISREG(stat_buf.st_mode)) { if (override_output_name) output_file_name = override_output_name; else output_file_name = get_cache_file_name(file); ensure_directory(output_file_name); transform_file(file, output_file_name); if (! override_output_name) free(output_file_name); } else { fprintf(stderr, "%s is not a regular file; skipping.\n", file); break; } } } exit(0); }
static HRESULT WINAPI InstallCallback_OnStopBinding(IBindStatusCallback *iface, HRESULT hresult, LPCWSTR szError) { if(dwl_binding) { IBinding_Release(dwl_binding); dwl_binding = NULL; } if(FAILED(hresult)) { if(hresult == E_ABORT) TRACE("Binding aborted\n"); else ERR("Binding failed %08x\n", hresult); return S_OK; } if(!msi_file) { ERR("No MSI file\n"); return E_FAIL; } set_status(IDS_INSTALLING); EnableWindow(GetDlgItem(install_dialog, IDCANCEL), 0); if(sha_check(msi_file)) { WCHAR *cache_file_name; install_file(msi_file); cache_file_name = get_cache_file_name(TRUE); if(cache_file_name) { CopyFileW(msi_file, cache_file_name, FALSE); heap_free(cache_file_name); } }else { WCHAR message[256]; if(LoadStringW(hInst, IDS_INVALID_SHA, message, ARRAY_SIZE(message))) MessageBoxW(NULL, message, NULL, MB_ICONERROR); } DeleteFileW(msi_file); heap_free(msi_file); msi_file = NULL; EndDialog(install_dialog, 0); return S_OK; }
static enum install_res install_from_cache(void) { WCHAR *cache_file_name; enum install_res res; cache_file_name = get_cache_file_name(FALSE); if(!cache_file_name) return INSTALL_NEXT; if(!sha_check(cache_file_name)) { WARN("could not validate checksum\n"); DeleteFileW(cache_file_name); heap_free(cache_file_name); return INSTALL_NEXT; } res = install_file(cache_file_name); heap_free(cache_file_name); return res; }