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

Side by Side Diff: third_party/sqlite/mac_time_machine.patch

Issue 694353003: Get `gn gen` to succeed on Windows (Closed) Base URL: https://github.com/domokit/mojo.git@master
Patch Set: remove GYP_DEFINES code Created 6 years, 1 month 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
« no previous file with comments | « third_party/sqlite/icu-shell.patch ('k') | third_party/sqlite/memcmp.patch » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 Index: src/sqliteInt.h
2 ===================================================================
3 --- src/sqliteInt.h (revision 87306)
4 +++ src/sqliteInt.h (working copy)
5 @@ -2522,6 +2522,16 @@
6 #endif
7
8 /*
9 +** The CoreServices.h and CoreFoundation.h headers are needed for excluding a
10 +** -journal file from Time Machine backups when its associated database has
11 +** previously been excluded by the client code.
12 +*/
13 +#if defined(__APPLE__)
14 +#include <CoreServices/CoreServices.h>
15 +#include <CoreFoundation/CoreFoundation.h>
16 +#endif
17 +
18 +/*
19 ** The following macros mimic the standard library functions toupper(),
20 ** isspace(), isalnum(), isdigit() and isxdigit(), respectively. The
21 ** sqlite versions only work for ASCII characters, regardless of locale.
22 Index: src/pager.c
23 ===================================================================
24 --- src/pager.c (revision 87306)
25 +++ src/pager.c (working copy)
26 @@ -5130,7 +5130,21 @@
27 }
28 }
29
30 +#if defined(__APPLE__)
31 /*
32 +** Create and return a CFURLRef given a cstring containing the path to a file.
33 +*/
34 +static CFURLRef create_cfurl_from_cstring(const char* filePath){
35 + CFStringRef urlString = CFStringCreateWithFileSystemRepresentation(
36 + kCFAllocatorDefault, filePath);
37 + CFURLRef urlRef = CFURLCreateWithFileSystemPath(kCFAllocatorDefault,
38 + urlString, kCFURLPOSIXPathStyle, FALSE);
39 + CFRelease(urlString);
40 + return urlRef;
41 +}
42 +#endif
43 +
44 +/*
45 ** This function is called at the start of every write transaction.
46 ** There must already be a RESERVED or EXCLUSIVE lock on the database
47 ** file when this routine is called.
48 @@ -5189,6 +5203,24 @@
49 #else
50 rc = sqlite3OsOpen(pVfs, pPager->zJournal, pPager->jfd, flags, 0);
51 #endif
52 +#if defined(__APPLE__)
53 + /* Set the TimeMachine exclusion metadata for the journal if it has
54 + ** been set for the database. Only do this for unix-type vfs
55 + ** implementations. */
56 + if( rc==SQLITE_OK && pPager->zFilename!=NULL
57 + && strlen(pPager->zFilename)>0
58 + && strncmp(pVfs->zName, "unix", 4)==0
59 + && ( pVfs->zName[4]=='-' || pVfs->zName[4]=='\0' ) ){
60 + CFURLRef database = create_cfurl_from_cstring(pPager->zFilename);
61 + if( CSBackupIsItemExcluded(database, NULL) ){
62 + CFURLRef journal = create_cfurl_from_cstring(pPager->zJournal);
63 + /* Ignore errors from the following exclusion call. */
64 + CSBackupSetItemExcluded(journal, TRUE, FALSE);
65 + CFRelease(journal);
66 + }
67 + CFRelease(database);
68 + }
69 +#endif
70 }
71 assert( rc!=SQLITE_OK || isOpen(pPager->jfd) );
72 }
73 Index: ext/fts3/fts3_porter.c
74 ===================================================================
75 --- ext/fts3/fts3_porter.c (revision 87306)
76 +++ ext/fts3/fts3_porter.c (working copy)
77 @@ -129,7 +129,7 @@
78 /*
79 ** Vowel or consonant
80 */
81 -static const char cType[] = {
82 +static const char vOrCType[] = {
83 0, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0,
84 1, 1, 1, 2, 1
85 };
86 @@ -153,7 +153,7 @@
87 char x = *z;
88 if( x==0 ) return 0;
89 assert( x>='a' && x<='z' );
90 - j = cType[x-'a'];
91 + j = vOrCType[x-'a'];
92 if( j<2 ) return j;
93 return z[1]==0 || isVowel(z + 1);
94 }
95 @@ -162,7 +162,7 @@
96 char x = *z;
97 if( x==0 ) return 0;
98 assert( x>='a' && x<='z' );
99 - j = cType[x-'a'];
100 + j = vOrCType[x-'a'];
101 if( j<2 ) return 1-j;
102 return isConsonant(z + 1);
103 }
OLDNEW
« no previous file with comments | « third_party/sqlite/icu-shell.patch ('k') | third_party/sqlite/memcmp.patch » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698