Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(9)

Side by Side Diff: net/tools/tld_cleanup/tld_cleanup.cc

Issue 3105: Enforce Terminate on Heap Corruption in most of our executable on Windows XP ... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 12 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « chrome/tools/test/image_diff/image_diff.cc ('k') | webkit/tools/test_shell/run_all_tests.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2006-2008 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 // This command-line program converts an effective-TLD data file in UTF-8 from 5 // This command-line program converts an effective-TLD data file in UTF-8 from
6 // the format provided by Mozilla to the format expected by Chrome. Any errors 6 // the format provided by Mozilla to the format expected by Chrome. Any errors
7 // or warnings are recorded in tld_cleanup.log. 7 // or warnings are recorded in tld_cleanup.log.
8 // 8 //
9 // In particular, it 9 // In particular, it
10 // * Strips blank lines and comments, as well as notes for individual rules. 10 // * Strips blank lines and comments, as well as notes for individual rules.
11 // * Changes all line endings to LF. 11 // * Changes all line endings to LF.
12 // * Strips a single leading and/or trailing dot from each rule, if present. 12 // * Strips a single leading and/or trailing dot from each rule, if present.
13 // * Logs a warning if a rule contains '!' or '*.' other than at the beginning 13 // * Logs a warning if a rule contains '!' or '*.' other than at the beginning
14 // of the rule. (This also catches multiple ! or *. at the start of a rule.) 14 // of the rule. (This also catches multiple ! or *. at the start of a rule.)
15 // * Logs a warning if GURL reports a rule as invalid, but keeps the rule. 15 // * Logs a warning if GURL reports a rule as invalid, but keeps the rule.
16 // * Canonicalizes each rule's domain by converting it to a GURL and back. 16 // * Canonicalizes each rule's domain by converting it to a GURL and back.
17 // * Adds explicit rules for true TLDs found in any rule. 17 // * Adds explicit rules for true TLDs found in any rule.
18 18
19 #include <windows.h> 19 #include <windows.h>
20 #include <set> 20 #include <set>
21 #include <string> 21 #include <string>
22 22
23 #include "base/at_exit.h" 23 #include "base/at_exit.h"
24 #include "base/file_util.h" 24 #include "base/file_util.h"
25 #include "base/icu_util.h" 25 #include "base/icu_util.h"
26 #include "base/logging.h" 26 #include "base/logging.h"
27 #include "base/path_service.h" 27 #include "base/path_service.h"
28 #include "base/process_util.h"
28 #include "base/string_util.h" 29 #include "base/string_util.h"
29 #include "googleurl/src/gurl.h" 30 #include "googleurl/src/gurl.h"
30 #include "googleurl/src/url_parse.h" 31 #include "googleurl/src/url_parse.h"
31 32
32 static const wchar_t* const kLogFileName = L"tld_cleanup.log"; 33 static const wchar_t* const kLogFileName = L"tld_cleanup.log";
33 typedef std::set<std::string> StringSet; 34 typedef std::set<std::string> StringSet;
34 35
35 // Writes the list of domain rules contained in the 'rules' set to the 36 // Writes the list of domain rules contained in the 'rules' set to the
36 // 'outfile', with each rule terminated by a LF. The file must already have 37 // 'outfile', with each rule terminated by a LF. The file must already have
37 // been created with write access. 38 // been created with write access.
(...skipping 160 matching lines...) Expand 10 before | Expand all | Expand 10 after
198 199
199 if (!WriteRules(rules, outfile)) { 200 if (!WriteRules(rules, outfile)) {
200 LOG(ERROR) << "Error(s) writing " << out_filename; 201 LOG(ERROR) << "Error(s) writing " << out_filename;
201 result = kError; 202 result = kError;
202 } 203 }
203 204
204 return result; 205 return result;
205 } 206 }
206 207
207 int main(int argc, const char* argv[]) { 208 int main(int argc, const char* argv[]) {
209 process_util::EnableTerminationOnHeapCorruption();
208 if (argc != 3) { 210 if (argc != 3) {
209 fprintf(stderr, "Normalizes and verifies UTF-8 TLD data files\n"); 211 fprintf(stderr, "Normalizes and verifies UTF-8 TLD data files\n");
210 fprintf(stderr, "Usage: %s <input> <output>\n", argv[0]); 212 fprintf(stderr, "Usage: %s <input> <output>\n", argv[0]);
211 return 1; 213 return 1;
212 } 214 }
213 215
214 // Manages the destruction of singletons. 216 // Manages the destruction of singletons.
215 base::AtExitManager exit_manager; 217 base::AtExitManager exit_manager;
216 218
217 // Only use OutputDebugString in debug mode. 219 // Only use OutputDebugString in debug mode.
(...skipping 19 matching lines...) Expand all
237 if (result != kSuccess) { 239 if (result != kSuccess) {
238 fwprintf(stderr, L"Errors or warnings processing file. See log in %ls.", 240 fwprintf(stderr, L"Errors or warnings processing file. See log in %ls.",
239 kLogFileName); 241 kLogFileName);
240 } 242 }
241 243
242 if (result == kError) 244 if (result == kError)
243 return 1; 245 return 1;
244 return 0; 246 return 0;
245 } 247 }
246 248
OLDNEW
« no previous file with comments | « chrome/tools/test/image_diff/image_diff.cc ('k') | webkit/tools/test_shell/run_all_tests.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698