Fossil SCM
Merge in trunk.
Commit
bd56e90d0f3b2c0ec90d43b45ec2088494820b1f151c9e6287a2079866039cf9
Parent
0c19cd0a8630a62…
78 files changed
+1
-1
+176
+4
-35
+57
-4
+2
-2
+1
+2
-17
+2
-1
+30
-2
+1
-1
+1
-1
+1
+33
-7
+1
+66
-320
+1
-1
+2
-2
+95
-4
+16
-2
+6
-6
+3
-3
+2
+58
-29
+12
-2
+12
-2
+200
-154
+200
-154
+2
-1
+13
-14
+207
-15
+3
-2
+9
+2
+1
-1
+21
+436
-107
+280
-103
+3
-3
-1
-1
+23
-6
+7
-5
+1
+1
-1
+64
-14
+140
+12
+322
-14
+12
-15
+7
-1
+4
-4
+1
-1
+72
+30
+10
+164
+14
-10
+3
-2
+11
-10
+288
-288
+2
-2
+2
-2
+12
-7
+12
-7
+12
-2
+12
-2
+21
-2
+1820
-1674
+1820
-1674
+58
-13
+16
+4
-4
+2
-2
+27
-1
+15
-15
+5
-9
+38
-6
+25
-34
~
src/add.c
~
src/ajax.c
~
src/allrepo.c
~
src/blob.c
~
src/branch.c
~
src/browse.c
~
src/checkin.c
~
src/config.h
~
src/db.c
~
src/diffcmd.c
~
src/doc.c
~
src/event.c
~
src/export.c
~
src/file.c
~
src/fileedit.c
~
src/forum.c
~
src/fossil.page.fileedit.js
~
src/graph.c
~
src/graph.js
~
src/http_ssl.c
~
src/http_transport.c
~
src/info.c
~
src/main.c
~
src/main.mk
~
src/main.mk
~
src/makemake.tcl
~
src/makemake.tcl
~
src/markdown.c
~
src/markdown_html.c
~
src/mkbuiltin.c
~
src/name.c
~
src/printf.c
~
src/repolist.c
~
src/schema.c
~
src/setup.c
~
src/shell.c
~
src/sqlite3.c
~
src/sqlite3.h
~
src/style.c
~
src/style.c
~
src/th_main.c
~
src/timeline.c
~
src/tkt.c
~
src/unversioned.c
~
src/update.c
~
src/util.c
~
src/wiki.c
~
src/wikiformat.c
~
test/amend.test
~
test/commit-warning.test
~
test/diff.test
~
test/fileStat.th1
~
test/graph-test-2.md
~
test/mv-rm.test
~
test/release-checklist.wiki
~
test/revert.test
~
test/tester.tcl
~
test/th1-hooks.test
~
test/th1.test
~
test/utf.test
~
win/Makefile.PellesCGMake
~
win/Makefile.PellesCGMake
~
win/Makefile.dmc
~
win/Makefile.dmc
~
win/Makefile.mingw
~
win/Makefile.mingw
~
win/Makefile.mingw.mistachkin
~
win/Makefile.msc
~
win/Makefile.msc
~
win/buildmsvc.bat
~
www/changes.wiki
~
www/fossil-v-git.wiki
~
www/index.wiki
~
www/makefile.wiki
~
www/selfcheck.wiki
~
www/server/debian/nginx.md
~
www/server/debian/service.md
~
www/webpage-ex.md
+1
-1
| --- src/add.c | ||
| +++ src/add.c | ||
| @@ -1090,11 +1090,11 @@ | ||
| 1090 | 1090 | const char *zPath = db_column_text(&q, 0); |
| 1091 | 1091 | int nPath = db_column_bytes(&q, 0); |
| 1092 | 1092 | const char *zTail; |
| 1093 | 1093 | if( nPath==nOrig ){ |
| 1094 | 1094 | zTail = file_tail(zPath); |
| 1095 | - }else if( destType==1 ){ | |
| 1095 | + }else if( origType!=0 && destType==1 ){ | |
| 1096 | 1096 | zTail = &zPath[nOrig-strlen(file_tail(zOrig))]; |
| 1097 | 1097 | }else{ |
| 1098 | 1098 | zTail = &zPath[nOrig+1]; |
| 1099 | 1099 | } |
| 1100 | 1100 | db_multi_exec( |
| 1101 | 1101 | |
| 1102 | 1102 | ADDED src/ajax.c |
| --- src/add.c | |
| +++ src/add.c | |
| @@ -1090,11 +1090,11 @@ | |
| 1090 | const char *zPath = db_column_text(&q, 0); |
| 1091 | int nPath = db_column_bytes(&q, 0); |
| 1092 | const char *zTail; |
| 1093 | if( nPath==nOrig ){ |
| 1094 | zTail = file_tail(zPath); |
| 1095 | }else if( destType==1 ){ |
| 1096 | zTail = &zPath[nOrig-strlen(file_tail(zOrig))]; |
| 1097 | }else{ |
| 1098 | zTail = &zPath[nOrig+1]; |
| 1099 | } |
| 1100 | db_multi_exec( |
| 1101 | |
| 1102 | DDED src/ajax.c |
| --- src/add.c | |
| +++ src/add.c | |
| @@ -1090,11 +1090,11 @@ | |
| 1090 | const char *zPath = db_column_text(&q, 0); |
| 1091 | int nPath = db_column_bytes(&q, 0); |
| 1092 | const char *zTail; |
| 1093 | if( nPath==nOrig ){ |
| 1094 | zTail = file_tail(zPath); |
| 1095 | }else if( origType!=0 && destType==1 ){ |
| 1096 | zTail = &zPath[nOrig-strlen(file_tail(zOrig))]; |
| 1097 | }else{ |
| 1098 | zTail = &zPath[nOrig+1]; |
| 1099 | } |
| 1100 | db_multi_exec( |
| 1101 | |
| 1102 | DDED src/ajax.c |
+176
| --- a/src/ajax.c | ||
| +++ b/src/ajax.c | ||
| @@ -0,0 +1,176 @@ | ||
| 1 | +/* | |
| 2 | +** Copyright (c) 2020 D. Richard Hipp | |
| 3 | +** | |
| 4 | +** This program is free software; you can redistribute it and/or | |
| 5 | +** modify it under the terms of the Simplified BSD License (also | |
| 6 | +** known as the "2-Clause License" or "FreeBSD License".) | |
| 7 | +** | |
| 8 | +** This program is distributed in the hope that it will be useful, | |
| 9 | +** but without any warranty; without even the implied warranty of | |
| 10 | +** merchantability or fitness for a particular purpose. | |
| 11 | +** | |
| 12 | +** Author contact information: | |
| 13 | +** [email protected] | |
| 14 | +** http://www.hwaci.com/drh/ | |
| 15 | +** | |
| 16 | +******************************************************************************* | |
| 17 | +** | |
| 18 | +** This file contains shared Ajax-related code for /fileedit, the wiki/forum | |
| 19 | +** editors, and friends. | |
| 20 | +*/ | |
| 21 | +#include "config.h" | |
| 22 | +#include "ajax.h " | |
| 23 | +#include <assert.h> | |
| 24 | +#include <stdarg.h> | |
| 25 | + | |
| 26 | +#if INTERFACE | |
| 27 | +/* enum ajax_render_preview_flags: */ | |
| 28 | +#define AJAX_PREVIEW_LINE_NUMBERS 1 | |
| 29 | +/* enum ajax_render_modes: */ | |
| 30 | +#define AJAX_RENDER_GUESS 0 /* Guess rendering mode based on mimetype. */ | |
| 31 | +/* GUESS must be 0. All others have unspecified values. */ | |
| 32 | +#define AJAX_RENDER_PLAIN_TEXT 1 /* Render as plain text. */ | |
| 33 | +#define AJAX_RENDER_HTML_IFRAME 2 /* Render as HTML inside an IFRAME. */ | |
| 34 | +#define AJAX_RENDER_HTML_INLINE 3 /* Render as HTML without an IFRAME. */ | |
| 35 | +#define AJAX_RENDER_WIKI 4 /* Render as wiki/markdown. */ | |
| 36 | +#endif | |
| 37 | + | |
| 38 | +/* | |
| 39 | +** Emits JS code which initializes the | |
| 40 | +** fossil.page.previewModes object to a map of AJAX_RENDER_xxx values | |
| 41 | +** and symbolic names for use by client-side scripts. | |
| 42 | +** | |
| 43 | +** If addScriptTag is true then the output is wrapped in a SCRIPT tag | |
| 44 | +** with the current nonce, else no SCRIPT tag is emitted. | |
| 45 | +** | |
| 46 | +** Requires thatstyle | |
| 47 | +** | |
| 48 | +** Requires that builtin_emit_script_fossil_bootstrap() has already been | |
| 49 | +** called in order to initialize the window.fossil.page object. | |
| 50 | +*/ | |
| 51 | +void ajax_emit_js_preview_modes(int addScriptTag){ | |
| 52 | + emit_script_tag(0,0); | |
| 53 | + CX("\n"_); | |
| 54 | + } | |
| 55 | + CX("fossil.page.pditional | |
| 56 | +**Blob *pContent, u64 diffFlags)0, diffFlagsOrig, pContent, &out, &DCfg); | |
| 57 | + i if(DIFF_SIDEBYSIDE & diffFlags)/* nothing to do */ | |
| 58 | + }eelse{ | |
| 59 | + CX("",&out); | |
| 60 | + } | |
| 61 | + blob_reset(&out); | |
| 62 | +} | |
| 63 | + | |
| 64 | +/* | |
| 65 | +** Uses P(zKey) to fetch a CGI environment variable. If that var is | |
| 66 | +** NULL or starts with '0' or 'f' then this function returns false, | |
| 67 | +** else it returns true. | |
| 68 | +*/ | |
| 69 | +int ajax_p_bool(char const *zKey){ | |
| 70 | + const char * zVal = P(zKey); | |
| 71 | + return (!zal || emit_script_tag(1,0 /fileedit, the wiki/forum | |
| 72 | +** editors, and friends. | |
| 73 | +*/ | |
| 74 | +#include "config.h" | |
| 75 | +#include "ajax.h " | |
| 76 | +#include <assert.h> | |
| 77 | +#include <stdarg.h> | |
| 78 | + | |
| 79 | +#if INTERFACE | |
| 80 | +/* enum ajax_render_preview_flags: */ | |
| 81 | +#define AJAX_PREVIEW_LINE_NUMBERS 1 | |
| 82 | +/* enum ajax_render_modes: */ | |
| 83 | +#define AJAX_RENDER_GUESS 0 /* Guess rendering mode based on mimetype. */ | |
| 84 | +/* GUESS must be 0. All others have unspecified values. */ | |
| 85 | +#define AJAX_RENDER_PLAIN_TEXT 1 /* Render as plain text. */ | |
| 86 | +#define AJAX_RENDER_HTML_IFRAME 2 /* Render as HTML inside an IFRAME. */ | |
| 87 | +#define AJAX_RENDER_HTML_INLINE 3 /* Render as HTML without an IFRAME. */ | |
| 88 | +#define AJAX_RENDER_WIKI 4 /* Render as wiki/markdown. */ | |
| 89 | +#endif | |
| 90 | + | |
| 91 | +/* | |
| 92 | +** Emits JS code which initializes the | |
| 93 | +** fossil.page.previewModes object to a map of AJAX_RENDER_xxx values | |
| 94 | +** anre; you can redistri/* | |
| 95 | +** Copyright (c) 2020 D. Richard Hipp | |
| 96 | +** | |
| 97 | +** This program is free software; you can redistribute it and/or | |
| 98 | +** modify it under the terms of the Simplified BSD License (also | |
| 99 | +** known as the "2-Clause License" or "FreeBSD License".) | |
| 100 | +** | |
| 101 | +** This program is distributed in the hope that it will be useful, | |
| 102 | +** but without any warranty; without even the implied warranty of | |
| 103 | +** merchantability or fitness for a particular purpose. | |
| 104 | +** | |
| 105 | +** Author contact information: | |
| 106 | +** [email protected] | |
| 107 | +** http://www.hwaci.com/drh/ | |
| 108 | +** | |
| 109 | +******************************************************************************* | |
| 110 | +** | |
| 111 | +** This file contains shared Ajax-related code for /fileedit, the wiki/forum | |
| 112 | +** editors, and friends. | |
| 113 | +*/ | |
| 114 | +#include "config.h" | |
| 115 | +#include "ajax.h " | |
| 116 | +#include <assert.h> | |
| 117 | +#include <stdarg.h> | |
| 118 | + | |
| 119 | +#if INTERFACE | |
| 120 | +/* enum ajax_render_preview_flags: */ | |
| 121 | +#define AJAX_PREVIEW_LINE_NUMBERS 1 | |
| 122 | +/* enum ajax_render_modes: */ | |
| 123 | +#define AJAX_RENDER_GUESS 0 /* Guess rendering mode based on mimetype. */ | |
| 124 | +/* GUESS must be 0. All others have unspecified values. */ | |
| 125 | +#define AJAX_RENDER_PLAIN_TEXT 1 /* Render as plain text. */ | |
| 126 | +#define AJAX_RENDER_HTML_IFRAME 2 /* Render as HTML inside an IFRAME. */ | |
| 127 | +#define AJAX_RENDER_HTML_INLINE 3 /* Render as HTML without an IFRAME. */ | |
| 128 | +#define AJAX_RENDER_WIKI 4 /* Render as wiki/markdown. */ | |
| 129 | +#endif | |
| 130 | + | |
| 131 | +/* | |
| 132 | +** Emits JS code which initializes the | |
| 133 | +** fossil.page.previewModes object to a map of AJAX_RENDER_xxx values | |
| 134 | +** and symbolic names for use by client-side scripts. | |
| 135 | +** | |
| 136 | +** If addScriptTag is true then the output is wrapped in a SCRIPT tag | |
| 137 | +** with the current nonce, else no SCRIPT tag is emitted.script_fossil_bootstrap() has already been | |
| 138 | +** called in order to initialize the window.fossil.page object. | |
| 139 | +*/ | |
| 140 | +void ajax_emit_js_preview_modes(int addScriptTag){ | |
| 141 | + emit_script_tag(0,0); | |
| 142 | + CX("\n"_); | |
| 143 | + } | |
| 144 | + CX("fossil.page.pditional | |
| 145 | +**Blob *pContent, u64 diffFlags)0, diffFlagsOrig, pContent, &out, &DCfg); | |
| 146 | + i if(DIFF_SIDEBYSIDE & diffFlags)/* nothing to do */ | |
| 147 | + }eelse{ | |
| 148 | + CX("",&out); | |
| 149 | + } | |
| 150 | + blob_reset(&out); | |
| 151 | +} | |
| 152 | + | |
| 153 | +/* | |
| 154 | +** Uses P(zKey) to fetch a CGI environment variable. If that var is | |
| 155 | +** NULL or starts with '0' or 'f' then this function returns false, | |
| 156 | +** else it returns true. | |
| 157 | +*/ | |
| 158 | +int ajax_p_bool(char const *zKey){ | |
| 159 | + const char * zVal = P(zKey); | |
| 160 | + return (!zal || emit_script_tag(1,0 /fileedit, the wiki/forum | |
| 161 | +** editors, and friends. | |
| 162 | +*/ | |
| 163 | +#include "config.h" | |
| 164 | +#include "ajax.h " | |
| 165 | +#include <assert.h> | |
| 166 | +#include <stdarg.h> | |
| 167 | + | |
| 168 | +#if INTERFARENDER_HTML_IFRAME 2 /* Render as HTML inside an IFRAME. */ | |
| 169 | +#define AJAX_RENDER_HTML_INLINE 3 /* Render as HTML without an IFRAME. */ | |
| 170 | +#define AJAX_RENDER_WIKI 4 /* Render as wiki/markdown. */ | |
| 171 | +#endif | |
| 172 | + | |
| 173 | +/* | |
| 174 | +** Emits JS code which initializes the | |
| 175 | +** fossil.page.previewModes object to a map of AJAX_RENDER_xxx values | |
| 176 | +** anstatic |
| --- a/src/ajax.c | |
| +++ b/src/ajax.c | |
| @@ -0,0 +1,176 @@ | |
| --- a/src/ajax.c | |
| +++ b/src/ajax.c | |
| @@ -0,0 +1,176 @@ | |
| 1 | /* |
| 2 | ** Copyright (c) 2020 D. Richard Hipp |
| 3 | ** |
| 4 | ** This program is free software; you can redistribute it and/or |
| 5 | ** modify it under the terms of the Simplified BSD License (also |
| 6 | ** known as the "2-Clause License" or "FreeBSD License".) |
| 7 | ** |
| 8 | ** This program is distributed in the hope that it will be useful, |
| 9 | ** but without any warranty; without even the implied warranty of |
| 10 | ** merchantability or fitness for a particular purpose. |
| 11 | ** |
| 12 | ** Author contact information: |
| 13 | ** [email protected] |
| 14 | ** http://www.hwaci.com/drh/ |
| 15 | ** |
| 16 | ******************************************************************************* |
| 17 | ** |
| 18 | ** This file contains shared Ajax-related code for /fileedit, the wiki/forum |
| 19 | ** editors, and friends. |
| 20 | */ |
| 21 | #include "config.h" |
| 22 | #include "ajax.h " |
| 23 | #include <assert.h> |
| 24 | #include <stdarg.h> |
| 25 | |
| 26 | #if INTERFACE |
| 27 | /* enum ajax_render_preview_flags: */ |
| 28 | #define AJAX_PREVIEW_LINE_NUMBERS 1 |
| 29 | /* enum ajax_render_modes: */ |
| 30 | #define AJAX_RENDER_GUESS 0 /* Guess rendering mode based on mimetype. */ |
| 31 | /* GUESS must be 0. All others have unspecified values. */ |
| 32 | #define AJAX_RENDER_PLAIN_TEXT 1 /* Render as plain text. */ |
| 33 | #define AJAX_RENDER_HTML_IFRAME 2 /* Render as HTML inside an IFRAME. */ |
| 34 | #define AJAX_RENDER_HTML_INLINE 3 /* Render as HTML without an IFRAME. */ |
| 35 | #define AJAX_RENDER_WIKI 4 /* Render as wiki/markdown. */ |
| 36 | #endif |
| 37 | |
| 38 | /* |
| 39 | ** Emits JS code which initializes the |
| 40 | ** fossil.page.previewModes object to a map of AJAX_RENDER_xxx values |
| 41 | ** and symbolic names for use by client-side scripts. |
| 42 | ** |
| 43 | ** If addScriptTag is true then the output is wrapped in a SCRIPT tag |
| 44 | ** with the current nonce, else no SCRIPT tag is emitted. |
| 45 | ** |
| 46 | ** Requires thatstyle |
| 47 | ** |
| 48 | ** Requires that builtin_emit_script_fossil_bootstrap() has already been |
| 49 | ** called in order to initialize the window.fossil.page object. |
| 50 | */ |
| 51 | void ajax_emit_js_preview_modes(int addScriptTag){ |
| 52 | emit_script_tag(0,0); |
| 53 | CX("\n"_); |
| 54 | } |
| 55 | CX("fossil.page.pditional |
| 56 | **Blob *pContent, u64 diffFlags)0, diffFlagsOrig, pContent, &out, &DCfg); |
| 57 | i if(DIFF_SIDEBYSIDE & diffFlags)/* nothing to do */ |
| 58 | }eelse{ |
| 59 | CX("",&out); |
| 60 | } |
| 61 | blob_reset(&out); |
| 62 | } |
| 63 | |
| 64 | /* |
| 65 | ** Uses P(zKey) to fetch a CGI environment variable. If that var is |
| 66 | ** NULL or starts with '0' or 'f' then this function returns false, |
| 67 | ** else it returns true. |
| 68 | */ |
| 69 | int ajax_p_bool(char const *zKey){ |
| 70 | const char * zVal = P(zKey); |
| 71 | return (!zal || emit_script_tag(1,0 /fileedit, the wiki/forum |
| 72 | ** editors, and friends. |
| 73 | */ |
| 74 | #include "config.h" |
| 75 | #include "ajax.h " |
| 76 | #include <assert.h> |
| 77 | #include <stdarg.h> |
| 78 | |
| 79 | #if INTERFACE |
| 80 | /* enum ajax_render_preview_flags: */ |
| 81 | #define AJAX_PREVIEW_LINE_NUMBERS 1 |
| 82 | /* enum ajax_render_modes: */ |
| 83 | #define AJAX_RENDER_GUESS 0 /* Guess rendering mode based on mimetype. */ |
| 84 | /* GUESS must be 0. All others have unspecified values. */ |
| 85 | #define AJAX_RENDER_PLAIN_TEXT 1 /* Render as plain text. */ |
| 86 | #define AJAX_RENDER_HTML_IFRAME 2 /* Render as HTML inside an IFRAME. */ |
| 87 | #define AJAX_RENDER_HTML_INLINE 3 /* Render as HTML without an IFRAME. */ |
| 88 | #define AJAX_RENDER_WIKI 4 /* Render as wiki/markdown. */ |
| 89 | #endif |
| 90 | |
| 91 | /* |
| 92 | ** Emits JS code which initializes the |
| 93 | ** fossil.page.previewModes object to a map of AJAX_RENDER_xxx values |
| 94 | ** anre; you can redistri/* |
| 95 | ** Copyright (c) 2020 D. Richard Hipp |
| 96 | ** |
| 97 | ** This program is free software; you can redistribute it and/or |
| 98 | ** modify it under the terms of the Simplified BSD License (also |
| 99 | ** known as the "2-Clause License" or "FreeBSD License".) |
| 100 | ** |
| 101 | ** This program is distributed in the hope that it will be useful, |
| 102 | ** but without any warranty; without even the implied warranty of |
| 103 | ** merchantability or fitness for a particular purpose. |
| 104 | ** |
| 105 | ** Author contact information: |
| 106 | ** [email protected] |
| 107 | ** http://www.hwaci.com/drh/ |
| 108 | ** |
| 109 | ******************************************************************************* |
| 110 | ** |
| 111 | ** This file contains shared Ajax-related code for /fileedit, the wiki/forum |
| 112 | ** editors, and friends. |
| 113 | */ |
| 114 | #include "config.h" |
| 115 | #include "ajax.h " |
| 116 | #include <assert.h> |
| 117 | #include <stdarg.h> |
| 118 | |
| 119 | #if INTERFACE |
| 120 | /* enum ajax_render_preview_flags: */ |
| 121 | #define AJAX_PREVIEW_LINE_NUMBERS 1 |
| 122 | /* enum ajax_render_modes: */ |
| 123 | #define AJAX_RENDER_GUESS 0 /* Guess rendering mode based on mimetype. */ |
| 124 | /* GUESS must be 0. All others have unspecified values. */ |
| 125 | #define AJAX_RENDER_PLAIN_TEXT 1 /* Render as plain text. */ |
| 126 | #define AJAX_RENDER_HTML_IFRAME 2 /* Render as HTML inside an IFRAME. */ |
| 127 | #define AJAX_RENDER_HTML_INLINE 3 /* Render as HTML without an IFRAME. */ |
| 128 | #define AJAX_RENDER_WIKI 4 /* Render as wiki/markdown. */ |
| 129 | #endif |
| 130 | |
| 131 | /* |
| 132 | ** Emits JS code which initializes the |
| 133 | ** fossil.page.previewModes object to a map of AJAX_RENDER_xxx values |
| 134 | ** and symbolic names for use by client-side scripts. |
| 135 | ** |
| 136 | ** If addScriptTag is true then the output is wrapped in a SCRIPT tag |
| 137 | ** with the current nonce, else no SCRIPT tag is emitted.script_fossil_bootstrap() has already been |
| 138 | ** called in order to initialize the window.fossil.page object. |
| 139 | */ |
| 140 | void ajax_emit_js_preview_modes(int addScriptTag){ |
| 141 | emit_script_tag(0,0); |
| 142 | CX("\n"_); |
| 143 | } |
| 144 | CX("fossil.page.pditional |
| 145 | **Blob *pContent, u64 diffFlags)0, diffFlagsOrig, pContent, &out, &DCfg); |
| 146 | i if(DIFF_SIDEBYSIDE & diffFlags)/* nothing to do */ |
| 147 | }eelse{ |
| 148 | CX("",&out); |
| 149 | } |
| 150 | blob_reset(&out); |
| 151 | } |
| 152 | |
| 153 | /* |
| 154 | ** Uses P(zKey) to fetch a CGI environment variable. If that var is |
| 155 | ** NULL or starts with '0' or 'f' then this function returns false, |
| 156 | ** else it returns true. |
| 157 | */ |
| 158 | int ajax_p_bool(char const *zKey){ |
| 159 | const char * zVal = P(zKey); |
| 160 | return (!zal || emit_script_tag(1,0 /fileedit, the wiki/forum |
| 161 | ** editors, and friends. |
| 162 | */ |
| 163 | #include "config.h" |
| 164 | #include "ajax.h " |
| 165 | #include <assert.h> |
| 166 | #include <stdarg.h> |
| 167 | |
| 168 | #if INTERFARENDER_HTML_IFRAME 2 /* Render as HTML inside an IFRAME. */ |
| 169 | #define AJAX_RENDER_HTML_INLINE 3 /* Render as HTML without an IFRAME. */ |
| 170 | #define AJAX_RENDER_WIKI 4 /* Render as wiki/markdown. */ |
| 171 | #endif |
| 172 | |
| 173 | /* |
| 174 | ** Emits JS code which initializes the |
| 175 | ** fossil.page.previewModes object to a map of AJAX_RENDER_xxx values |
| 176 | ** anstatic |
+4
-35
| --- src/allrepo.c | ||
| +++ src/allrepo.c | ||
| @@ -19,52 +19,26 @@ | ||
| 19 | 19 | */ |
| 20 | 20 | #include "config.h" |
| 21 | 21 | #include "allrepo.h" |
| 22 | 22 | #include <assert.h> |
| 23 | 23 | |
| 24 | -/* | |
| 25 | -** The input string is a filename. Return a new copy of this | |
| 26 | -** filename if the filename requires quoting due to special characters | |
| 27 | -** such as spaces in the name. | |
| 28 | -** | |
| 29 | -** If the filename cannot be safely quoted, return a NULL pointer. | |
| 30 | -** | |
| 31 | -** Space to hold the returned string is obtained from malloc. A new | |
| 32 | -** string is returned even if no quoting is needed. | |
| 33 | -*/ | |
| 34 | -static char *quoteFilename(const char *zFilename){ | |
| 35 | - int i, c; | |
| 36 | - int needQuote = 0; | |
| 37 | - for(i=0; (c = zFilename[i])!=0; i++){ | |
| 38 | - if( c=='"' ) return 0; | |
| 39 | - if( fossil_isspace(c) ) needQuote = 1; | |
| 40 | - if( c=='\\' && zFilename[i+1]==0 ) return 0; | |
| 41 | - if( c=='$' ) return 0; | |
| 42 | - } | |
| 43 | - if( needQuote ){ | |
| 44 | - return mprintf("\"%s\"", zFilename); | |
| 45 | - }else{ | |
| 46 | - return mprintf("%s", zFilename); | |
| 47 | - } | |
| 48 | -} | |
| 49 | - | |
| 50 | 24 | /* |
| 51 | 25 | ** Build a string that contains all of the command-line options |
| 52 | 26 | ** specified as arguments. If the option name begins with "+" then |
| 53 | 27 | ** it takes an argument. Without the "+" it does not. |
| 54 | 28 | */ |
| 55 | -static void collect_argument(Blob *pExtra, const char *zArg, const char *zShort){ | |
| 29 | +static void collect_argument(Blob *pExtra,const char *zArg,const char *zShort){ | |
| 56 | 30 | const char *z = find_option(zArg, zShort, 0); |
| 57 | 31 | if( z!=0 ){ |
| 58 | 32 | blob_appendf(pExtra, " %s", z); |
| 59 | 33 | } |
| 60 | 34 | } |
| 61 | 35 | static void collect_argument_value(Blob *pExtra, const char *zArg){ |
| 62 | 36 | const char *zValue = find_option(zArg, 0, 1); |
| 63 | 37 | if( zValue ){ |
| 64 | 38 | if( zValue[0] ){ |
| 65 | - blob_appendf(pExtra, " --%s %s", zArg, zValue); | |
| 39 | + blob_appendf(pExtra, " --%s %$", zArg, zValue); | |
| 66 | 40 | }else{ |
| 67 | 41 | blob_appendf(pExtra, " --%s \"\"", zArg); |
| 68 | 42 | } |
| 69 | 43 | } |
| 70 | 44 | } |
| @@ -169,12 +143,10 @@ | ||
| 169 | 143 | void all_cmd(void){ |
| 170 | 144 | int n; |
| 171 | 145 | Stmt q; |
| 172 | 146 | const char *zCmd; |
| 173 | 147 | char *zSyscmd; |
| 174 | - char *zFossil; | |
| 175 | - char *zQFilename; | |
| 176 | 148 | Blob extra; |
| 177 | 149 | int useCheckouts = 0; |
| 178 | 150 | int quiet = 0; |
| 179 | 151 | int dryRunFlag = 0; |
| 180 | 152 | int showFile = find_option("showfile",0,0)!=0; |
| @@ -370,11 +342,10 @@ | ||
| 370 | 342 | fossil_fatal("\"all\" subcommand should be one of: " |
| 371 | 343 | "add cache changes clean dbstat extras fts-config ignore " |
| 372 | 344 | "info list ls pull push rebuild server setting sync ui unset"); |
| 373 | 345 | } |
| 374 | 346 | verify_all_options(); |
| 375 | - zFossil = quoteFilename(g.nameOfExe); | |
| 376 | 347 | db_multi_exec("CREATE TEMP TABLE repolist(name,tag);"); |
| 377 | 348 | if( useCheckouts ){ |
| 378 | 349 | db_multi_exec( |
| 379 | 350 | "INSERT INTO repolist " |
| 380 | 351 | "SELECT DISTINCT substr(name, 7), name COLLATE nocase" |
| @@ -412,13 +383,12 @@ | ||
| 412 | 383 | continue; |
| 413 | 384 | }else if( showFile ){ |
| 414 | 385 | fossil_print("%s: %s\n", useCheckouts ? "checkout" : "repository", |
| 415 | 386 | zFilename); |
| 416 | 387 | } |
| 417 | - zQFilename = quoteFilename(zFilename); | |
| 418 | - zSyscmd = mprintf("%s %s %s%s", | |
| 419 | - zFossil, zCmd, zQFilename, blob_str(&extra)); | |
| 388 | + zSyscmd = mprintf("%$ %s %$%s", | |
| 389 | + g.nameOfExe, zCmd, zFilename, blob_str(&extra)); | |
| 420 | 390 | if( showLabel ){ |
| 421 | 391 | int len = (int)strlen(zFilename); |
| 422 | 392 | int nStar = 80 - (len + 15); |
| 423 | 393 | if( nStar<2 ) nStar = 1; |
| 424 | 394 | fossil_print("%.13c %s %.*c\n", '*', zFilename, nStar, '*'); |
| @@ -428,11 +398,10 @@ | ||
| 428 | 398 | fossil_print("%s\n", zSyscmd); |
| 429 | 399 | fflush(stdout); |
| 430 | 400 | } |
| 431 | 401 | rc = dryRunFlag ? 0 : fossil_system(zSyscmd); |
| 432 | 402 | free(zSyscmd); |
| 433 | - free(zQFilename); | |
| 434 | 403 | if( stopOnError && rc ){ |
| 435 | 404 | break; |
| 436 | 405 | } |
| 437 | 406 | } |
| 438 | 407 | db_finalize(&q); |
| 439 | 408 |
| --- src/allrepo.c | |
| +++ src/allrepo.c | |
| @@ -19,52 +19,26 @@ | |
| 19 | */ |
| 20 | #include "config.h" |
| 21 | #include "allrepo.h" |
| 22 | #include <assert.h> |
| 23 | |
| 24 | /* |
| 25 | ** The input string is a filename. Return a new copy of this |
| 26 | ** filename if the filename requires quoting due to special characters |
| 27 | ** such as spaces in the name. |
| 28 | ** |
| 29 | ** If the filename cannot be safely quoted, return a NULL pointer. |
| 30 | ** |
| 31 | ** Space to hold the returned string is obtained from malloc. A new |
| 32 | ** string is returned even if no quoting is needed. |
| 33 | */ |
| 34 | static char *quoteFilename(const char *zFilename){ |
| 35 | int i, c; |
| 36 | int needQuote = 0; |
| 37 | for(i=0; (c = zFilename[i])!=0; i++){ |
| 38 | if( c=='"' ) return 0; |
| 39 | if( fossil_isspace(c) ) needQuote = 1; |
| 40 | if( c=='\\' && zFilename[i+1]==0 ) return 0; |
| 41 | if( c=='$' ) return 0; |
| 42 | } |
| 43 | if( needQuote ){ |
| 44 | return mprintf("\"%s\"", zFilename); |
| 45 | }else{ |
| 46 | return mprintf("%s", zFilename); |
| 47 | } |
| 48 | } |
| 49 | |
| 50 | /* |
| 51 | ** Build a string that contains all of the command-line options |
| 52 | ** specified as arguments. If the option name begins with "+" then |
| 53 | ** it takes an argument. Without the "+" it does not. |
| 54 | */ |
| 55 | static void collect_argument(Blob *pExtra, const char *zArg, const char *zShort){ |
| 56 | const char *z = find_option(zArg, zShort, 0); |
| 57 | if( z!=0 ){ |
| 58 | blob_appendf(pExtra, " %s", z); |
| 59 | } |
| 60 | } |
| 61 | static void collect_argument_value(Blob *pExtra, const char *zArg){ |
| 62 | const char *zValue = find_option(zArg, 0, 1); |
| 63 | if( zValue ){ |
| 64 | if( zValue[0] ){ |
| 65 | blob_appendf(pExtra, " --%s %s", zArg, zValue); |
| 66 | }else{ |
| 67 | blob_appendf(pExtra, " --%s \"\"", zArg); |
| 68 | } |
| 69 | } |
| 70 | } |
| @@ -169,12 +143,10 @@ | |
| 169 | void all_cmd(void){ |
| 170 | int n; |
| 171 | Stmt q; |
| 172 | const char *zCmd; |
| 173 | char *zSyscmd; |
| 174 | char *zFossil; |
| 175 | char *zQFilename; |
| 176 | Blob extra; |
| 177 | int useCheckouts = 0; |
| 178 | int quiet = 0; |
| 179 | int dryRunFlag = 0; |
| 180 | int showFile = find_option("showfile",0,0)!=0; |
| @@ -370,11 +342,10 @@ | |
| 370 | fossil_fatal("\"all\" subcommand should be one of: " |
| 371 | "add cache changes clean dbstat extras fts-config ignore " |
| 372 | "info list ls pull push rebuild server setting sync ui unset"); |
| 373 | } |
| 374 | verify_all_options(); |
| 375 | zFossil = quoteFilename(g.nameOfExe); |
| 376 | db_multi_exec("CREATE TEMP TABLE repolist(name,tag);"); |
| 377 | if( useCheckouts ){ |
| 378 | db_multi_exec( |
| 379 | "INSERT INTO repolist " |
| 380 | "SELECT DISTINCT substr(name, 7), name COLLATE nocase" |
| @@ -412,13 +383,12 @@ | |
| 412 | continue; |
| 413 | }else if( showFile ){ |
| 414 | fossil_print("%s: %s\n", useCheckouts ? "checkout" : "repository", |
| 415 | zFilename); |
| 416 | } |
| 417 | zQFilename = quoteFilename(zFilename); |
| 418 | zSyscmd = mprintf("%s %s %s%s", |
| 419 | zFossil, zCmd, zQFilename, blob_str(&extra)); |
| 420 | if( showLabel ){ |
| 421 | int len = (int)strlen(zFilename); |
| 422 | int nStar = 80 - (len + 15); |
| 423 | if( nStar<2 ) nStar = 1; |
| 424 | fossil_print("%.13c %s %.*c\n", '*', zFilename, nStar, '*'); |
| @@ -428,11 +398,10 @@ | |
| 428 | fossil_print("%s\n", zSyscmd); |
| 429 | fflush(stdout); |
| 430 | } |
| 431 | rc = dryRunFlag ? 0 : fossil_system(zSyscmd); |
| 432 | free(zSyscmd); |
| 433 | free(zQFilename); |
| 434 | if( stopOnError && rc ){ |
| 435 | break; |
| 436 | } |
| 437 | } |
| 438 | db_finalize(&q); |
| 439 |
| --- src/allrepo.c | |
| +++ src/allrepo.c | |
| @@ -19,52 +19,26 @@ | |
| 19 | */ |
| 20 | #include "config.h" |
| 21 | #include "allrepo.h" |
| 22 | #include <assert.h> |
| 23 | |
| 24 | /* |
| 25 | ** Build a string that contains all of the command-line options |
| 26 | ** specified as arguments. If the option name begins with "+" then |
| 27 | ** it takes an argument. Without the "+" it does not. |
| 28 | */ |
| 29 | static void collect_argument(Blob *pExtra,const char *zArg,const char *zShort){ |
| 30 | const char *z = find_option(zArg, zShort, 0); |
| 31 | if( z!=0 ){ |
| 32 | blob_appendf(pExtra, " %s", z); |
| 33 | } |
| 34 | } |
| 35 | static void collect_argument_value(Blob *pExtra, const char *zArg){ |
| 36 | const char *zValue = find_option(zArg, 0, 1); |
| 37 | if( zValue ){ |
| 38 | if( zValue[0] ){ |
| 39 | blob_appendf(pExtra, " --%s %$", zArg, zValue); |
| 40 | }else{ |
| 41 | blob_appendf(pExtra, " --%s \"\"", zArg); |
| 42 | } |
| 43 | } |
| 44 | } |
| @@ -169,12 +143,10 @@ | |
| 143 | void all_cmd(void){ |
| 144 | int n; |
| 145 | Stmt q; |
| 146 | const char *zCmd; |
| 147 | char *zSyscmd; |
| 148 | Blob extra; |
| 149 | int useCheckouts = 0; |
| 150 | int quiet = 0; |
| 151 | int dryRunFlag = 0; |
| 152 | int showFile = find_option("showfile",0,0)!=0; |
| @@ -370,11 +342,10 @@ | |
| 342 | fossil_fatal("\"all\" subcommand should be one of: " |
| 343 | "add cache changes clean dbstat extras fts-config ignore " |
| 344 | "info list ls pull push rebuild server setting sync ui unset"); |
| 345 | } |
| 346 | verify_all_options(); |
| 347 | db_multi_exec("CREATE TEMP TABLE repolist(name,tag);"); |
| 348 | if( useCheckouts ){ |
| 349 | db_multi_exec( |
| 350 | "INSERT INTO repolist " |
| 351 | "SELECT DISTINCT substr(name, 7), name COLLATE nocase" |
| @@ -412,13 +383,12 @@ | |
| 383 | continue; |
| 384 | }else if( showFile ){ |
| 385 | fossil_print("%s: %s\n", useCheckouts ? "checkout" : "repository", |
| 386 | zFilename); |
| 387 | } |
| 388 | zSyscmd = mprintf("%$ %s %$%s", |
| 389 | g.nameOfExe, zCmd, zFilename, blob_str(&extra)); |
| 390 | if( showLabel ){ |
| 391 | int len = (int)strlen(zFilename); |
| 392 | int nStar = 80 - (len + 15); |
| 393 | if( nStar<2 ) nStar = 1; |
| 394 | fossil_print("%.13c %s %.*c\n", '*', zFilename, nStar, '*'); |
| @@ -428,11 +398,10 @@ | |
| 398 | fossil_print("%s\n", zSyscmd); |
| 399 | fflush(stdout); |
| 400 | } |
| 401 | rc = dryRunFlag ? 0 : fossil_system(zSyscmd); |
| 402 | free(zSyscmd); |
| 403 | if( stopOnError && rc ){ |
| 404 | break; |
| 405 | } |
| 406 | } |
| 407 | db_finalize(&q); |
| 408 |
+57
-4
| --- src/blob.c | ||
| +++ src/blob.c | ||
| @@ -1301,35 +1301,88 @@ | ||
| 1301 | 1301 | char c; |
| 1302 | 1302 | int needEscape = 0; |
| 1303 | 1303 | int n = blob_size(pBlob); |
| 1304 | 1304 | char *z = blob_buffer(pBlob); |
| 1305 | 1305 | #if defined(_WIN32) |
| 1306 | + const char cDirSep = '\\'; /* Use \ as directory separator */ | |
| 1306 | 1307 | const char cQuote = '"'; /* Use "..." quoting on windows */ |
| 1308 | + const char cEscape = '^'; /* Use ^X escaping on windows */ | |
| 1307 | 1309 | #else |
| 1310 | + const char cDirSep = '/'; /* Use / as directory separator */ | |
| 1308 | 1311 | const char cQuote = '\''; /* Use '...' quoting on unix */ |
| 1312 | + const char cEscape = '\\'; /* Use \X escaping on unix */ | |
| 1309 | 1313 | #endif |
| 1310 | 1314 | |
| 1311 | 1315 | for(i=0; (c = zIn[i])!=0; i++){ |
| 1312 | 1316 | if( c==cQuote || (unsigned char)c<' ' || |
| 1313 | - c=='\\' || c==';' || c=='*' || c=='?' || c=='[' ){ | |
| 1317 | + c==cEscape || c==';' || c=='*' || c=='?' || c=='[' ){ | |
| 1314 | 1318 | Blob bad; |
| 1315 | 1319 | blob_token(pBlob, &bad); |
| 1316 | 1320 | fossil_fatal("the [%s] argument to the \"%s\" command contains " |
| 1317 | 1321 | "a character (ascii 0x%02x) that is a security risk", |
| 1318 | 1322 | zIn, blob_str(&bad), c); |
| 1319 | 1323 | } |
| 1320 | - if( !needEscape && !fossil_isalnum(c) && c!='/' && c!='.' && c!='_' ){ | |
| 1324 | + if( !needEscape && !fossil_isalnum(c) && c!=cDirSep && c!='.' && c!='_' ){ | |
| 1321 | 1325 | needEscape = 1; |
| 1322 | 1326 | } |
| 1323 | 1327 | } |
| 1324 | 1328 | if( n>0 && !fossil_isspace(z[n-1]) ){ |
| 1325 | 1329 | blob_append_char(pBlob, ' '); |
| 1326 | 1330 | } |
| 1327 | 1331 | if( needEscape ) blob_append_char(pBlob, cQuote); |
| 1328 | - if( zIn[0]=='-' ) blob_append(pBlob, "./", 2); | |
| 1332 | + if( zIn[0]=='-' ){ | |
| 1333 | + blob_append_char(pBlob, '.'); | |
| 1334 | + blob_append_char(pBlob, cDirSep); | |
| 1335 | +#if defined(_WIN32) | |
| 1336 | + }else if( zIn[0]=='/' ){ | |
| 1337 | + blob_append_char(pBlob, '.'); | |
| 1338 | +#endif | |
| 1339 | + } | |
| 1340 | +#if defined(_WIN32) | |
| 1341 | + if( needEscape ){ | |
| 1342 | + for(i=0; (c = zIn[i])!=0; i++){ | |
| 1343 | + if( c==cQuote ) blob_append_char(pBlob, cDirSep); | |
| 1344 | + blob_append_char(pBlob, c); | |
| 1345 | + } | |
| 1346 | + }else{ | |
| 1347 | + blob_append(pBlob, zIn, -1); | |
| 1348 | + } | |
| 1349 | +#else | |
| 1329 | 1350 | blob_append(pBlob, zIn, -1); |
| 1330 | - if( needEscape ) blob_append_char(pBlob, cQuote); | |
| 1351 | +#endif | |
| 1352 | + if( needEscape ){ | |
| 1353 | +#if defined(_WIN32) | |
| 1354 | + /* NOTE: Trailing backslash must be doubled before final double quote. */ | |
| 1355 | + if( pBlob->aData[pBlob->nUsed-1]==cDirSep ){ | |
| 1356 | + blob_append_char(pBlob, cDirSep); | |
| 1357 | + } | |
| 1358 | +#endif | |
| 1359 | + blob_append_char(pBlob, cQuote); | |
| 1360 | + } | |
| 1361 | +} | |
| 1362 | + | |
| 1363 | +/* | |
| 1364 | +** COMMAND: test-escaped-arg | |
| 1365 | +** | |
| 1366 | +** Usage %fossil ARG ... | |
| 1367 | +** | |
| 1368 | +** Run each argment through blob_append_escaped_arg() and show the | |
| 1369 | +** result. Append each argument to "fossil test-echo" and run that | |
| 1370 | +** using fossil_system() to verify that it really does get escaped | |
| 1371 | +** correctly. | |
| 1372 | +*/ | |
| 1373 | +void test_escaped_arg__cmd(void){ | |
| 1374 | + int i; | |
| 1375 | + Blob x; | |
| 1376 | + blob_init(&x, 0, 0); | |
| 1377 | + for(i=2; i<g.argc; i++){ | |
| 1378 | + fossil_print("%3d [%s]: ", i, g.argv[i]); | |
| 1379 | + blob_appendf(&x, "fossil test-echo %$", g.argv[i]); | |
| 1380 | + fossil_print("%s\n", blob_str(&x)); | |
| 1381 | + fossil_system(blob_str(&x)); | |
| 1382 | + blob_reset(&x); | |
| 1383 | + } | |
| 1331 | 1384 | } |
| 1332 | 1385 | |
| 1333 | 1386 | /* |
| 1334 | 1387 | ** A read(2)-like impl for the Blob class. Reads (copies) up to nLen |
| 1335 | 1388 | ** bytes from pIn, starting at position pIn->iCursor, and copies them |
| 1336 | 1389 |
| --- src/blob.c | |
| +++ src/blob.c | |
| @@ -1301,35 +1301,88 @@ | |
| 1301 | char c; |
| 1302 | int needEscape = 0; |
| 1303 | int n = blob_size(pBlob); |
| 1304 | char *z = blob_buffer(pBlob); |
| 1305 | #if defined(_WIN32) |
| 1306 | const char cQuote = '"'; /* Use "..." quoting on windows */ |
| 1307 | #else |
| 1308 | const char cQuote = '\''; /* Use '...' quoting on unix */ |
| 1309 | #endif |
| 1310 | |
| 1311 | for(i=0; (c = zIn[i])!=0; i++){ |
| 1312 | if( c==cQuote || (unsigned char)c<' ' || |
| 1313 | c=='\\' || c==';' || c=='*' || c=='?' || c=='[' ){ |
| 1314 | Blob bad; |
| 1315 | blob_token(pBlob, &bad); |
| 1316 | fossil_fatal("the [%s] argument to the \"%s\" command contains " |
| 1317 | "a character (ascii 0x%02x) that is a security risk", |
| 1318 | zIn, blob_str(&bad), c); |
| 1319 | } |
| 1320 | if( !needEscape && !fossil_isalnum(c) && c!='/' && c!='.' && c!='_' ){ |
| 1321 | needEscape = 1; |
| 1322 | } |
| 1323 | } |
| 1324 | if( n>0 && !fossil_isspace(z[n-1]) ){ |
| 1325 | blob_append_char(pBlob, ' '); |
| 1326 | } |
| 1327 | if( needEscape ) blob_append_char(pBlob, cQuote); |
| 1328 | if( zIn[0]=='-' ) blob_append(pBlob, "./", 2); |
| 1329 | blob_append(pBlob, zIn, -1); |
| 1330 | if( needEscape ) blob_append_char(pBlob, cQuote); |
| 1331 | } |
| 1332 | |
| 1333 | /* |
| 1334 | ** A read(2)-like impl for the Blob class. Reads (copies) up to nLen |
| 1335 | ** bytes from pIn, starting at position pIn->iCursor, and copies them |
| 1336 |
| --- src/blob.c | |
| +++ src/blob.c | |
| @@ -1301,35 +1301,88 @@ | |
| 1301 | char c; |
| 1302 | int needEscape = 0; |
| 1303 | int n = blob_size(pBlob); |
| 1304 | char *z = blob_buffer(pBlob); |
| 1305 | #if defined(_WIN32) |
| 1306 | const char cDirSep = '\\'; /* Use \ as directory separator */ |
| 1307 | const char cQuote = '"'; /* Use "..." quoting on windows */ |
| 1308 | const char cEscape = '^'; /* Use ^X escaping on windows */ |
| 1309 | #else |
| 1310 | const char cDirSep = '/'; /* Use / as directory separator */ |
| 1311 | const char cQuote = '\''; /* Use '...' quoting on unix */ |
| 1312 | const char cEscape = '\\'; /* Use \X escaping on unix */ |
| 1313 | #endif |
| 1314 | |
| 1315 | for(i=0; (c = zIn[i])!=0; i++){ |
| 1316 | if( c==cQuote || (unsigned char)c<' ' || |
| 1317 | c==cEscape || c==';' || c=='*' || c=='?' || c=='[' ){ |
| 1318 | Blob bad; |
| 1319 | blob_token(pBlob, &bad); |
| 1320 | fossil_fatal("the [%s] argument to the \"%s\" command contains " |
| 1321 | "a character (ascii 0x%02x) that is a security risk", |
| 1322 | zIn, blob_str(&bad), c); |
| 1323 | } |
| 1324 | if( !needEscape && !fossil_isalnum(c) && c!=cDirSep && c!='.' && c!='_' ){ |
| 1325 | needEscape = 1; |
| 1326 | } |
| 1327 | } |
| 1328 | if( n>0 && !fossil_isspace(z[n-1]) ){ |
| 1329 | blob_append_char(pBlob, ' '); |
| 1330 | } |
| 1331 | if( needEscape ) blob_append_char(pBlob, cQuote); |
| 1332 | if( zIn[0]=='-' ){ |
| 1333 | blob_append_char(pBlob, '.'); |
| 1334 | blob_append_char(pBlob, cDirSep); |
| 1335 | #if defined(_WIN32) |
| 1336 | }else if( zIn[0]=='/' ){ |
| 1337 | blob_append_char(pBlob, '.'); |
| 1338 | #endif |
| 1339 | } |
| 1340 | #if defined(_WIN32) |
| 1341 | if( needEscape ){ |
| 1342 | for(i=0; (c = zIn[i])!=0; i++){ |
| 1343 | if( c==cQuote ) blob_append_char(pBlob, cDirSep); |
| 1344 | blob_append_char(pBlob, c); |
| 1345 | } |
| 1346 | }else{ |
| 1347 | blob_append(pBlob, zIn, -1); |
| 1348 | } |
| 1349 | #else |
| 1350 | blob_append(pBlob, zIn, -1); |
| 1351 | #endif |
| 1352 | if( needEscape ){ |
| 1353 | #if defined(_WIN32) |
| 1354 | /* NOTE: Trailing backslash must be doubled before final double quote. */ |
| 1355 | if( pBlob->aData[pBlob->nUsed-1]==cDirSep ){ |
| 1356 | blob_append_char(pBlob, cDirSep); |
| 1357 | } |
| 1358 | #endif |
| 1359 | blob_append_char(pBlob, cQuote); |
| 1360 | } |
| 1361 | } |
| 1362 | |
| 1363 | /* |
| 1364 | ** COMMAND: test-escaped-arg |
| 1365 | ** |
| 1366 | ** Usage %fossil ARG ... |
| 1367 | ** |
| 1368 | ** Run each argment through blob_append_escaped_arg() and show the |
| 1369 | ** result. Append each argument to "fossil test-echo" and run that |
| 1370 | ** using fossil_system() to verify that it really does get escaped |
| 1371 | ** correctly. |
| 1372 | */ |
| 1373 | void test_escaped_arg__cmd(void){ |
| 1374 | int i; |
| 1375 | Blob x; |
| 1376 | blob_init(&x, 0, 0); |
| 1377 | for(i=2; i<g.argc; i++){ |
| 1378 | fossil_print("%3d [%s]: ", i, g.argv[i]); |
| 1379 | blob_appendf(&x, "fossil test-echo %$", g.argv[i]); |
| 1380 | fossil_print("%s\n", blob_str(&x)); |
| 1381 | fossil_system(blob_str(&x)); |
| 1382 | blob_reset(&x); |
| 1383 | } |
| 1384 | } |
| 1385 | |
| 1386 | /* |
| 1387 | ** A read(2)-like impl for the Blob class. Reads (copies) up to nLen |
| 1388 | ** bytes from pIn, starting at position pIn->iCursor, and copies them |
| 1389 |
+2
-2
| --- src/branch.c | ||
| +++ src/branch.c | ||
| @@ -384,13 +384,13 @@ | ||
| 384 | 384 | ** Options: |
| 385 | 385 | ** -R|--repository FILE Run commands on repository FILE |
| 386 | 386 | ** |
| 387 | 387 | ** Summary: |
| 388 | 388 | ** fossil branch current |
| 389 | -** fossil branch info BRANCHNAME | |
| 389 | +** fossil branch info BRANCH-NAME | |
| 390 | 390 | ** fossil branch [list|ls] |
| 391 | -** fossil branch new | |
| 391 | +** fossil branch new BRANCH-NAME BASIS | |
| 392 | 392 | */ |
| 393 | 393 | void branch_cmd(void){ |
| 394 | 394 | int n; |
| 395 | 395 | const char *zCmd = "list"; |
| 396 | 396 | db_find_and_open_repository(0, 0); |
| 397 | 397 |
| --- src/branch.c | |
| +++ src/branch.c | |
| @@ -384,13 +384,13 @@ | |
| 384 | ** Options: |
| 385 | ** -R|--repository FILE Run commands on repository FILE |
| 386 | ** |
| 387 | ** Summary: |
| 388 | ** fossil branch current |
| 389 | ** fossil branch info BRANCHNAME |
| 390 | ** fossil branch [list|ls] |
| 391 | ** fossil branch new |
| 392 | */ |
| 393 | void branch_cmd(void){ |
| 394 | int n; |
| 395 | const char *zCmd = "list"; |
| 396 | db_find_and_open_repository(0, 0); |
| 397 |
| --- src/branch.c | |
| +++ src/branch.c | |
| @@ -384,13 +384,13 @@ | |
| 384 | ** Options: |
| 385 | ** -R|--repository FILE Run commands on repository FILE |
| 386 | ** |
| 387 | ** Summary: |
| 388 | ** fossil branch current |
| 389 | ** fossil branch info BRANCH-NAME |
| 390 | ** fossil branch [list|ls] |
| 391 | ** fossil branch new BRANCH-NAME BASIS |
| 392 | */ |
| 393 | void branch_cmd(void){ |
| 394 | int n; |
| 395 | const char *zCmd = "list"; |
| 396 | db_find_and_open_repository(0, 0); |
| 397 |
+1
| --- src/browse.c | ||
| +++ src/browse.c | ||
| @@ -390,10 +390,11 @@ | ||
| 390 | 390 | @ </iframe> |
| 391 | 391 | }else{ |
| 392 | 392 | Blob content; |
| 393 | 393 | const char *zMime = mimetype_from_name(zName); |
| 394 | 394 | content_get(rid, &content); |
| 395 | + safe_html_context(DOCSRC_FILE); | |
| 395 | 396 | wiki_render_by_mimetype(&content, zMime); |
| 396 | 397 | } |
| 397 | 398 | } |
| 398 | 399 | } |
| 399 | 400 | db_finalize(&q); |
| 400 | 401 |
| --- src/browse.c | |
| +++ src/browse.c | |
| @@ -390,10 +390,11 @@ | |
| 390 | @ </iframe> |
| 391 | }else{ |
| 392 | Blob content; |
| 393 | const char *zMime = mimetype_from_name(zName); |
| 394 | content_get(rid, &content); |
| 395 | wiki_render_by_mimetype(&content, zMime); |
| 396 | } |
| 397 | } |
| 398 | } |
| 399 | db_finalize(&q); |
| 400 |
| --- src/browse.c | |
| +++ src/browse.c | |
| @@ -390,10 +390,11 @@ | |
| 390 | @ </iframe> |
| 391 | }else{ |
| 392 | Blob content; |
| 393 | const char *zMime = mimetype_from_name(zName); |
| 394 | content_get(rid, &content); |
| 395 | safe_html_context(DOCSRC_FILE); |
| 396 | wiki_render_by_mimetype(&content, zMime); |
| 397 | } |
| 398 | } |
| 399 | } |
| 400 | db_finalize(&q); |
| 401 |
+2
-17
| --- src/checkin.c | ||
| +++ src/checkin.c | ||
| @@ -1174,26 +1174,11 @@ | ||
| 1174 | 1174 | char *zFile; |
| 1175 | 1175 | Blob reply, line; |
| 1176 | 1176 | char *zComment; |
| 1177 | 1177 | int i; |
| 1178 | 1178 | |
| 1179 | - zEditor = db_get("editor", 0); | |
| 1180 | - if( zEditor==0 ){ | |
| 1181 | - zEditor = fossil_getenv("VISUAL"); | |
| 1182 | - } | |
| 1183 | - if( zEditor==0 ){ | |
| 1184 | - zEditor = fossil_getenv("EDITOR"); | |
| 1185 | - } | |
| 1186 | -#if defined(_WIN32) || defined(__CYGWIN__) | |
| 1187 | - if( zEditor==0 ){ | |
| 1188 | - zEditor = mprintf("%s\\notepad.exe", fossil_getenv("SYSTEMROOT")); | |
| 1189 | -#if defined(__CYGWIN__) | |
| 1190 | - zEditor = fossil_utf8_to_path(zEditor, 0); | |
| 1191 | - blob_add_cr(pPrompt); | |
| 1192 | -#endif | |
| 1193 | - } | |
| 1194 | -#endif | |
| 1179 | + zEditor = fossil_text_editor();db_get("editor", 0); | |
| 1195 | 1180 | if( zEditor==0 ){ |
| 1196 | 1181 | if( blob_size(pPrompt)>0 ){ |
| 1197 | 1182 | blob_append(pPrompt, |
| 1198 | 1183 | "#\n" |
| 1199 | 1184 | "# Since no default text editor is set using EDITOR or VISUAL\n" |
| @@ -1219,11 +1204,11 @@ | ||
| 1219 | 1204 | #if defined(_WIN32) |
| 1220 | 1205 | blob_add_cr(pPrompt); |
| 1221 | 1206 | #endif |
| 1222 | 1207 | if( blob_size(pPrompt)>0 ) blob_write_to_file(pPrompt, zFile); |
| 1223 | 1208 | if( zEditor ){ |
| 1224 | - zCmd = mprintf("%s \"%s\"", zEditor, zFile); | |
| 1209 | + zCmd = mprintf("%s %$", zEditor, zFile); | |
| 1225 | 1210 | fossil_print("%s\n", zCmd); |
| 1226 | 1211 | if( fossil_system(zCmd) ){ |
| 1227 | 1212 | fossil_fatal("editor aborted: \"%s\"", zCmd); |
| 1228 | 1213 | } |
| 1229 | 1214 | |
| 1230 | 1215 |
| --- src/checkin.c | |
| +++ src/checkin.c | |
| @@ -1174,26 +1174,11 @@ | |
| 1174 | char *zFile; |
| 1175 | Blob reply, line; |
| 1176 | char *zComment; |
| 1177 | int i; |
| 1178 | |
| 1179 | zEditor = db_get("editor", 0); |
| 1180 | if( zEditor==0 ){ |
| 1181 | zEditor = fossil_getenv("VISUAL"); |
| 1182 | } |
| 1183 | if( zEditor==0 ){ |
| 1184 | zEditor = fossil_getenv("EDITOR"); |
| 1185 | } |
| 1186 | #if defined(_WIN32) || defined(__CYGWIN__) |
| 1187 | if( zEditor==0 ){ |
| 1188 | zEditor = mprintf("%s\\notepad.exe", fossil_getenv("SYSTEMROOT")); |
| 1189 | #if defined(__CYGWIN__) |
| 1190 | zEditor = fossil_utf8_to_path(zEditor, 0); |
| 1191 | blob_add_cr(pPrompt); |
| 1192 | #endif |
| 1193 | } |
| 1194 | #endif |
| 1195 | if( zEditor==0 ){ |
| 1196 | if( blob_size(pPrompt)>0 ){ |
| 1197 | blob_append(pPrompt, |
| 1198 | "#\n" |
| 1199 | "# Since no default text editor is set using EDITOR or VISUAL\n" |
| @@ -1219,11 +1204,11 @@ | |
| 1219 | #if defined(_WIN32) |
| 1220 | blob_add_cr(pPrompt); |
| 1221 | #endif |
| 1222 | if( blob_size(pPrompt)>0 ) blob_write_to_file(pPrompt, zFile); |
| 1223 | if( zEditor ){ |
| 1224 | zCmd = mprintf("%s \"%s\"", zEditor, zFile); |
| 1225 | fossil_print("%s\n", zCmd); |
| 1226 | if( fossil_system(zCmd) ){ |
| 1227 | fossil_fatal("editor aborted: \"%s\"", zCmd); |
| 1228 | } |
| 1229 | |
| 1230 |
| --- src/checkin.c | |
| +++ src/checkin.c | |
| @@ -1174,26 +1174,11 @@ | |
| 1174 | char *zFile; |
| 1175 | Blob reply, line; |
| 1176 | char *zComment; |
| 1177 | int i; |
| 1178 | |
| 1179 | zEditor = fossil_text_editor();db_get("editor", 0); |
| 1180 | if( zEditor==0 ){ |
| 1181 | if( blob_size(pPrompt)>0 ){ |
| 1182 | blob_append(pPrompt, |
| 1183 | "#\n" |
| 1184 | "# Since no default text editor is set using EDITOR or VISUAL\n" |
| @@ -1219,11 +1204,11 @@ | |
| 1204 | #if defined(_WIN32) |
| 1205 | blob_add_cr(pPrompt); |
| 1206 | #endif |
| 1207 | if( blob_size(pPrompt)>0 ) blob_write_to_file(pPrompt, zFile); |
| 1208 | if( zEditor ){ |
| 1209 | zCmd = mprintf("%s %$", zEditor, zFile); |
| 1210 | fossil_print("%s\n", zCmd); |
| 1211 | if( fossil_system(zCmd) ){ |
| 1212 | fossil_fatal("editor aborted: \"%s\"", zCmd); |
| 1213 | } |
| 1214 | |
| 1215 |
+2
-1
| --- src/config.h | ||
| +++ src/config.h | ||
| @@ -254,11 +254,12 @@ | ||
| 254 | 254 | #endif |
| 255 | 255 | |
| 256 | 256 | /* |
| 257 | 257 | ** Number of elements in an array |
| 258 | 258 | */ |
| 259 | -#define count(X) (sizeof(X)/sizeof(X[0])) | |
| 259 | +#define count(X) (int)(sizeof(X)/sizeof(X[0])) | |
| 260 | +#define ArraySize(X) (int)(sizeof(X)/sizeof(X[0])) | |
| 260 | 261 | |
| 261 | 262 | /* |
| 262 | 263 | ** The pledge() interface is currently only available on OpenBSD 5.9 |
| 263 | 264 | ** and later. Make calls to fossil_pledge() no-ops on all platforms |
| 264 | 265 | ** that omit the HAVE_PLEDGE configuration parameter. |
| 265 | 266 |
| --- src/config.h | |
| +++ src/config.h | |
| @@ -254,11 +254,12 @@ | |
| 254 | #endif |
| 255 | |
| 256 | /* |
| 257 | ** Number of elements in an array |
| 258 | */ |
| 259 | #define count(X) (sizeof(X)/sizeof(X[0])) |
| 260 | |
| 261 | /* |
| 262 | ** The pledge() interface is currently only available on OpenBSD 5.9 |
| 263 | ** and later. Make calls to fossil_pledge() no-ops on all platforms |
| 264 | ** that omit the HAVE_PLEDGE configuration parameter. |
| 265 |
| --- src/config.h | |
| +++ src/config.h | |
| @@ -254,11 +254,12 @@ | |
| 254 | #endif |
| 255 | |
| 256 | /* |
| 257 | ** Number of elements in an array |
| 258 | */ |
| 259 | #define count(X) (int)(sizeof(X)/sizeof(X[0])) |
| 260 | #define ArraySize(X) (int)(sizeof(X)/sizeof(X[0])) |
| 261 | |
| 262 | /* |
| 263 | ** The pledge() interface is currently only available on OpenBSD 5.9 |
| 264 | ** and later. Make calls to fossil_pledge() no-ops on all platforms |
| 265 | ** that omit the HAVE_PLEDGE configuration parameter. |
| 266 |
M
src/db.c
+30
-2
| --- src/db.c | ||
| +++ src/db.c | ||
| @@ -489,11 +489,11 @@ | ||
| 489 | 489 | /* |
| 490 | 490 | ** Reset or finalize a statement. |
| 491 | 491 | */ |
| 492 | 492 | int db_reset(Stmt *pStmt){ |
| 493 | 493 | int rc; |
| 494 | - db_stats(pStmt); | |
| 494 | + if( g.fSqlStats ){ db_stats(pStmt); } | |
| 495 | 495 | rc = sqlite3_reset(pStmt->pStmt); |
| 496 | 496 | db_check_result(rc, pStmt); |
| 497 | 497 | return rc; |
| 498 | 498 | } |
| 499 | 499 | int db_finalize(Stmt *pStmt){ |
| @@ -506,11 +506,11 @@ | ||
| 506 | 506 | }else if( db.pAllStmt==pStmt ){ |
| 507 | 507 | db.pAllStmt = pStmt->pNext; |
| 508 | 508 | } |
| 509 | 509 | pStmt->pNext = 0; |
| 510 | 510 | pStmt->pPrev = 0; |
| 511 | - db_stats(pStmt); | |
| 511 | + if( g.fSqlStats ){ db_stats(pStmt); } | |
| 512 | 512 | blob_reset(&pStmt->sql); |
| 513 | 513 | rc = sqlite3_finalize(pStmt->pStmt); |
| 514 | 514 | db_check_result(rc, pStmt); |
| 515 | 515 | pStmt->pStmt = 0; |
| 516 | 516 | return rc; |
| @@ -1182,10 +1182,36 @@ | ||
| 1182 | 1182 | } |
| 1183 | 1183 | }else{ |
| 1184 | 1184 | fossil_panic("failed to open pid %lu: %lu", processId, GetLastError()); |
| 1185 | 1185 | } |
| 1186 | 1186 | } |
| 1187 | + | |
| 1188 | +/* | |
| 1189 | +** This function evaluates the specified TH1 script and attempts to parse | |
| 1190 | +** its result as a colon-delimited triplet containing a process identifier, | |
| 1191 | +** address, and size (in bytes) of the database encryption key. This is | |
| 1192 | +** only necessary (or functional) on Windows. | |
| 1193 | +*/ | |
| 1194 | +void db_read_saved_encryption_key_from_process_via_th1( | |
| 1195 | + const char *zConfig /* The TH1 script to evaluate. */ | |
| 1196 | +){ | |
| 1197 | + int rc; | |
| 1198 | + char *zResult; | |
| 1199 | + Th_FossilInit(TH_INIT_DEFAULT | TH_INIT_NEED_CONFIG | TH_INIT_NO_REPO); | |
| 1200 | + rc = Th_Eval(g.interp, 0, zConfig, -1); | |
| 1201 | + zResult = (char*)Th_GetResult(g.interp, 0); | |
| 1202 | + if( rc!=TH_OK ){ | |
| 1203 | + fossil_fatal("script for pid key failed: %s", zResult); | |
| 1204 | + } | |
| 1205 | + if( zResult ){ | |
| 1206 | + DWORD processId = 0; | |
| 1207 | + LPVOID pAddress = NULL; | |
| 1208 | + SIZE_T nSize = 0; | |
| 1209 | + parse_pid_key_value(zResult, &processId, &pAddress, &nSize); | |
| 1210 | + db_read_saved_encryption_key_from_process(processId, pAddress, nSize); | |
| 1211 | + } | |
| 1212 | +} | |
| 1187 | 1213 | #endif /* defined(_WIN32) */ |
| 1188 | 1214 | #endif /* USE_SEE */ |
| 1189 | 1215 | |
| 1190 | 1216 | /* |
| 1191 | 1217 | ** If the database file zDbFile has a name that suggests that it is |
| @@ -1386,10 +1412,11 @@ | ||
| 1386 | 1412 | int rc; |
| 1387 | 1413 | sqlite3_wal_checkpoint(g.db, 0); |
| 1388 | 1414 | rc = sqlite3_close(g.db); |
| 1389 | 1415 | if( g.fSqlTrace ) fossil_trace("-- db_close_config(%d)\n", rc); |
| 1390 | 1416 | g.db = 0; |
| 1417 | + g.repositoryOpen = 0; | |
| 1391 | 1418 | }else{ |
| 1392 | 1419 | return; |
| 1393 | 1420 | } |
| 1394 | 1421 | fossil_free(g.zConfigDbName); |
| 1395 | 1422 | g.zConfigDbName = 0; |
| @@ -3932,10 +3959,11 @@ | ||
| 3932 | 3959 | sqlite3_open(":memory:", &g.db); |
| 3933 | 3960 | rDiff = db_double(0.0, "SELECT julianday('now') - julianday(%Q)", g.argv[2]); |
| 3934 | 3961 | fossil_print("Time differences: %s\n", db_timespan_name(rDiff)); |
| 3935 | 3962 | sqlite3_close(g.db); |
| 3936 | 3963 | g.db = 0; |
| 3964 | + g.repositoryOpen = 0; | |
| 3937 | 3965 | } |
| 3938 | 3966 | |
| 3939 | 3967 | /* |
| 3940 | 3968 | ** COMMAND: test-without-rowid |
| 3941 | 3969 | ** |
| 3942 | 3970 |
| --- src/db.c | |
| +++ src/db.c | |
| @@ -489,11 +489,11 @@ | |
| 489 | /* |
| 490 | ** Reset or finalize a statement. |
| 491 | */ |
| 492 | int db_reset(Stmt *pStmt){ |
| 493 | int rc; |
| 494 | db_stats(pStmt); |
| 495 | rc = sqlite3_reset(pStmt->pStmt); |
| 496 | db_check_result(rc, pStmt); |
| 497 | return rc; |
| 498 | } |
| 499 | int db_finalize(Stmt *pStmt){ |
| @@ -506,11 +506,11 @@ | |
| 506 | }else if( db.pAllStmt==pStmt ){ |
| 507 | db.pAllStmt = pStmt->pNext; |
| 508 | } |
| 509 | pStmt->pNext = 0; |
| 510 | pStmt->pPrev = 0; |
| 511 | db_stats(pStmt); |
| 512 | blob_reset(&pStmt->sql); |
| 513 | rc = sqlite3_finalize(pStmt->pStmt); |
| 514 | db_check_result(rc, pStmt); |
| 515 | pStmt->pStmt = 0; |
| 516 | return rc; |
| @@ -1182,10 +1182,36 @@ | |
| 1182 | } |
| 1183 | }else{ |
| 1184 | fossil_panic("failed to open pid %lu: %lu", processId, GetLastError()); |
| 1185 | } |
| 1186 | } |
| 1187 | #endif /* defined(_WIN32) */ |
| 1188 | #endif /* USE_SEE */ |
| 1189 | |
| 1190 | /* |
| 1191 | ** If the database file zDbFile has a name that suggests that it is |
| @@ -1386,10 +1412,11 @@ | |
| 1386 | int rc; |
| 1387 | sqlite3_wal_checkpoint(g.db, 0); |
| 1388 | rc = sqlite3_close(g.db); |
| 1389 | if( g.fSqlTrace ) fossil_trace("-- db_close_config(%d)\n", rc); |
| 1390 | g.db = 0; |
| 1391 | }else{ |
| 1392 | return; |
| 1393 | } |
| 1394 | fossil_free(g.zConfigDbName); |
| 1395 | g.zConfigDbName = 0; |
| @@ -3932,10 +3959,11 @@ | |
| 3932 | sqlite3_open(":memory:", &g.db); |
| 3933 | rDiff = db_double(0.0, "SELECT julianday('now') - julianday(%Q)", g.argv[2]); |
| 3934 | fossil_print("Time differences: %s\n", db_timespan_name(rDiff)); |
| 3935 | sqlite3_close(g.db); |
| 3936 | g.db = 0; |
| 3937 | } |
| 3938 | |
| 3939 | /* |
| 3940 | ** COMMAND: test-without-rowid |
| 3941 | ** |
| 3942 |
| --- src/db.c | |
| +++ src/db.c | |
| @@ -489,11 +489,11 @@ | |
| 489 | /* |
| 490 | ** Reset or finalize a statement. |
| 491 | */ |
| 492 | int db_reset(Stmt *pStmt){ |
| 493 | int rc; |
| 494 | if( g.fSqlStats ){ db_stats(pStmt); } |
| 495 | rc = sqlite3_reset(pStmt->pStmt); |
| 496 | db_check_result(rc, pStmt); |
| 497 | return rc; |
| 498 | } |
| 499 | int db_finalize(Stmt *pStmt){ |
| @@ -506,11 +506,11 @@ | |
| 506 | }else if( db.pAllStmt==pStmt ){ |
| 507 | db.pAllStmt = pStmt->pNext; |
| 508 | } |
| 509 | pStmt->pNext = 0; |
| 510 | pStmt->pPrev = 0; |
| 511 | if( g.fSqlStats ){ db_stats(pStmt); } |
| 512 | blob_reset(&pStmt->sql); |
| 513 | rc = sqlite3_finalize(pStmt->pStmt); |
| 514 | db_check_result(rc, pStmt); |
| 515 | pStmt->pStmt = 0; |
| 516 | return rc; |
| @@ -1182,10 +1182,36 @@ | |
| 1182 | } |
| 1183 | }else{ |
| 1184 | fossil_panic("failed to open pid %lu: %lu", processId, GetLastError()); |
| 1185 | } |
| 1186 | } |
| 1187 | |
| 1188 | /* |
| 1189 | ** This function evaluates the specified TH1 script and attempts to parse |
| 1190 | ** its result as a colon-delimited triplet containing a process identifier, |
| 1191 | ** address, and size (in bytes) of the database encryption key. This is |
| 1192 | ** only necessary (or functional) on Windows. |
| 1193 | */ |
| 1194 | void db_read_saved_encryption_key_from_process_via_th1( |
| 1195 | const char *zConfig /* The TH1 script to evaluate. */ |
| 1196 | ){ |
| 1197 | int rc; |
| 1198 | char *zResult; |
| 1199 | Th_FossilInit(TH_INIT_DEFAULT | TH_INIT_NEED_CONFIG | TH_INIT_NO_REPO); |
| 1200 | rc = Th_Eval(g.interp, 0, zConfig, -1); |
| 1201 | zResult = (char*)Th_GetResult(g.interp, 0); |
| 1202 | if( rc!=TH_OK ){ |
| 1203 | fossil_fatal("script for pid key failed: %s", zResult); |
| 1204 | } |
| 1205 | if( zResult ){ |
| 1206 | DWORD processId = 0; |
| 1207 | LPVOID pAddress = NULL; |
| 1208 | SIZE_T nSize = 0; |
| 1209 | parse_pid_key_value(zResult, &processId, &pAddress, &nSize); |
| 1210 | db_read_saved_encryption_key_from_process(processId, pAddress, nSize); |
| 1211 | } |
| 1212 | } |
| 1213 | #endif /* defined(_WIN32) */ |
| 1214 | #endif /* USE_SEE */ |
| 1215 | |
| 1216 | /* |
| 1217 | ** If the database file zDbFile has a name that suggests that it is |
| @@ -1386,10 +1412,11 @@ | |
| 1412 | int rc; |
| 1413 | sqlite3_wal_checkpoint(g.db, 0); |
| 1414 | rc = sqlite3_close(g.db); |
| 1415 | if( g.fSqlTrace ) fossil_trace("-- db_close_config(%d)\n", rc); |
| 1416 | g.db = 0; |
| 1417 | g.repositoryOpen = 0; |
| 1418 | }else{ |
| 1419 | return; |
| 1420 | } |
| 1421 | fossil_free(g.zConfigDbName); |
| 1422 | g.zConfigDbName = 0; |
| @@ -3932,10 +3959,11 @@ | |
| 3959 | sqlite3_open(":memory:", &g.db); |
| 3960 | rDiff = db_double(0.0, "SELECT julianday('now') - julianday(%Q)", g.argv[2]); |
| 3961 | fossil_print("Time differences: %s\n", db_timespan_name(rDiff)); |
| 3962 | sqlite3_close(g.db); |
| 3963 | g.db = 0; |
| 3964 | g.repositoryOpen = 0; |
| 3965 | } |
| 3966 | |
| 3967 | /* |
| 3968 | ** COMMAND: test-without-rowid |
| 3969 | ** |
| 3970 |
+1
-1
| --- src/diffcmd.c | ||
| +++ src/diffcmd.c | ||
| @@ -743,11 +743,11 @@ | ||
| 743 | 743 | * dynamically (e.g. x64 Tcl with x86 Fossil). Therefore, fallback |
| 744 | 744 | * to using the external "tclsh", if available. |
| 745 | 745 | */ |
| 746 | 746 | #endif |
| 747 | 747 | zTempFile = write_blob_to_temp_file(&script); |
| 748 | - zCmd = mprintf("\"%s\" \"%s\"", zTclsh, zTempFile); | |
| 748 | + zCmd = mprintf("%$ %$", zTclsh, zTempFile); | |
| 749 | 749 | fossil_system(zCmd); |
| 750 | 750 | file_delete(zTempFile); |
| 751 | 751 | fossil_free(zCmd); |
| 752 | 752 | } |
| 753 | 753 | blob_reset(&script); |
| 754 | 754 |
| --- src/diffcmd.c | |
| +++ src/diffcmd.c | |
| @@ -743,11 +743,11 @@ | |
| 743 | * dynamically (e.g. x64 Tcl with x86 Fossil). Therefore, fallback |
| 744 | * to using the external "tclsh", if available. |
| 745 | */ |
| 746 | #endif |
| 747 | zTempFile = write_blob_to_temp_file(&script); |
| 748 | zCmd = mprintf("\"%s\" \"%s\"", zTclsh, zTempFile); |
| 749 | fossil_system(zCmd); |
| 750 | file_delete(zTempFile); |
| 751 | fossil_free(zCmd); |
| 752 | } |
| 753 | blob_reset(&script); |
| 754 |
| --- src/diffcmd.c | |
| +++ src/diffcmd.c | |
| @@ -743,11 +743,11 @@ | |
| 743 | * dynamically (e.g. x64 Tcl with x86 Fossil). Therefore, fallback |
| 744 | * to using the external "tclsh", if available. |
| 745 | */ |
| 746 | #endif |
| 747 | zTempFile = write_blob_to_temp_file(&script); |
| 748 | zCmd = mprintf("%$ %$", zTclsh, zTempFile); |
| 749 | fossil_system(zCmd); |
| 750 | file_delete(zTempFile); |
| 751 | fossil_free(zCmd); |
| 752 | } |
| 753 | blob_reset(&script); |
| 754 |
+1
-1
| --- src/doc.c | ||
| +++ src/doc.c | ||
| @@ -2,11 +2,11 @@ | ||
| 2 | 2 | ** Copyright (c) 2007 D. Richard Hipp |
| 3 | 3 | ** |
| 4 | 4 | ** This program is free software; you can redistribute it and/or |
| 5 | 5 | ** modify it under the terms of the Simplified BSD License (also |
| 6 | 6 | ** known as the "2-Clause License" or "FreeBSD License".) |
| 7 | - | |
| 7 | +** | |
| 8 | 8 | ** This program is distributed in the hope that it will be useful, |
| 9 | 9 | ** but without any warranty; without even the implied warranty of |
| 10 | 10 | ** merchantability or fitness for a particular purpose. |
| 11 | 11 | ** |
| 12 | 12 | ** Author contact information: |
| 13 | 13 |
| --- src/doc.c | |
| +++ src/doc.c | |
| @@ -2,11 +2,11 @@ | |
| 2 | ** Copyright (c) 2007 D. Richard Hipp |
| 3 | ** |
| 4 | ** This program is free software; you can redistribute it and/or |
| 5 | ** modify it under the terms of the Simplified BSD License (also |
| 6 | ** known as the "2-Clause License" or "FreeBSD License".) |
| 7 | |
| 8 | ** This program is distributed in the hope that it will be useful, |
| 9 | ** but without any warranty; without even the implied warranty of |
| 10 | ** merchantability or fitness for a particular purpose. |
| 11 | ** |
| 12 | ** Author contact information: |
| 13 |
| --- src/doc.c | |
| +++ src/doc.c | |
| @@ -2,11 +2,11 @@ | |
| 2 | ** Copyright (c) 2007 D. Richard Hipp |
| 3 | ** |
| 4 | ** This program is free software; you can redistribute it and/or |
| 5 | ** modify it under the terms of the Simplified BSD License (also |
| 6 | ** known as the "2-Clause License" or "FreeBSD License".) |
| 7 | ** |
| 8 | ** This program is distributed in the hope that it will be useful, |
| 9 | ** but without any warranty; without even the implied warranty of |
| 10 | ** merchantability or fitness for a particular purpose. |
| 11 | ** |
| 12 | ** Author contact information: |
| 13 |
+1
| --- src/event.c | ||
| +++ src/event.c | ||
| @@ -508,10 +508,11 @@ | ||
| 508 | 508 | @ </blockquote> |
| 509 | 509 | @ <p><b>Page content preview:</b><p> |
| 510 | 510 | @ <blockquote> |
| 511 | 511 | blob_init(&event, 0, 0); |
| 512 | 512 | blob_append(&event, zBody, -1); |
| 513 | + safe_html_context(DOCSRC_WIKI); | |
| 513 | 514 | wiki_render_by_mimetype(&event, zMimetype); |
| 514 | 515 | @ </blockquote><hr /> |
| 515 | 516 | blob_reset(&event); |
| 516 | 517 | } |
| 517 | 518 | for(n=2, z=zBody; z[0]; z++){ |
| 518 | 519 |
| --- src/event.c | |
| +++ src/event.c | |
| @@ -508,10 +508,11 @@ | |
| 508 | @ </blockquote> |
| 509 | @ <p><b>Page content preview:</b><p> |
| 510 | @ <blockquote> |
| 511 | blob_init(&event, 0, 0); |
| 512 | blob_append(&event, zBody, -1); |
| 513 | wiki_render_by_mimetype(&event, zMimetype); |
| 514 | @ </blockquote><hr /> |
| 515 | blob_reset(&event); |
| 516 | } |
| 517 | for(n=2, z=zBody; z[0]; z++){ |
| 518 |
| --- src/event.c | |
| +++ src/event.c | |
| @@ -508,10 +508,11 @@ | |
| 508 | @ </blockquote> |
| 509 | @ <p><b>Page content preview:</b><p> |
| 510 | @ <blockquote> |
| 511 | blob_init(&event, 0, 0); |
| 512 | blob_append(&event, zBody, -1); |
| 513 | safe_html_context(DOCSRC_WIKI); |
| 514 | wiki_render_by_mimetype(&event, zMimetype); |
| 515 | @ </blockquote><hr /> |
| 516 | blob_reset(&event); |
| 517 | } |
| 518 | for(n=2, z=zBody; z[0]; z++){ |
| 519 |
+33
-7
| --- src/export.c | ||
| +++ src/export.c | ||
| @@ -882,15 +882,15 @@ | ||
| 882 | 882 | static void gitmirror_sanitize_name(char *z){ |
| 883 | 883 | static unsigned char aSafe[] = { |
| 884 | 884 | /* x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF */ |
| 885 | 885 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x */ |
| 886 | 886 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 1x */ |
| 887 | - 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, /* 2x */ | |
| 888 | - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 0, /* 3x */ | |
| 887 | + 0, 1, 0, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1, 1, 1, 1, /* 2x */ | |
| 888 | + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 0, /* 3x */ | |
| 889 | 889 | 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, /* 4x */ |
| 890 | 890 | 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 1, /* 5x */ |
| 891 | - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, /* 6x */ | |
| 891 | + 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, /* 6x */ | |
| 892 | 892 | 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, /* 7x */ |
| 893 | 893 | }; |
| 894 | 894 | unsigned char *zu = (unsigned char*)z; |
| 895 | 895 | int i; |
| 896 | 896 | for(i=0; zu[i]; i++){ |
| @@ -902,10 +902,36 @@ | ||
| 902 | 902 | || (i>0 && zu[i-1]=='.')) ){ |
| 903 | 903 | zu[i] = '_'; |
| 904 | 904 | } |
| 905 | 905 | } |
| 906 | 906 | } |
| 907 | + | |
| 908 | +/* | |
| 909 | +** COMMAND: test-sanitize-name | |
| 910 | +** | |
| 911 | +** Usage: %fossil ARG... | |
| 912 | +** | |
| 913 | +** This sanitizes each argument and make it part of an "echo" command | |
| 914 | +** run by the shell. | |
| 915 | +*/ | |
| 916 | +void test_sanitize_name_cmd(void){ | |
| 917 | + sqlite3_str *pStr; | |
| 918 | + int i; | |
| 919 | + char *zCmd; | |
| 920 | + pStr = sqlite3_str_new(0); | |
| 921 | + sqlite3_str_appendall(pStr, "echo"); | |
| 922 | + for(i=2; i<g.argc; i++){ | |
| 923 | + char *z = fossil_strdup(g.argv[i]); | |
| 924 | + gitmirror_sanitize_name(z); | |
| 925 | + sqlite3_str_appendf(pStr, " \"%s\"", z); | |
| 926 | + fossil_free(z); | |
| 927 | + } | |
| 928 | + zCmd = sqlite3_str_finish(pStr); | |
| 929 | + fossil_print("Command: %s\n", zCmd); | |
| 930 | + fossil_system(zCmd); | |
| 931 | + sqlite3_free(zCmd); | |
| 932 | +} | |
| 907 | 933 | |
| 908 | 934 | /* |
| 909 | 935 | ** Quote a filename as a C-style string using \\ and \" if necessary. |
| 910 | 936 | ** If quoting is not necessary, just return a copy of the input string. |
| 911 | 937 | ** |
| @@ -1286,11 +1312,11 @@ | ||
| 1286 | 1312 | if( rc ) fossil_fatal("cannot create directory \"%s\"", zMirror); |
| 1287 | 1313 | |
| 1288 | 1314 | /* Make sure GIT has been initialized */ |
| 1289 | 1315 | z = mprintf("%s/.git", zMirror); |
| 1290 | 1316 | if( !file_isdir(z, ExtFILE) ){ |
| 1291 | - zCmd = mprintf("git init \"%s\"",zMirror); | |
| 1317 | + zCmd = mprintf("git init %$",zMirror); | |
| 1292 | 1318 | gitmirror_message(VERB_NORMAL, "%s\n", zCmd); |
| 1293 | 1319 | rc = fossil_system(zCmd); |
| 1294 | 1320 | if( rc ){ |
| 1295 | 1321 | fossil_fatal("cannot initialize the git repository using: \"%s\"", zCmd); |
| 1296 | 1322 | } |
| @@ -1484,11 +1510,11 @@ | ||
| 1484 | 1510 | while( db_step(&q)==SQLITE_ROW ){ |
| 1485 | 1511 | char *zTagname = fossil_strdup(db_column_text(&q,0)); |
| 1486 | 1512 | const char *zObj = db_column_text(&q,1); |
| 1487 | 1513 | char *zTagCmd; |
| 1488 | 1514 | gitmirror_sanitize_name(zTagname); |
| 1489 | - zTagCmd = mprintf("git tag -f \"%s\" %s", zTagname, zObj); | |
| 1515 | + zTagCmd = mprintf("git tag -f %$ %$", zTagname, zObj); | |
| 1490 | 1516 | fossil_free(zTagname); |
| 1491 | 1517 | gitmirror_message(VERB_NORMAL, "%s\n", zTagCmd); |
| 1492 | 1518 | fossil_system(zTagCmd); |
| 1493 | 1519 | fossil_free(zTagCmd); |
| 1494 | 1520 | } |
| @@ -1519,11 +1545,11 @@ | ||
| 1519 | 1545 | fossil_free(zBrname); |
| 1520 | 1546 | zBrname = fossil_strdup("master"); |
| 1521 | 1547 | }else{ |
| 1522 | 1548 | gitmirror_sanitize_name(zBrname); |
| 1523 | 1549 | } |
| 1524 | - zRefCmd = mprintf("git update-ref \"refs/heads/%s\" %s", zBrname, zObj); | |
| 1550 | + zRefCmd = mprintf("git update-ref \"refs/heads/%s\" %$", zBrname, zObj); | |
| 1525 | 1551 | fossil_free(zBrname); |
| 1526 | 1552 | gitmirror_message(VERB_NORMAL, "%s\n", zRefCmd); |
| 1527 | 1553 | fossil_system(zRefCmd); |
| 1528 | 1554 | fossil_free(zRefCmd); |
| 1529 | 1555 | } |
| @@ -1556,11 +1582,11 @@ | ||
| 1556 | 1582 | }else{ |
| 1557 | 1583 | zPushCmd = mprintf("git push --mirror %s", zPushUrl); |
| 1558 | 1584 | } |
| 1559 | 1585 | gitmirror_message(VERB_NORMAL, "%s\n", zPushCmd); |
| 1560 | 1586 | fossil_free(zPushCmd); |
| 1561 | - zPushCmd = mprintf("git push --mirror %s", zPushUrl); | |
| 1587 | + zPushCmd = mprintf("git push --mirror %$", zPushUrl); | |
| 1562 | 1588 | fossil_system(zPushCmd); |
| 1563 | 1589 | fossil_free(zPushCmd); |
| 1564 | 1590 | } |
| 1565 | 1591 | } |
| 1566 | 1592 | |
| 1567 | 1593 |
| --- src/export.c | |
| +++ src/export.c | |
| @@ -882,15 +882,15 @@ | |
| 882 | static void gitmirror_sanitize_name(char *z){ |
| 883 | static unsigned char aSafe[] = { |
| 884 | /* x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF */ |
| 885 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x */ |
| 886 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 1x */ |
| 887 | 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, /* 2x */ |
| 888 | 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 0, /* 3x */ |
| 889 | 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, /* 4x */ |
| 890 | 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 1, /* 5x */ |
| 891 | 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, /* 6x */ |
| 892 | 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, /* 7x */ |
| 893 | }; |
| 894 | unsigned char *zu = (unsigned char*)z; |
| 895 | int i; |
| 896 | for(i=0; zu[i]; i++){ |
| @@ -902,10 +902,36 @@ | |
| 902 | || (i>0 && zu[i-1]=='.')) ){ |
| 903 | zu[i] = '_'; |
| 904 | } |
| 905 | } |
| 906 | } |
| 907 | |
| 908 | /* |
| 909 | ** Quote a filename as a C-style string using \\ and \" if necessary. |
| 910 | ** If quoting is not necessary, just return a copy of the input string. |
| 911 | ** |
| @@ -1286,11 +1312,11 @@ | |
| 1286 | if( rc ) fossil_fatal("cannot create directory \"%s\"", zMirror); |
| 1287 | |
| 1288 | /* Make sure GIT has been initialized */ |
| 1289 | z = mprintf("%s/.git", zMirror); |
| 1290 | if( !file_isdir(z, ExtFILE) ){ |
| 1291 | zCmd = mprintf("git init \"%s\"",zMirror); |
| 1292 | gitmirror_message(VERB_NORMAL, "%s\n", zCmd); |
| 1293 | rc = fossil_system(zCmd); |
| 1294 | if( rc ){ |
| 1295 | fossil_fatal("cannot initialize the git repository using: \"%s\"", zCmd); |
| 1296 | } |
| @@ -1484,11 +1510,11 @@ | |
| 1484 | while( db_step(&q)==SQLITE_ROW ){ |
| 1485 | char *zTagname = fossil_strdup(db_column_text(&q,0)); |
| 1486 | const char *zObj = db_column_text(&q,1); |
| 1487 | char *zTagCmd; |
| 1488 | gitmirror_sanitize_name(zTagname); |
| 1489 | zTagCmd = mprintf("git tag -f \"%s\" %s", zTagname, zObj); |
| 1490 | fossil_free(zTagname); |
| 1491 | gitmirror_message(VERB_NORMAL, "%s\n", zTagCmd); |
| 1492 | fossil_system(zTagCmd); |
| 1493 | fossil_free(zTagCmd); |
| 1494 | } |
| @@ -1519,11 +1545,11 @@ | |
| 1519 | fossil_free(zBrname); |
| 1520 | zBrname = fossil_strdup("master"); |
| 1521 | }else{ |
| 1522 | gitmirror_sanitize_name(zBrname); |
| 1523 | } |
| 1524 | zRefCmd = mprintf("git update-ref \"refs/heads/%s\" %s", zBrname, zObj); |
| 1525 | fossil_free(zBrname); |
| 1526 | gitmirror_message(VERB_NORMAL, "%s\n", zRefCmd); |
| 1527 | fossil_system(zRefCmd); |
| 1528 | fossil_free(zRefCmd); |
| 1529 | } |
| @@ -1556,11 +1582,11 @@ | |
| 1556 | }else{ |
| 1557 | zPushCmd = mprintf("git push --mirror %s", zPushUrl); |
| 1558 | } |
| 1559 | gitmirror_message(VERB_NORMAL, "%s\n", zPushCmd); |
| 1560 | fossil_free(zPushCmd); |
| 1561 | zPushCmd = mprintf("git push --mirror %s", zPushUrl); |
| 1562 | fossil_system(zPushCmd); |
| 1563 | fossil_free(zPushCmd); |
| 1564 | } |
| 1565 | } |
| 1566 | |
| 1567 |
| --- src/export.c | |
| +++ src/export.c | |
| @@ -882,15 +882,15 @@ | |
| 882 | static void gitmirror_sanitize_name(char *z){ |
| 883 | static unsigned char aSafe[] = { |
| 884 | /* x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF */ |
| 885 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x */ |
| 886 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 1x */ |
| 887 | 0, 1, 0, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1, 1, 1, 1, /* 2x */ |
| 888 | 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 0, /* 3x */ |
| 889 | 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, /* 4x */ |
| 890 | 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 1, /* 5x */ |
| 891 | 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, /* 6x */ |
| 892 | 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, /* 7x */ |
| 893 | }; |
| 894 | unsigned char *zu = (unsigned char*)z; |
| 895 | int i; |
| 896 | for(i=0; zu[i]; i++){ |
| @@ -902,10 +902,36 @@ | |
| 902 | || (i>0 && zu[i-1]=='.')) ){ |
| 903 | zu[i] = '_'; |
| 904 | } |
| 905 | } |
| 906 | } |
| 907 | |
| 908 | /* |
| 909 | ** COMMAND: test-sanitize-name |
| 910 | ** |
| 911 | ** Usage: %fossil ARG... |
| 912 | ** |
| 913 | ** This sanitizes each argument and make it part of an "echo" command |
| 914 | ** run by the shell. |
| 915 | */ |
| 916 | void test_sanitize_name_cmd(void){ |
| 917 | sqlite3_str *pStr; |
| 918 | int i; |
| 919 | char *zCmd; |
| 920 | pStr = sqlite3_str_new(0); |
| 921 | sqlite3_str_appendall(pStr, "echo"); |
| 922 | for(i=2; i<g.argc; i++){ |
| 923 | char *z = fossil_strdup(g.argv[i]); |
| 924 | gitmirror_sanitize_name(z); |
| 925 | sqlite3_str_appendf(pStr, " \"%s\"", z); |
| 926 | fossil_free(z); |
| 927 | } |
| 928 | zCmd = sqlite3_str_finish(pStr); |
| 929 | fossil_print("Command: %s\n", zCmd); |
| 930 | fossil_system(zCmd); |
| 931 | sqlite3_free(zCmd); |
| 932 | } |
| 933 | |
| 934 | /* |
| 935 | ** Quote a filename as a C-style string using \\ and \" if necessary. |
| 936 | ** If quoting is not necessary, just return a copy of the input string. |
| 937 | ** |
| @@ -1286,11 +1312,11 @@ | |
| 1312 | if( rc ) fossil_fatal("cannot create directory \"%s\"", zMirror); |
| 1313 | |
| 1314 | /* Make sure GIT has been initialized */ |
| 1315 | z = mprintf("%s/.git", zMirror); |
| 1316 | if( !file_isdir(z, ExtFILE) ){ |
| 1317 | zCmd = mprintf("git init %$",zMirror); |
| 1318 | gitmirror_message(VERB_NORMAL, "%s\n", zCmd); |
| 1319 | rc = fossil_system(zCmd); |
| 1320 | if( rc ){ |
| 1321 | fossil_fatal("cannot initialize the git repository using: \"%s\"", zCmd); |
| 1322 | } |
| @@ -1484,11 +1510,11 @@ | |
| 1510 | while( db_step(&q)==SQLITE_ROW ){ |
| 1511 | char *zTagname = fossil_strdup(db_column_text(&q,0)); |
| 1512 | const char *zObj = db_column_text(&q,1); |
| 1513 | char *zTagCmd; |
| 1514 | gitmirror_sanitize_name(zTagname); |
| 1515 | zTagCmd = mprintf("git tag -f %$ %$", zTagname, zObj); |
| 1516 | fossil_free(zTagname); |
| 1517 | gitmirror_message(VERB_NORMAL, "%s\n", zTagCmd); |
| 1518 | fossil_system(zTagCmd); |
| 1519 | fossil_free(zTagCmd); |
| 1520 | } |
| @@ -1519,11 +1545,11 @@ | |
| 1545 | fossil_free(zBrname); |
| 1546 | zBrname = fossil_strdup("master"); |
| 1547 | }else{ |
| 1548 | gitmirror_sanitize_name(zBrname); |
| 1549 | } |
| 1550 | zRefCmd = mprintf("git update-ref \"refs/heads/%s\" %$", zBrname, zObj); |
| 1551 | fossil_free(zBrname); |
| 1552 | gitmirror_message(VERB_NORMAL, "%s\n", zRefCmd); |
| 1553 | fossil_system(zRefCmd); |
| 1554 | fossil_free(zRefCmd); |
| 1555 | } |
| @@ -1556,11 +1582,11 @@ | |
| 1582 | }else{ |
| 1583 | zPushCmd = mprintf("git push --mirror %s", zPushUrl); |
| 1584 | } |
| 1585 | gitmirror_message(VERB_NORMAL, "%s\n", zPushCmd); |
| 1586 | fossil_free(zPushCmd); |
| 1587 | zPushCmd = mprintf("git push --mirror %$", zPushUrl); |
| 1588 | fossil_system(zPushCmd); |
| 1589 | fossil_free(zPushCmd); |
| 1590 | } |
| 1591 | } |
| 1592 | |
| 1593 |
+1
| --- src/file.c | ||
| +++ src/file.c | ||
| @@ -967,10 +967,11 @@ | ||
| 967 | 967 | */ |
| 968 | 968 | int file_simplify_name(char *z, int n, int slash){ |
| 969 | 969 | int i = 1, j; |
| 970 | 970 | assert( z!=0 ); |
| 971 | 971 | if( n<0 ) n = strlen(z); |
| 972 | + if( n==0 ) return 0; | |
| 972 | 973 | |
| 973 | 974 | /* On windows and cygwin convert all \ characters to / |
| 974 | 975 | * and remove extended path prefix if present */ |
| 975 | 976 | #if defined(_WIN32) || defined(__CYGWIN__) |
| 976 | 977 | for(j=0; j<n; j++){ |
| 977 | 978 |
| --- src/file.c | |
| +++ src/file.c | |
| @@ -967,10 +967,11 @@ | |
| 967 | */ |
| 968 | int file_simplify_name(char *z, int n, int slash){ |
| 969 | int i = 1, j; |
| 970 | assert( z!=0 ); |
| 971 | if( n<0 ) n = strlen(z); |
| 972 | |
| 973 | /* On windows and cygwin convert all \ characters to / |
| 974 | * and remove extended path prefix if present */ |
| 975 | #if defined(_WIN32) || defined(__CYGWIN__) |
| 976 | for(j=0; j<n; j++){ |
| 977 |
| --- src/file.c | |
| +++ src/file.c | |
| @@ -967,10 +967,11 @@ | |
| 967 | */ |
| 968 | int file_simplify_name(char *z, int n, int slash){ |
| 969 | int i = 1, j; |
| 970 | assert( z!=0 ); |
| 971 | if( n<0 ) n = strlen(z); |
| 972 | if( n==0 ) return 0; |
| 973 | |
| 974 | /* On windows and cygwin convert all \ characters to / |
| 975 | * and remove extended path prefix if present */ |
| 976 | #if defined(_WIN32) || defined(__CYGWIN__) |
| 977 | for(j=0; j<n; j++){ |
| 978 |
+66
-320
| --- src/fileedit.c | ||
| +++ src/fileedit.c | ||
| @@ -919,111 +919,10 @@ | ||
| 919 | 919 | }else{ |
| 920 | 920 | return 0; |
| 921 | 921 | } |
| 922 | 922 | } |
| 923 | 923 | |
| 924 | -enum fileedit_render_preview_flags { | |
| 925 | -FE_PREVIEW_LINE_NUMBERS = 1 | |
| 926 | -}; | |
| 927 | -enum fileedit_render_modes { | |
| 928 | -/* GUESS must be 0. All others have unspecified values. */ | |
| 929 | -FE_RENDER_GUESS = 0, | |
| 930 | -FE_RENDER_PLAIN_TEXT, | |
| 931 | -FE_RENDER_HTML_IFRAME, | |
| 932 | -FE_RENDER_HTML_INLINE, | |
| 933 | -FE_RENDER_WIKI | |
| 934 | -}; | |
| 935 | - | |
| 936 | -static int fileedit_render_mode_for_mimetype(const char * zMimetype){ | |
| 937 | - int rc = FE_RENDER_PLAIN_TEXT; | |
| 938 | - if( zMimetype ){ | |
| 939 | - if( fossil_strcmp(zMimetype, "text/html")==0 ){ | |
| 940 | - rc = FE_RENDER_HTML_IFRAME; | |
| 941 | - }else if( fossil_strcmp(zMimetype, "text/x-fossil-wiki")==0 | |
| 942 | - || fossil_strcmp(zMimetype, "text/x-markdown")==0 ){ | |
| 943 | - rc = FE_RENDER_WIKI; | |
| 944 | - } | |
| 945 | - } | |
| 946 | - return rc; | |
| 947 | -} | |
| 948 | - | |
| 949 | -/* | |
| 950 | -** Performs the PREVIEW mode for /filepage. | |
| 951 | -** | |
| 952 | -** If *renderMode==FE_RENDER_GUESS then *renderMode gets set to the | |
| 953 | -** mode which is guessed at for the rendering. | |
| 954 | -*/ | |
| 955 | -static void fileedit_render_preview(Blob * pContent, | |
| 956 | - const char *zFilename, | |
| 957 | - int flags, int * renderMode, | |
| 958 | - int nIframeHeightEm){ | |
| 959 | - const char * zMime; | |
| 960 | - zMime = mimetype_from_name(zFilename); | |
| 961 | - if(FE_RENDER_GUESS==*renderMode){ | |
| 962 | - *renderMode = fileedit_render_mode_for_mimetype(zMime); | |
| 963 | - } | |
| 964 | - switch(*renderMode){ | |
| 965 | - case FE_RENDER_HTML_IFRAME:{ | |
| 966 | - char * z64 = encode64(blob_str(pContent), blob_size(pContent)); | |
| 967 | - CX("<iframe width='100%%' frameborder='0' " | |
| 968 | - "marginwidth='0' style='height:%dem' " | |
| 969 | - "marginheight='0' sandbox='allow-same-origin' " | |
| 970 | - "id='ifm1' src='data:text/html;base64,%z'" | |
| 971 | - "></iframe>", | |
| 972 | - nIframeHeightEm ? nIframeHeightEm : 40, | |
| 973 | - z64); | |
| 974 | - break; | |
| 975 | - } | |
| 976 | - case FE_RENDER_HTML_INLINE:{ | |
| 977 | - CX("%b",pContent); | |
| 978 | - break; | |
| 979 | - } | |
| 980 | - case FE_RENDER_WIKI: | |
| 981 | - wiki_render_by_mimetype(pContent, zMime); | |
| 982 | - break; | |
| 983 | - default:{ | |
| 984 | - const char *zExt = strrchr(zFilename,'.'); | |
| 985 | - const char *zContent = blob_str(pContent); | |
| 986 | - if(FE_PREVIEW_LINE_NUMBERS & flags){ | |
| 987 | - output_text_with_line_numbers(zContent, "on"); | |
| 988 | - }else if(zExt && zExt[1]){ | |
| 989 | - CX("<pre><code class='language-%s'>%h</code></pre>", | |
| 990 | - zExt+1, zContent); | |
| 991 | - }else{ | |
| 992 | - CX("<pre>%h</pre>", zContent); | |
| 993 | - } | |
| 994 | - break; | |
| 995 | - } | |
| 996 | - } | |
| 997 | -} | |
| 998 | - | |
| 999 | -/* | |
| 1000 | -** Renders diffs for the /fileedit page. pContent is the | |
| 1001 | -** locally-edited content. frid is the RID of the file's blob entry | |
| 1002 | -** from which pContent is based. zManifestUuid is the checkin version | |
| 1003 | -** to which RID belongs - it is purely informational, for labeling the | |
| 1004 | -** diff view. isSbs is true for side-by-side diffs, false for unified. | |
| 1005 | -*/ | |
| 1006 | -static void fileedit_render_diff(Blob * pContent, int frid, | |
| 1007 | - const char * zManifestUuid, | |
| 1008 | - u64 diffFlags){ | |
| 1009 | - Blob orig = empty_blob; | |
| 1010 | - Blob out = empty_blob; | |
| 1011 | - | |
| 1012 | - content_get(frid, &orig); | |
| 1013 | - text_diff(&orig, pContent, &out, 0, diffFlags); | |
| 1014 | - if(blob_size(&out)==0){ | |
| 1015 | - /* nothing to do */ | |
| 1016 | - }else if(DIFF_SIDEBYSIDE & diffFlags){ | |
| 1017 | - CX("%b",&out); | |
| 1018 | - }else{ | |
| 1019 | - CX("<pre class='udiff'>%b</pre>",&out); | |
| 1020 | - } | |
| 1021 | - blob_reset(&orig); | |
| 1022 | - blob_reset(&out); | |
| 1023 | -} | |
| 1024 | - | |
| 1025 | 924 | /* |
| 1026 | 925 | ** Given a repo-relative filename and a manifest RID, returns the UUID |
| 1027 | 926 | ** of the corresponding file entry. Returns NULL if no match is |
| 1028 | 927 | ** found. If pFilePerm is not NULL, the file's permission flag value |
| 1029 | 928 | ** is written to *pFilePerm. |
| @@ -1043,99 +942,25 @@ | ||
| 1043 | 942 | } |
| 1044 | 943 | db_finalize(&stmt); |
| 1045 | 944 | return zFileUuid; |
| 1046 | 945 | } |
| 1047 | 946 | |
| 1048 | -/* | |
| 1049 | -** Helper for /fileedit_xyz routes. Clears the CGI content buffer, | |
| 1050 | -** sets an error status code, and queues up a JSON response in the | |
| 1051 | -** form of an object: | |
| 1052 | -** | |
| 1053 | -** {error: formatted message} | |
| 1054 | -** | |
| 1055 | -** After calling this, the caller should immediately return. | |
| 1056 | - */ | |
| 1057 | -static void fileedit_ajax_error(int httpCode, const char * zFmt, ...){ | |
| 1058 | - Blob msg = empty_blob; | |
| 1059 | - Blob content = empty_blob; | |
| 1060 | - va_list vargs; | |
| 1061 | - va_start(vargs,zFmt); | |
| 1062 | - blob_vappendf(&msg, zFmt, vargs); | |
| 1063 | - va_end(vargs); | |
| 1064 | - blob_appendf(&content,"{\"error\":%!j}", blob_str(&msg)); | |
| 1065 | - blob_reset(&msg); | |
| 1066 | - cgi_set_content(&content); | |
| 1067 | - cgi_set_status(httpCode, "Error"); | |
| 1068 | - cgi_set_content_type("application/json"); | |
| 1069 | -} | |
| 1070 | - | |
| 1071 | -/* | |
| 1072 | -** Performs bootstrapping common to the /fileedit_xyz AJAX routes. | |
| 1073 | -** Returns 0 if bootstrapping fails (wrong permissions), in which | |
| 1074 | -** case it has reported the error and the route should immediately | |
| 1075 | -** return. Returns true on success. | |
| 1076 | -** | |
| 1077 | -** Must be passed true if the request being set up requires POST, | |
| 1078 | -** else false. | |
| 1079 | -*/ | |
| 1080 | -static int fileedit_ajax_boostrap(int requirePost){ | |
| 1081 | - login_check_credentials(); | |
| 1082 | - if( !g.perm.Write ){ | |
| 1083 | - fileedit_ajax_error(403,"Write permissions required."); | |
| 1084 | - return 0; | |
| 1085 | - }else if(0==cgi_csrf_safe(requirePost)){ | |
| 1086 | - fileedit_ajax_error(403, | |
| 1087 | - "CSRF violation (make sure sending of HTTP " | |
| 1088 | - "Referer headers is enabled for XHR " | |
| 1089 | - "connections)."); | |
| 1090 | - return 0; | |
| 1091 | - } | |
| 1092 | - return 1; | |
| 1093 | -} | |
| 1094 | 947 | /* |
| 1095 | 948 | ** Returns true if the current user is allowed to edit the given |
| 1096 | 949 | ** filename, as determined by fileedit_is_editable(), else false, |
| 1097 | 950 | ** in which case it queues up an error response and the caller |
| 1098 | 951 | ** must return immediately. |
| 1099 | 952 | */ |
| 1100 | 953 | static int fileedit_ajax_check_filename(const char * zFilename){ |
| 1101 | 954 | if(0==fileedit_is_editable(zFilename)){ |
| 1102 | - fileedit_ajax_error(403, "File is disallowed by the " | |
| 1103 | - "fileedit-glob setting."); | |
| 955 | + ajax_route_error(403, "File is disallowed by the " | |
| 956 | + "fileedit-glob setting."); | |
| 1104 | 957 | return 0; |
| 1105 | 958 | } |
| 1106 | 959 | return 1; |
| 1107 | 960 | } |
| 1108 | 961 | |
| 1109 | - | |
| 1110 | -/* | |
| 1111 | -** If zFn is not NULL, it is assigned the value of the first one of | |
| 1112 | -** the "filename" or "fn" CGI parameters which is set. | |
| 1113 | -** | |
| 1114 | -** If zCi is not NULL, it is assigned the value of the first one of | |
| 1115 | -** the "checkin" or "ci" CGI parameters which is set. | |
| 1116 | -** | |
| 1117 | -** If a parameter is not NULL, it will be assigned NULL if the | |
| 1118 | -** corresponding parameter is not set. | |
| 1119 | -** | |
| 1120 | -** Returns the number of non-NULL values it assigns to arguments. Thus | |
| 1121 | -** if passed (&x, NULL), it returns 1 if it assigns non-NULL to *x and | |
| 1122 | -** 0 if it assigns NULL to *x. | |
| 1123 | -*/ | |
| 1124 | -static int fileedit_get_fnci_args( const char **zFn, const char **zCi ){ | |
| 1125 | - int rc = 0; | |
| 1126 | - if(zCi!=0){ | |
| 1127 | - *zCi = PD("checkin",P("ci")); | |
| 1128 | - if( *zCi ) ++rc; | |
| 1129 | - } | |
| 1130 | - if(zFn!=0){ | |
| 1131 | - *zFn = PD("filename",P("fn")); | |
| 1132 | - if (*zFn) ++rc; | |
| 1133 | - } | |
| 1134 | - return rc; | |
| 1135 | -} | |
| 1136 | - | |
| 1137 | 962 | /* |
| 1138 | 963 | ** Passed the values of the "checkin" and "filename" request |
| 1139 | 964 | ** properties, this function verifies that they are valid and |
| 1140 | 965 | ** populates: |
| 1141 | 966 | ** |
| @@ -1157,30 +982,30 @@ | ||
| 1157 | 982 | static int fileedit_ajax_setup_filerev(const char * zRev, |
| 1158 | 983 | char ** zRevUuid, |
| 1159 | 984 | int * vid, |
| 1160 | 985 | const char * zFilename, |
| 1161 | 986 | int * frid){ |
| 1162 | - char * zFileUuid; /* file UUID */ | |
| 987 | + char * zFileUuid = 0; /* file content UUID */ | |
| 1163 | 988 | const int checkFile = zFilename!=0 || frid!=0; |
| 1164 | 989 | |
| 1165 | 990 | if(checkFile && !fileedit_ajax_check_filename(zFilename)){ |
| 1166 | 991 | return 0; |
| 1167 | 992 | } |
| 1168 | 993 | *vid = symbolic_name_to_rid(zRev, "ci"); |
| 1169 | 994 | if(0==*vid){ |
| 1170 | - fileedit_ajax_error(404,"Cannot resolve name as a checkin: %s", | |
| 1171 | - zRev); | |
| 995 | + ajax_route_error(404,"Cannot resolve name as a checkin: %s", | |
| 996 | + zRev); | |
| 1172 | 997 | return 0; |
| 1173 | 998 | }else if(*vid<0){ |
| 1174 | - fileedit_ajax_error(400,"Checkin name is ambiguous: %s", | |
| 1175 | - zRev); | |
| 999 | + ajax_route_error(400,"Checkin name is ambiguous: %s", | |
| 1000 | + zRev); | |
| 1176 | 1001 | return 0; |
| 1177 | 1002 | } |
| 1178 | 1003 | if(checkFile){ |
| 1179 | 1004 | zFileUuid = fileedit_file_uuid(zFilename, *vid, 0); |
| 1180 | 1005 | if(zFileUuid==0){ |
| 1181 | - fileedit_ajax_error(404,"Checkin does not contain file."); | |
| 1006 | + ajax_route_error(404, "Checkin does not contain file."); | |
| 1182 | 1007 | return 0; |
| 1183 | 1008 | } |
| 1184 | 1009 | } |
| 1185 | 1010 | if(zRevUuid!=0){ |
| 1186 | 1011 | *zRevUuid = rid_to_uuid(*vid); |
| @@ -1204,11 +1029,11 @@ | ||
| 1204 | 1029 | ** checkin=CHECKIN_NAME |
| 1205 | 1030 | ** |
| 1206 | 1031 | ** User must have Write access to use this page. |
| 1207 | 1032 | ** |
| 1208 | 1033 | ** Responds with the raw content of the given page. On error it |
| 1209 | -** produces a JSON response as documented for fileedit_ajax_error(). | |
| 1034 | +** produces a JSON response as documented for ajax_route_error(). | |
| 1210 | 1035 | ** |
| 1211 | 1036 | ** Extra response headers: |
| 1212 | 1037 | ** |
| 1213 | 1038 | ** x-fileedit-file-perm: empty or "x" or "l", representing PERM_REG, |
| 1214 | 1039 | ** PERM_EXE, or PERM_LINK, respectively. |
| @@ -1220,12 +1045,12 @@ | ||
| 1220 | 1045 | const char * zRev = 0; |
| 1221 | 1046 | int vid, frid; |
| 1222 | 1047 | Blob content = empty_blob; |
| 1223 | 1048 | const char * zMime; |
| 1224 | 1049 | |
| 1225 | - fileedit_get_fnci_args( &zFilename, &zRev ); | |
| 1226 | - if(!fileedit_ajax_boostrap(0) | |
| 1050 | + ajax_get_fnci_args( &zFilename, &zRev ); | |
| 1051 | + if(!ajax_route_bootstrap(1,0) | |
| 1227 | 1052 | || !fileedit_ajax_setup_filerev(zRev, 0, &vid, |
| 1228 | 1053 | zFilename, &frid)){ |
| 1229 | 1054 | return; |
| 1230 | 1055 | } |
| 1231 | 1056 | zMime = mimetype_from_name(zFilename); |
| @@ -1255,81 +1080,10 @@ | ||
| 1255 | 1080 | } |
| 1256 | 1081 | cgi_set_content_type(zMime); |
| 1257 | 1082 | cgi_set_content(&content); |
| 1258 | 1083 | } |
| 1259 | 1084 | |
| 1260 | -/* | |
| 1261 | -** AJAX route /fileedit?ajax=preview | |
| 1262 | -** | |
| 1263 | -** Required query parameters: | |
| 1264 | -** | |
| 1265 | -** filename=FILENAME | |
| 1266 | -** content=text | |
| 1267 | -** | |
| 1268 | -** Optional query parameters: | |
| 1269 | -** | |
| 1270 | -** render_mode=integer (FE_RENDER_xxx) (default=FE_RENDER_GUESS) | |
| 1271 | -** | |
| 1272 | -** ln=0 or 1 to disable/enable line number mode in | |
| 1273 | -** FE_RENDER_PLAIN_TEXT mode. | |
| 1274 | -** | |
| 1275 | -** iframe_height=integer (default=40) Height, in EMs of HTML preview | |
| 1276 | -** iframe. | |
| 1277 | -** | |
| 1278 | -** User must have Write access to use this page. | |
| 1279 | -** | |
| 1280 | -** Responds with the HTML content of the preview. On error it produces | |
| 1281 | -** a JSON response as documented for fileedit_ajax_error(). | |
| 1282 | -** | |
| 1283 | -** Extra response headers: | |
| 1284 | -** | |
| 1285 | -** x-fileedit-render-mode: string representing the rendering mode | |
| 1286 | -** which was really used (which will differ from the requested mode | |
| 1287 | -** only if mode 0 (guess) was requested). The names are documented | |
| 1288 | -** below in code and match those in the emitted JS object | |
| 1289 | -** fossil.page.previewModes. | |
| 1290 | -*/ | |
| 1291 | -static void fileedit_ajax_preview(void){ | |
| 1292 | - const char * zFilename = 0; | |
| 1293 | - const char * zContent = P("content"); | |
| 1294 | - int renderMode = atoi(PD("render_mode","0")); | |
| 1295 | - int ln = atoi(PD("ln","0")); | |
| 1296 | - int iframeHeight = atoi(PD("iframe_height","40")); | |
| 1297 | - Blob content = empty_blob; | |
| 1298 | - const char * zRenderMode = 0; | |
| 1299 | - fileedit_get_fnci_args( &zFilename, 0 ); | |
| 1300 | - if(!fileedit_ajax_boostrap(1) | |
| 1301 | - || !fileedit_ajax_check_filename(zFilename)){ | |
| 1302 | - return; | |
| 1303 | - } | |
| 1304 | - cgi_set_content_type("text/html"); | |
| 1305 | - blob_init(&content, zContent, -1); | |
| 1306 | - fileedit_render_preview(&content, zFilename, | |
| 1307 | - ln ? FE_PREVIEW_LINE_NUMBERS : 0, | |
| 1308 | - &renderMode, iframeHeight); | |
| 1309 | - /* | |
| 1310 | - ** Now tell the caller if we did indeed use FE_RENDER_WIKI, so that | |
| 1311 | - ** they can re-set the <base href> to an appropriate value (which | |
| 1312 | - ** requires knowing the content's current checkin version, which we | |
| 1313 | - ** don't have here). | |
| 1314 | - */ | |
| 1315 | - switch(renderMode){ | |
| 1316 | - /* The strings used here MUST correspond to those used in the JS-side | |
| 1317 | - ** fossil.page.previewModes map. | |
| 1318 | - */ | |
| 1319 | - case FE_RENDER_WIKI: zRenderMode = "wiki"; break; | |
| 1320 | - case FE_RENDER_HTML_INLINE: zRenderMode = "htmlInline"; break; | |
| 1321 | - case FE_RENDER_HTML_IFRAME: zRenderMode = "htmlIframe"; break; | |
| 1322 | - case FE_RENDER_PLAIN_TEXT: zRenderMode = "text"; break; | |
| 1323 | - case FE_RENDER_GUESS: | |
| 1324 | - assert(!"cannot happen"); | |
| 1325 | - } | |
| 1326 | - if(zRenderMode!=0){ | |
| 1327 | - cgi_printf_header("x-fileedit-render-mode: %s\r\n", zRenderMode); | |
| 1328 | - } | |
| 1329 | -} | |
| 1330 | - | |
| 1331 | 1085 | /* |
| 1332 | 1086 | ** AJAX route /fileedit?ajax=diff |
| 1333 | 1087 | ** |
| 1334 | 1088 | ** Required query parameters: |
| 1335 | 1089 | ** |
| @@ -1347,11 +1101,11 @@ | ||
| 1347 | 1101 | ** patch-style siff can be produced. |
| 1348 | 1102 | ** |
| 1349 | 1103 | ** User must have Write access to use this page. |
| 1350 | 1104 | ** |
| 1351 | 1105 | ** Responds with the HTML content of the diff. On error it produces a |
| 1352 | -** JSON response as documented for fileedit_ajax_error(). | |
| 1106 | +** JSON response as documented for ajax_route_error(). | |
| 1353 | 1107 | */ |
| 1354 | 1108 | static void fileedit_ajax_diff(void){ |
| 1355 | 1109 | /* |
| 1356 | 1110 | ** Reminder: we only need the filename to perform valdiation |
| 1357 | 1111 | ** against fileedit_is_editable(), else this route could be |
| @@ -1377,22 +1131,27 @@ | ||
| 1377 | 1131 | diffFlags |= DIFF_IGNORE_ALLWS; |
| 1378 | 1132 | }else if(1==iFlag){ |
| 1379 | 1133 | diffFlags |= DIFF_IGNORE_EOLWS; |
| 1380 | 1134 | } |
| 1381 | 1135 | diffFlags |= DIFF_STRIP_EOLCR; |
| 1382 | - fileedit_get_fnci_args( &zFilename, &zRev ); | |
| 1383 | - if(!fileedit_ajax_boostrap(1) | |
| 1136 | + ajax_get_fnci_args( &zFilename, &zRev ); | |
| 1137 | + if(!ajax_route_bootstrap(1,1) | |
| 1384 | 1138 | || !fileedit_ajax_setup_filerev(zRev, &zRevUuid, &vid, |
| 1385 | 1139 | zFilename, &frid)){ |
| 1386 | 1140 | return; |
| 1387 | 1141 | } |
| 1388 | 1142 | if(!zContent){ |
| 1389 | 1143 | zContent = ""; |
| 1390 | 1144 | } |
| 1391 | 1145 | cgi_set_content_type("text/html"); |
| 1392 | 1146 | blob_init(&content, zContent, -1); |
| 1393 | - fileedit_render_diff(&content, frid, zRevUuid, diffFlags); | |
| 1147 | + { | |
| 1148 | + Blob orig = empty_blob; | |
| 1149 | + content_get(frid, &orig); | |
| 1150 | + ajax_render_diff(&orig, &content, diffFlags); | |
| 1151 | + blob_reset(&orig); | |
| 1152 | + } | |
| 1394 | 1153 | fossil_free(zRevUuid); |
| 1395 | 1154 | blob_reset(&content); |
| 1396 | 1155 | } |
| 1397 | 1156 | |
| 1398 | 1157 | /* |
| @@ -1557,19 +1316,19 @@ | ||
| 1557 | 1316 | ** checkin: UUID, |
| 1558 | 1317 | ** editableFiles: [ filename1, ... filenameN ] // sorted by name |
| 1559 | 1318 | ** } |
| 1560 | 1319 | ** |
| 1561 | 1320 | ** On error it produces a JSON response as documented for |
| 1562 | -** fileedit_ajax_error(). | |
| 1321 | +** ajax_route_error(). | |
| 1563 | 1322 | */ |
| 1564 | 1323 | static void fileedit_ajax_filelist(void){ |
| 1565 | 1324 | const char * zCi = PD("checkin",P("ci")); |
| 1566 | 1325 | Blob sql = empty_blob; |
| 1567 | 1326 | Stmt q = empty_Stmt; |
| 1568 | 1327 | int i = 0; |
| 1569 | 1328 | |
| 1570 | - if(!fileedit_ajax_boostrap(0)){ | |
| 1329 | + if(!ajax_route_bootstrap(1,0)){ | |
| 1571 | 1330 | return; |
| 1572 | 1331 | } |
| 1573 | 1332 | cgi_set_content_type("application/json"); |
| 1574 | 1333 | if(zCi!=0){ |
| 1575 | 1334 | char * zCiFull = 0; |
| @@ -1616,11 +1375,11 @@ | ||
| 1616 | 1375 | CX("}"); |
| 1617 | 1376 | } |
| 1618 | 1377 | CX("]"); |
| 1619 | 1378 | db_finalize(&q); |
| 1620 | 1379 | }else{ |
| 1621 | - fileedit_ajax_error(500, "Unhandled URL argument."); | |
| 1380 | + ajax_route_error(500, "Unhandled URL argument."); | |
| 1622 | 1381 | } |
| 1623 | 1382 | } |
| 1624 | 1383 | |
| 1625 | 1384 | /* |
| 1626 | 1385 | ** AJAX route /fileedit?ajax=commit |
| @@ -1657,11 +1416,11 @@ | ||
| 1657 | 1416 | ** dryRun: bool, |
| 1658 | 1417 | ** manifest: text of manifest, |
| 1659 | 1418 | ** } |
| 1660 | 1419 | ** |
| 1661 | 1420 | ** On error it produces a JSON response as documented for |
| 1662 | -** fileedit_ajax_error(). | |
| 1421 | +** ajax_route_error(). | |
| 1663 | 1422 | */ |
| 1664 | 1423 | static void fileedit_ajax_commit(void){ |
| 1665 | 1424 | Blob err = empty_blob; /* Error messages */ |
| 1666 | 1425 | Blob manifest = empty_blob; /* raw new manifest */ |
| 1667 | 1426 | CheckinMiniInfo cimi; /* checkin state */ |
| @@ -1669,30 +1428,30 @@ | ||
| 1669 | 1428 | int newVid = 0; /* new version's RID */ |
| 1670 | 1429 | char * zNewUuid = 0; /* newVid's UUID */ |
| 1671 | 1430 | char const * zMimetype; |
| 1672 | 1431 | char * zBranch = 0; |
| 1673 | 1432 | |
| 1674 | - if(!fileedit_ajax_boostrap(1)){ | |
| 1433 | + if(!ajax_route_bootstrap(1,1)){ | |
| 1675 | 1434 | return; |
| 1676 | 1435 | } |
| 1677 | 1436 | db_begin_transaction(); |
| 1678 | 1437 | CheckinMiniInfo_init(&cimi); |
| 1679 | 1438 | rc = fileedit_setup_cimi_from_p(&cimi, &err, 0); |
| 1680 | 1439 | if(0!=rc){ |
| 1681 | - fileedit_ajax_error(rc,"%b",&err); | |
| 1440 | + ajax_route_error(rc,"%b",&err); | |
| 1682 | 1441 | goto end_cleanup; |
| 1683 | 1442 | } |
| 1684 | 1443 | if(blob_size(&cimi.comment)==0){ |
| 1685 | - fileedit_ajax_error(400,"Empty checkin comment is not permitted."); | |
| 1444 | + ajax_route_error(400,"Empty checkin comment is not permitted."); | |
| 1686 | 1445 | goto end_cleanup; |
| 1687 | 1446 | } |
| 1688 | 1447 | if(0!=atoi(PD("include_manifest","0"))){ |
| 1689 | 1448 | cimi.pMfOut = &manifest; |
| 1690 | 1449 | } |
| 1691 | 1450 | checkin_mini(&cimi, &newVid, &err); |
| 1692 | 1451 | if(blob_size(&err)){ |
| 1693 | - fileedit_ajax_error(500,"%b",&err); | |
| 1452 | + ajax_route_error(500,"%b",&err); | |
| 1694 | 1453 | goto end_cleanup; |
| 1695 | 1454 | } |
| 1696 | 1455 | assert(newVid>0); |
| 1697 | 1456 | zNewUuid = rid_to_uuid(newVid); |
| 1698 | 1457 | cgi_set_content_type("application/json"); |
| @@ -1747,21 +1506,20 @@ | ||
| 1747 | 1506 | ** use of the name parameter. |
| 1748 | 1507 | ** |
| 1749 | 1508 | ** Which additional parameters are used by each distinct ajax value is |
| 1750 | 1509 | ** an internal implementation detail and may change with any given |
| 1751 | 1510 | ** build of this code. An unknown "name" value triggers an error, as |
| 1752 | -** documented for fileedit_ajax_error(). | |
| 1511 | +** documented for ajax_route_error(). | |
| 1753 | 1512 | */ |
| 1754 | 1513 | void fileedit_page(void){ |
| 1755 | 1514 | const char * zFilename = 0; /* filename. We'll accept 'name' |
| 1756 | 1515 | because that param is handled |
| 1757 | 1516 | specially by the core. */ |
| 1758 | 1517 | const char * zRev = 0; /* checkin version */ |
| 1759 | 1518 | const char * zFileMime = 0; /* File mime type guess */ |
| 1760 | 1519 | CheckinMiniInfo cimi; /* Checkin state */ |
| 1761 | - int previewHtmlHeight = 0; /* iframe height (EMs) */ | |
| 1762 | - int previewRenderMode = FE_RENDER_GUESS; /* preview mode */ | |
| 1520 | + int previewRenderMode = AJAX_RENDER_GUESS; /* preview mode */ | |
| 1763 | 1521 | Blob err = empty_blob; /* Error report */ |
| 1764 | 1522 | Blob endScript = empty_blob; /* Script code to run at the |
| 1765 | 1523 | end. This content will be |
| 1766 | 1524 | combined into a single JS |
| 1767 | 1525 | function call, thus each |
| @@ -1772,21 +1530,21 @@ | ||
| 1772 | 1530 | |
| 1773 | 1531 | /* Allow no access to this page without check-in privilege */ |
| 1774 | 1532 | login_check_credentials(); |
| 1775 | 1533 | if( !g.perm.Write ){ |
| 1776 | 1534 | if(zAjax!=0){ |
| 1777 | - fileedit_ajax_error(403, "Write permissions required."); | |
| 1535 | + ajax_route_error(403, "Write permissions required."); | |
| 1778 | 1536 | }else{ |
| 1779 | 1537 | login_needed(g.anon.Write); |
| 1780 | 1538 | } |
| 1781 | 1539 | return; |
| 1782 | 1540 | } |
| 1783 | 1541 | /* No access to anything on this page if the fileedit-glob is empty */ |
| 1784 | 1542 | if( fileedit_glob()==0 ){ |
| 1785 | 1543 | if(zAjax!=0){ |
| 1786 | - fileedit_ajax_error(403, "Online editing is disabled for this " | |
| 1787 | - "repository."); | |
| 1544 | + ajax_route_error(403, "Online editing is disabled for this " | |
| 1545 | + "repository."); | |
| 1788 | 1546 | return; |
| 1789 | 1547 | } |
| 1790 | 1548 | style_header("File Editor (disabled)"); |
| 1791 | 1549 | CX("<h1>Online File Editing Is Disabled</h1>\n"); |
| 1792 | 1550 | if( g.perm.Admin ){ |
| @@ -1806,22 +1564,21 @@ | ||
| 1806 | 1564 | /* Dispatch AJAX methods based tail of the request URI. |
| 1807 | 1565 | ** The AJAX parts do their own permissions/CSRF check and |
| 1808 | 1566 | ** fail with a JSON-format response if needed. |
| 1809 | 1567 | */ |
| 1810 | 1568 | if( 0!=zAjax ){ |
| 1569 | + /* preview mode is handled via /ajax/preview-text */ | |
| 1811 | 1570 | if(0==strcmp("content",zAjax)){ |
| 1812 | 1571 | fileedit_ajax_content(); |
| 1813 | - }else if(0==strcmp("preview",zAjax)){ | |
| 1814 | - fileedit_ajax_preview(); | |
| 1815 | 1572 | }else if(0==strcmp("filelist",zAjax)){ |
| 1816 | 1573 | fileedit_ajax_filelist(); |
| 1817 | 1574 | }else if(0==strcmp("diff",zAjax)){ |
| 1818 | 1575 | fileedit_ajax_diff(); |
| 1819 | 1576 | }else if(0==strcmp("commit",zAjax)){ |
| 1820 | 1577 | fileedit_ajax_commit(); |
| 1821 | 1578 | }else{ |
| 1822 | - fileedit_ajax_error(500, "Unhandled ajax route name."); | |
| 1579 | + ajax_route_error(500, "Unhandled ajax route name."); | |
| 1823 | 1580 | } |
| 1824 | 1581 | return; |
| 1825 | 1582 | } |
| 1826 | 1583 | |
| 1827 | 1584 | db_begin_transaction(); |
| @@ -1854,21 +1611,19 @@ | ||
| 1854 | 1611 | ** render the errors. Any up-coming errors, barring malloc failure |
| 1855 | 1612 | ** or similar, are not "that" fatal. We can/should continue |
| 1856 | 1613 | ** rendering the page, then output the error message at the end. |
| 1857 | 1614 | ********************************************************************/ |
| 1858 | 1615 | |
| 1859 | - { | |
| 1860 | - /* The CSS for this page lives in a common file but much of it we | |
| 1861 | - ** don't want inadvertently being used by other pages. We don't | |
| 1862 | - ** have a common, page-specific container we can filter our CSS | |
| 1863 | - ** selectors, but we do have the BODY, which we can decorate with | |
| 1864 | - ** whatever CSS we wish... | |
| 1865 | - */ | |
| 1866 | - style_emit_script_tag(0,0); | |
| 1867 | - CX("document.body.classList.add('fileedit');\n"); | |
| 1868 | - style_emit_script_tag(1,0); | |
| 1869 | - } | |
| 1616 | + /* The CSS for this page lives in a common file but much of it we | |
| 1617 | + ** don't want inadvertently being used by other pages. We don't | |
| 1618 | + ** have a common, page-specific container we can filter our CSS | |
| 1619 | + ** selectors, but we do have the BODY, which we can decorate with | |
| 1620 | + ** whatever CSS we wish... | |
| 1621 | + */ | |
| 1622 | + style_emit_script_tag(0,0); | |
| 1623 | + CX("document.body.classList.add('fileedit');\n"); | |
| 1624 | + style_emit_script_tag(1,0); | |
| 1870 | 1625 | |
| 1871 | 1626 | /* Status bar */ |
| 1872 | 1627 | CX("<div id='fossil-status-bar' " |
| 1873 | 1628 | "title='Status message area. Double-click to clear them.'>" |
| 1874 | 1629 | "Status messages will go here.</div>\n" |
| @@ -1947,46 +1702,30 @@ | ||
| 1947 | 1702 | "If on, the preview will automatically " |
| 1948 | 1703 | "refresh when this tab is selected."); |
| 1949 | 1704 | |
| 1950 | 1705 | /* Default preview rendering mode selection... */ |
| 1951 | 1706 | previewRenderMode = zFileMime |
| 1952 | - ? fileedit_render_mode_for_mimetype(zFileMime) | |
| 1953 | - : FE_RENDER_GUESS; | |
| 1707 | + ? ajax_render_mode_for_mimetype(zFileMime) | |
| 1708 | + : AJAX_RENDER_GUESS; | |
| 1954 | 1709 | style_select_list_int("select-preview-mode", |
| 1955 | 1710 | "preview_render_mode", |
| 1956 | 1711 | "Preview Mode", |
| 1957 | 1712 | "Preview mode format.", |
| 1958 | 1713 | previewRenderMode, |
| 1959 | - "Guess", FE_RENDER_GUESS, | |
| 1960 | - "Wiki/Markdown", FE_RENDER_WIKI, | |
| 1961 | - "HTML (iframe)", FE_RENDER_HTML_IFRAME, | |
| 1962 | - "HTML (inline)", FE_RENDER_HTML_INLINE, | |
| 1963 | - "Plain Text", FE_RENDER_PLAIN_TEXT, | |
| 1714 | + "Guess", AJAX_RENDER_GUESS, | |
| 1715 | + "Wiki/Markdown", AJAX_RENDER_WIKI, | |
| 1716 | + "HTML (iframe)", AJAX_RENDER_HTML_IFRAME, | |
| 1717 | + "HTML (inline)", AJAX_RENDER_HTML_INLINE, | |
| 1718 | + "Plain Text", AJAX_RENDER_PLAIN_TEXT, | |
| 1964 | 1719 | NULL); |
| 1965 | - /* | |
| 1966 | - ** Set up a JS-side mapping of the FE_RENDER_xyz values. This is | |
| 1967 | - ** used for dynamically toggling certain UI components on and off. | |
| 1968 | - */ | |
| 1969 | - blob_appendf(&endScript, "fossil.page.previewModes={" | |
| 1970 | - "guess: %d, %d: 'guess', wiki: %d, %d: 'wiki'," | |
| 1971 | - "htmlIframe: %d, %d: 'htmlIframe', " | |
| 1972 | - "htmlInline: %d, %d: 'htmlInline', " | |
| 1973 | - "text: %d, %d: 'text'" | |
| 1974 | - "};\n", | |
| 1975 | - FE_RENDER_GUESS, FE_RENDER_GUESS, | |
| 1976 | - FE_RENDER_WIKI, FE_RENDER_WIKI, | |
| 1977 | - FE_RENDER_HTML_IFRAME, FE_RENDER_HTML_IFRAME, | |
| 1978 | - FE_RENDER_HTML_INLINE, FE_RENDER_HTML_INLINE, | |
| 1979 | - FE_RENDER_PLAIN_TEXT, FE_RENDER_PLAIN_TEXT); | |
| 1980 | 1720 | /* Allow selection of HTML preview iframe height */ |
| 1981 | - previewHtmlHeight = 40; | |
| 1982 | 1721 | style_select_list_int("select-preview-html-ems", |
| 1983 | 1722 | "preview_html_ems", |
| 1984 | 1723 | "HTML Preview IFrame Height (EMs)", |
| 1985 | 1724 | "Height (in EMs) of the iframe used for " |
| 1986 | 1725 | "HTML preview", |
| 1987 | - previewHtmlHeight, | |
| 1726 | + 40 /*default*/, | |
| 1988 | 1727 | "", 20, "", 40, |
| 1989 | 1728 | "", 60, "", 80, |
| 1990 | 1729 | "", 100, NULL); |
| 1991 | 1730 | /* Selection of line numbers for text preview */ |
| 1992 | 1731 | style_labeled_checkbox("cb-line-numbers", |
| @@ -2188,28 +1927,28 @@ | ||
| 2188 | 1927 | { |
| 2189 | 1928 | /* Dynamically populate the editor, display any error in the err |
| 2190 | 1929 | ** blob, and/or switch to tab #0, where the file selector |
| 2191 | 1930 | ** lives... */ |
| 2192 | 1931 | blob_appendf(&endScript, |
| 2193 | - "window.addEventListener('load',"); | |
| 1932 | + "fossil.onPageLoad("); | |
| 2194 | 1933 | if(zRev && zFilename){ |
| 2195 | 1934 | assert(0==blob_size(&err)); |
| 2196 | 1935 | blob_appendf(&endScript, |
| 2197 | 1936 | "()=>fossil.page.loadFile(%!j,%!j)", |
| 2198 | 1937 | zFilename, cimi.zParentUuid); |
| 2199 | 1938 | }else{ |
| 2200 | - blob_appendf(&endScript,"function(){"); | |
| 1939 | + blob_appendf(&endScript,"function(){\n"); | |
| 2201 | 1940 | if(blob_size(&err)>0){ |
| 2202 | 1941 | blob_appendf(&endScript, |
| 2203 | 1942 | "fossil.error(%!j);\n", |
| 2204 | 1943 | blob_str(&err)); |
| 2205 | 1944 | } |
| 2206 | 1945 | blob_appendf(&endScript, |
| 2207 | 1946 | "fossil.page.tabs.switchToTab(0);\n"); |
| 2208 | 1947 | blob_appendf(&endScript,"}"); |
| 2209 | 1948 | } |
| 2210 | - blob_appendf(&endScript,", false);\n"); | |
| 1949 | + blob_appendf(&endScript,");\n"); | |
| 2211 | 1950 | } |
| 2212 | 1951 | |
| 2213 | 1952 | blob_reset(&err); |
| 2214 | 1953 | CheckinMiniInfo_cleanup(&cimi); |
| 2215 | 1954 | style_emit_script_fossil_bootstrap(0); |
| @@ -2216,21 +1955,28 @@ | ||
| 2216 | 1955 | append_diff_javascript(1); |
| 2217 | 1956 | style_emit_script_fetch(0); |
| 2218 | 1957 | style_emit_script_tabs(0)/*also emits fossil.dom*/; |
| 2219 | 1958 | style_emit_script_confirmer(0); |
| 2220 | 1959 | style_emit_script_builtin(0, "fossil.storage.js"); |
| 1960 | + | |
| 1961 | + /* | |
| 1962 | + ** Set up a JS-side mapping of the AJAX_RENDER_xyz values. This is | |
| 1963 | + ** used for dynamically toggling certain UI components on and off. | |
| 1964 | + ** Must come before fossil.page.fileedit.js. | |
| 1965 | + */ | |
| 1966 | + ajax_emit_js_preview_modes(1); | |
| 1967 | + | |
| 2221 | 1968 | style_emit_script_builtin(0, "fossil.page.fileedit.js"); |
| 2222 | 1969 | if(blob_size(&endScript)>0){ |
| 2223 | 1970 | style_emit_script_tag(0,0); |
| 2224 | - CX("(function(){\n"); | |
| 2225 | - CX("try{\n%b\n}" | |
| 1971 | + CX("\n(function(){\n"); | |
| 1972 | + CX("try{\n%b}\n" | |
| 2226 | 1973 | "catch(e){" |
| 2227 | - "fossil.error(e);\n" | |
| 2228 | - "console.error('Exception:',e);\n" | |
| 1974 | + "fossil.error(e); console.error('Exception:',e);" | |
| 2229 | 1975 | "}\n", |
| 2230 | 1976 | &endScript); |
| 2231 | 1977 | CX("})();"); |
| 2232 | 1978 | style_emit_script_tag(1,0); |
| 2233 | 1979 | } |
| 2234 | 1980 | db_end_transaction(0); |
| 2235 | 1981 | style_footer(); |
| 2236 | 1982 | } |
| 2237 | 1983 |
| --- src/fileedit.c | |
| +++ src/fileedit.c | |
| @@ -919,111 +919,10 @@ | |
| 919 | }else{ |
| 920 | return 0; |
| 921 | } |
| 922 | } |
| 923 | |
| 924 | enum fileedit_render_preview_flags { |
| 925 | FE_PREVIEW_LINE_NUMBERS = 1 |
| 926 | }; |
| 927 | enum fileedit_render_modes { |
| 928 | /* GUESS must be 0. All others have unspecified values. */ |
| 929 | FE_RENDER_GUESS = 0, |
| 930 | FE_RENDER_PLAIN_TEXT, |
| 931 | FE_RENDER_HTML_IFRAME, |
| 932 | FE_RENDER_HTML_INLINE, |
| 933 | FE_RENDER_WIKI |
| 934 | }; |
| 935 | |
| 936 | static int fileedit_render_mode_for_mimetype(const char * zMimetype){ |
| 937 | int rc = FE_RENDER_PLAIN_TEXT; |
| 938 | if( zMimetype ){ |
| 939 | if( fossil_strcmp(zMimetype, "text/html")==0 ){ |
| 940 | rc = FE_RENDER_HTML_IFRAME; |
| 941 | }else if( fossil_strcmp(zMimetype, "text/x-fossil-wiki")==0 |
| 942 | || fossil_strcmp(zMimetype, "text/x-markdown")==0 ){ |
| 943 | rc = FE_RENDER_WIKI; |
| 944 | } |
| 945 | } |
| 946 | return rc; |
| 947 | } |
| 948 | |
| 949 | /* |
| 950 | ** Performs the PREVIEW mode for /filepage. |
| 951 | ** |
| 952 | ** If *renderMode==FE_RENDER_GUESS then *renderMode gets set to the |
| 953 | ** mode which is guessed at for the rendering. |
| 954 | */ |
| 955 | static void fileedit_render_preview(Blob * pContent, |
| 956 | const char *zFilename, |
| 957 | int flags, int * renderMode, |
| 958 | int nIframeHeightEm){ |
| 959 | const char * zMime; |
| 960 | zMime = mimetype_from_name(zFilename); |
| 961 | if(FE_RENDER_GUESS==*renderMode){ |
| 962 | *renderMode = fileedit_render_mode_for_mimetype(zMime); |
| 963 | } |
| 964 | switch(*renderMode){ |
| 965 | case FE_RENDER_HTML_IFRAME:{ |
| 966 | char * z64 = encode64(blob_str(pContent), blob_size(pContent)); |
| 967 | CX("<iframe width='100%%' frameborder='0' " |
| 968 | "marginwidth='0' style='height:%dem' " |
| 969 | "marginheight='0' sandbox='allow-same-origin' " |
| 970 | "id='ifm1' src='data:text/html;base64,%z'" |
| 971 | "></iframe>", |
| 972 | nIframeHeightEm ? nIframeHeightEm : 40, |
| 973 | z64); |
| 974 | break; |
| 975 | } |
| 976 | case FE_RENDER_HTML_INLINE:{ |
| 977 | CX("%b",pContent); |
| 978 | break; |
| 979 | } |
| 980 | case FE_RENDER_WIKI: |
| 981 | wiki_render_by_mimetype(pContent, zMime); |
| 982 | break; |
| 983 | default:{ |
| 984 | const char *zExt = strrchr(zFilename,'.'); |
| 985 | const char *zContent = blob_str(pContent); |
| 986 | if(FE_PREVIEW_LINE_NUMBERS & flags){ |
| 987 | output_text_with_line_numbers(zContent, "on"); |
| 988 | }else if(zExt && zExt[1]){ |
| 989 | CX("<pre><code class='language-%s'>%h</code></pre>", |
| 990 | zExt+1, zContent); |
| 991 | }else{ |
| 992 | CX("<pre>%h</pre>", zContent); |
| 993 | } |
| 994 | break; |
| 995 | } |
| 996 | } |
| 997 | } |
| 998 | |
| 999 | /* |
| 1000 | ** Renders diffs for the /fileedit page. pContent is the |
| 1001 | ** locally-edited content. frid is the RID of the file's blob entry |
| 1002 | ** from which pContent is based. zManifestUuid is the checkin version |
| 1003 | ** to which RID belongs - it is purely informational, for labeling the |
| 1004 | ** diff view. isSbs is true for side-by-side diffs, false for unified. |
| 1005 | */ |
| 1006 | static void fileedit_render_diff(Blob * pContent, int frid, |
| 1007 | const char * zManifestUuid, |
| 1008 | u64 diffFlags){ |
| 1009 | Blob orig = empty_blob; |
| 1010 | Blob out = empty_blob; |
| 1011 | |
| 1012 | content_get(frid, &orig); |
| 1013 | text_diff(&orig, pContent, &out, 0, diffFlags); |
| 1014 | if(blob_size(&out)==0){ |
| 1015 | /* nothing to do */ |
| 1016 | }else if(DIFF_SIDEBYSIDE & diffFlags){ |
| 1017 | CX("%b",&out); |
| 1018 | }else{ |
| 1019 | CX("<pre class='udiff'>%b</pre>",&out); |
| 1020 | } |
| 1021 | blob_reset(&orig); |
| 1022 | blob_reset(&out); |
| 1023 | } |
| 1024 | |
| 1025 | /* |
| 1026 | ** Given a repo-relative filename and a manifest RID, returns the UUID |
| 1027 | ** of the corresponding file entry. Returns NULL if no match is |
| 1028 | ** found. If pFilePerm is not NULL, the file's permission flag value |
| 1029 | ** is written to *pFilePerm. |
| @@ -1043,99 +942,25 @@ | |
| 1043 | } |
| 1044 | db_finalize(&stmt); |
| 1045 | return zFileUuid; |
| 1046 | } |
| 1047 | |
| 1048 | /* |
| 1049 | ** Helper for /fileedit_xyz routes. Clears the CGI content buffer, |
| 1050 | ** sets an error status code, and queues up a JSON response in the |
| 1051 | ** form of an object: |
| 1052 | ** |
| 1053 | ** {error: formatted message} |
| 1054 | ** |
| 1055 | ** After calling this, the caller should immediately return. |
| 1056 | */ |
| 1057 | static void fileedit_ajax_error(int httpCode, const char * zFmt, ...){ |
| 1058 | Blob msg = empty_blob; |
| 1059 | Blob content = empty_blob; |
| 1060 | va_list vargs; |
| 1061 | va_start(vargs,zFmt); |
| 1062 | blob_vappendf(&msg, zFmt, vargs); |
| 1063 | va_end(vargs); |
| 1064 | blob_appendf(&content,"{\"error\":%!j}", blob_str(&msg)); |
| 1065 | blob_reset(&msg); |
| 1066 | cgi_set_content(&content); |
| 1067 | cgi_set_status(httpCode, "Error"); |
| 1068 | cgi_set_content_type("application/json"); |
| 1069 | } |
| 1070 | |
| 1071 | /* |
| 1072 | ** Performs bootstrapping common to the /fileedit_xyz AJAX routes. |
| 1073 | ** Returns 0 if bootstrapping fails (wrong permissions), in which |
| 1074 | ** case it has reported the error and the route should immediately |
| 1075 | ** return. Returns true on success. |
| 1076 | ** |
| 1077 | ** Must be passed true if the request being set up requires POST, |
| 1078 | ** else false. |
| 1079 | */ |
| 1080 | static int fileedit_ajax_boostrap(int requirePost){ |
| 1081 | login_check_credentials(); |
| 1082 | if( !g.perm.Write ){ |
| 1083 | fileedit_ajax_error(403,"Write permissions required."); |
| 1084 | return 0; |
| 1085 | }else if(0==cgi_csrf_safe(requirePost)){ |
| 1086 | fileedit_ajax_error(403, |
| 1087 | "CSRF violation (make sure sending of HTTP " |
| 1088 | "Referer headers is enabled for XHR " |
| 1089 | "connections)."); |
| 1090 | return 0; |
| 1091 | } |
| 1092 | return 1; |
| 1093 | } |
| 1094 | /* |
| 1095 | ** Returns true if the current user is allowed to edit the given |
| 1096 | ** filename, as determined by fileedit_is_editable(), else false, |
| 1097 | ** in which case it queues up an error response and the caller |
| 1098 | ** must return immediately. |
| 1099 | */ |
| 1100 | static int fileedit_ajax_check_filename(const char * zFilename){ |
| 1101 | if(0==fileedit_is_editable(zFilename)){ |
| 1102 | fileedit_ajax_error(403, "File is disallowed by the " |
| 1103 | "fileedit-glob setting."); |
| 1104 | return 0; |
| 1105 | } |
| 1106 | return 1; |
| 1107 | } |
| 1108 | |
| 1109 | |
| 1110 | /* |
| 1111 | ** If zFn is not NULL, it is assigned the value of the first one of |
| 1112 | ** the "filename" or "fn" CGI parameters which is set. |
| 1113 | ** |
| 1114 | ** If zCi is not NULL, it is assigned the value of the first one of |
| 1115 | ** the "checkin" or "ci" CGI parameters which is set. |
| 1116 | ** |
| 1117 | ** If a parameter is not NULL, it will be assigned NULL if the |
| 1118 | ** corresponding parameter is not set. |
| 1119 | ** |
| 1120 | ** Returns the number of non-NULL values it assigns to arguments. Thus |
| 1121 | ** if passed (&x, NULL), it returns 1 if it assigns non-NULL to *x and |
| 1122 | ** 0 if it assigns NULL to *x. |
| 1123 | */ |
| 1124 | static int fileedit_get_fnci_args( const char **zFn, const char **zCi ){ |
| 1125 | int rc = 0; |
| 1126 | if(zCi!=0){ |
| 1127 | *zCi = PD("checkin",P("ci")); |
| 1128 | if( *zCi ) ++rc; |
| 1129 | } |
| 1130 | if(zFn!=0){ |
| 1131 | *zFn = PD("filename",P("fn")); |
| 1132 | if (*zFn) ++rc; |
| 1133 | } |
| 1134 | return rc; |
| 1135 | } |
| 1136 | |
| 1137 | /* |
| 1138 | ** Passed the values of the "checkin" and "filename" request |
| 1139 | ** properties, this function verifies that they are valid and |
| 1140 | ** populates: |
| 1141 | ** |
| @@ -1157,30 +982,30 @@ | |
| 1157 | static int fileedit_ajax_setup_filerev(const char * zRev, |
| 1158 | char ** zRevUuid, |
| 1159 | int * vid, |
| 1160 | const char * zFilename, |
| 1161 | int * frid){ |
| 1162 | char * zFileUuid; /* file UUID */ |
| 1163 | const int checkFile = zFilename!=0 || frid!=0; |
| 1164 | |
| 1165 | if(checkFile && !fileedit_ajax_check_filename(zFilename)){ |
| 1166 | return 0; |
| 1167 | } |
| 1168 | *vid = symbolic_name_to_rid(zRev, "ci"); |
| 1169 | if(0==*vid){ |
| 1170 | fileedit_ajax_error(404,"Cannot resolve name as a checkin: %s", |
| 1171 | zRev); |
| 1172 | return 0; |
| 1173 | }else if(*vid<0){ |
| 1174 | fileedit_ajax_error(400,"Checkin name is ambiguous: %s", |
| 1175 | zRev); |
| 1176 | return 0; |
| 1177 | } |
| 1178 | if(checkFile){ |
| 1179 | zFileUuid = fileedit_file_uuid(zFilename, *vid, 0); |
| 1180 | if(zFileUuid==0){ |
| 1181 | fileedit_ajax_error(404,"Checkin does not contain file."); |
| 1182 | return 0; |
| 1183 | } |
| 1184 | } |
| 1185 | if(zRevUuid!=0){ |
| 1186 | *zRevUuid = rid_to_uuid(*vid); |
| @@ -1204,11 +1029,11 @@ | |
| 1204 | ** checkin=CHECKIN_NAME |
| 1205 | ** |
| 1206 | ** User must have Write access to use this page. |
| 1207 | ** |
| 1208 | ** Responds with the raw content of the given page. On error it |
| 1209 | ** produces a JSON response as documented for fileedit_ajax_error(). |
| 1210 | ** |
| 1211 | ** Extra response headers: |
| 1212 | ** |
| 1213 | ** x-fileedit-file-perm: empty or "x" or "l", representing PERM_REG, |
| 1214 | ** PERM_EXE, or PERM_LINK, respectively. |
| @@ -1220,12 +1045,12 @@ | |
| 1220 | const char * zRev = 0; |
| 1221 | int vid, frid; |
| 1222 | Blob content = empty_blob; |
| 1223 | const char * zMime; |
| 1224 | |
| 1225 | fileedit_get_fnci_args( &zFilename, &zRev ); |
| 1226 | if(!fileedit_ajax_boostrap(0) |
| 1227 | || !fileedit_ajax_setup_filerev(zRev, 0, &vid, |
| 1228 | zFilename, &frid)){ |
| 1229 | return; |
| 1230 | } |
| 1231 | zMime = mimetype_from_name(zFilename); |
| @@ -1255,81 +1080,10 @@ | |
| 1255 | } |
| 1256 | cgi_set_content_type(zMime); |
| 1257 | cgi_set_content(&content); |
| 1258 | } |
| 1259 | |
| 1260 | /* |
| 1261 | ** AJAX route /fileedit?ajax=preview |
| 1262 | ** |
| 1263 | ** Required query parameters: |
| 1264 | ** |
| 1265 | ** filename=FILENAME |
| 1266 | ** content=text |
| 1267 | ** |
| 1268 | ** Optional query parameters: |
| 1269 | ** |
| 1270 | ** render_mode=integer (FE_RENDER_xxx) (default=FE_RENDER_GUESS) |
| 1271 | ** |
| 1272 | ** ln=0 or 1 to disable/enable line number mode in |
| 1273 | ** FE_RENDER_PLAIN_TEXT mode. |
| 1274 | ** |
| 1275 | ** iframe_height=integer (default=40) Height, in EMs of HTML preview |
| 1276 | ** iframe. |
| 1277 | ** |
| 1278 | ** User must have Write access to use this page. |
| 1279 | ** |
| 1280 | ** Responds with the HTML content of the preview. On error it produces |
| 1281 | ** a JSON response as documented for fileedit_ajax_error(). |
| 1282 | ** |
| 1283 | ** Extra response headers: |
| 1284 | ** |
| 1285 | ** x-fileedit-render-mode: string representing the rendering mode |
| 1286 | ** which was really used (which will differ from the requested mode |
| 1287 | ** only if mode 0 (guess) was requested). The names are documented |
| 1288 | ** below in code and match those in the emitted JS object |
| 1289 | ** fossil.page.previewModes. |
| 1290 | */ |
| 1291 | static void fileedit_ajax_preview(void){ |
| 1292 | const char * zFilename = 0; |
| 1293 | const char * zContent = P("content"); |
| 1294 | int renderMode = atoi(PD("render_mode","0")); |
| 1295 | int ln = atoi(PD("ln","0")); |
| 1296 | int iframeHeight = atoi(PD("iframe_height","40")); |
| 1297 | Blob content = empty_blob; |
| 1298 | const char * zRenderMode = 0; |
| 1299 | fileedit_get_fnci_args( &zFilename, 0 ); |
| 1300 | if(!fileedit_ajax_boostrap(1) |
| 1301 | || !fileedit_ajax_check_filename(zFilename)){ |
| 1302 | return; |
| 1303 | } |
| 1304 | cgi_set_content_type("text/html"); |
| 1305 | blob_init(&content, zContent, -1); |
| 1306 | fileedit_render_preview(&content, zFilename, |
| 1307 | ln ? FE_PREVIEW_LINE_NUMBERS : 0, |
| 1308 | &renderMode, iframeHeight); |
| 1309 | /* |
| 1310 | ** Now tell the caller if we did indeed use FE_RENDER_WIKI, so that |
| 1311 | ** they can re-set the <base href> to an appropriate value (which |
| 1312 | ** requires knowing the content's current checkin version, which we |
| 1313 | ** don't have here). |
| 1314 | */ |
| 1315 | switch(renderMode){ |
| 1316 | /* The strings used here MUST correspond to those used in the JS-side |
| 1317 | ** fossil.page.previewModes map. |
| 1318 | */ |
| 1319 | case FE_RENDER_WIKI: zRenderMode = "wiki"; break; |
| 1320 | case FE_RENDER_HTML_INLINE: zRenderMode = "htmlInline"; break; |
| 1321 | case FE_RENDER_HTML_IFRAME: zRenderMode = "htmlIframe"; break; |
| 1322 | case FE_RENDER_PLAIN_TEXT: zRenderMode = "text"; break; |
| 1323 | case FE_RENDER_GUESS: |
| 1324 | assert(!"cannot happen"); |
| 1325 | } |
| 1326 | if(zRenderMode!=0){ |
| 1327 | cgi_printf_header("x-fileedit-render-mode: %s\r\n", zRenderMode); |
| 1328 | } |
| 1329 | } |
| 1330 | |
| 1331 | /* |
| 1332 | ** AJAX route /fileedit?ajax=diff |
| 1333 | ** |
| 1334 | ** Required query parameters: |
| 1335 | ** |
| @@ -1347,11 +1101,11 @@ | |
| 1347 | ** patch-style siff can be produced. |
| 1348 | ** |
| 1349 | ** User must have Write access to use this page. |
| 1350 | ** |
| 1351 | ** Responds with the HTML content of the diff. On error it produces a |
| 1352 | ** JSON response as documented for fileedit_ajax_error(). |
| 1353 | */ |
| 1354 | static void fileedit_ajax_diff(void){ |
| 1355 | /* |
| 1356 | ** Reminder: we only need the filename to perform valdiation |
| 1357 | ** against fileedit_is_editable(), else this route could be |
| @@ -1377,22 +1131,27 @@ | |
| 1377 | diffFlags |= DIFF_IGNORE_ALLWS; |
| 1378 | }else if(1==iFlag){ |
| 1379 | diffFlags |= DIFF_IGNORE_EOLWS; |
| 1380 | } |
| 1381 | diffFlags |= DIFF_STRIP_EOLCR; |
| 1382 | fileedit_get_fnci_args( &zFilename, &zRev ); |
| 1383 | if(!fileedit_ajax_boostrap(1) |
| 1384 | || !fileedit_ajax_setup_filerev(zRev, &zRevUuid, &vid, |
| 1385 | zFilename, &frid)){ |
| 1386 | return; |
| 1387 | } |
| 1388 | if(!zContent){ |
| 1389 | zContent = ""; |
| 1390 | } |
| 1391 | cgi_set_content_type("text/html"); |
| 1392 | blob_init(&content, zContent, -1); |
| 1393 | fileedit_render_diff(&content, frid, zRevUuid, diffFlags); |
| 1394 | fossil_free(zRevUuid); |
| 1395 | blob_reset(&content); |
| 1396 | } |
| 1397 | |
| 1398 | /* |
| @@ -1557,19 +1316,19 @@ | |
| 1557 | ** checkin: UUID, |
| 1558 | ** editableFiles: [ filename1, ... filenameN ] // sorted by name |
| 1559 | ** } |
| 1560 | ** |
| 1561 | ** On error it produces a JSON response as documented for |
| 1562 | ** fileedit_ajax_error(). |
| 1563 | */ |
| 1564 | static void fileedit_ajax_filelist(void){ |
| 1565 | const char * zCi = PD("checkin",P("ci")); |
| 1566 | Blob sql = empty_blob; |
| 1567 | Stmt q = empty_Stmt; |
| 1568 | int i = 0; |
| 1569 | |
| 1570 | if(!fileedit_ajax_boostrap(0)){ |
| 1571 | return; |
| 1572 | } |
| 1573 | cgi_set_content_type("application/json"); |
| 1574 | if(zCi!=0){ |
| 1575 | char * zCiFull = 0; |
| @@ -1616,11 +1375,11 @@ | |
| 1616 | CX("}"); |
| 1617 | } |
| 1618 | CX("]"); |
| 1619 | db_finalize(&q); |
| 1620 | }else{ |
| 1621 | fileedit_ajax_error(500, "Unhandled URL argument."); |
| 1622 | } |
| 1623 | } |
| 1624 | |
| 1625 | /* |
| 1626 | ** AJAX route /fileedit?ajax=commit |
| @@ -1657,11 +1416,11 @@ | |
| 1657 | ** dryRun: bool, |
| 1658 | ** manifest: text of manifest, |
| 1659 | ** } |
| 1660 | ** |
| 1661 | ** On error it produces a JSON response as documented for |
| 1662 | ** fileedit_ajax_error(). |
| 1663 | */ |
| 1664 | static void fileedit_ajax_commit(void){ |
| 1665 | Blob err = empty_blob; /* Error messages */ |
| 1666 | Blob manifest = empty_blob; /* raw new manifest */ |
| 1667 | CheckinMiniInfo cimi; /* checkin state */ |
| @@ -1669,30 +1428,30 @@ | |
| 1669 | int newVid = 0; /* new version's RID */ |
| 1670 | char * zNewUuid = 0; /* newVid's UUID */ |
| 1671 | char const * zMimetype; |
| 1672 | char * zBranch = 0; |
| 1673 | |
| 1674 | if(!fileedit_ajax_boostrap(1)){ |
| 1675 | return; |
| 1676 | } |
| 1677 | db_begin_transaction(); |
| 1678 | CheckinMiniInfo_init(&cimi); |
| 1679 | rc = fileedit_setup_cimi_from_p(&cimi, &err, 0); |
| 1680 | if(0!=rc){ |
| 1681 | fileedit_ajax_error(rc,"%b",&err); |
| 1682 | goto end_cleanup; |
| 1683 | } |
| 1684 | if(blob_size(&cimi.comment)==0){ |
| 1685 | fileedit_ajax_error(400,"Empty checkin comment is not permitted."); |
| 1686 | goto end_cleanup; |
| 1687 | } |
| 1688 | if(0!=atoi(PD("include_manifest","0"))){ |
| 1689 | cimi.pMfOut = &manifest; |
| 1690 | } |
| 1691 | checkin_mini(&cimi, &newVid, &err); |
| 1692 | if(blob_size(&err)){ |
| 1693 | fileedit_ajax_error(500,"%b",&err); |
| 1694 | goto end_cleanup; |
| 1695 | } |
| 1696 | assert(newVid>0); |
| 1697 | zNewUuid = rid_to_uuid(newVid); |
| 1698 | cgi_set_content_type("application/json"); |
| @@ -1747,21 +1506,20 @@ | |
| 1747 | ** use of the name parameter. |
| 1748 | ** |
| 1749 | ** Which additional parameters are used by each distinct ajax value is |
| 1750 | ** an internal implementation detail and may change with any given |
| 1751 | ** build of this code. An unknown "name" value triggers an error, as |
| 1752 | ** documented for fileedit_ajax_error(). |
| 1753 | */ |
| 1754 | void fileedit_page(void){ |
| 1755 | const char * zFilename = 0; /* filename. We'll accept 'name' |
| 1756 | because that param is handled |
| 1757 | specially by the core. */ |
| 1758 | const char * zRev = 0; /* checkin version */ |
| 1759 | const char * zFileMime = 0; /* File mime type guess */ |
| 1760 | CheckinMiniInfo cimi; /* Checkin state */ |
| 1761 | int previewHtmlHeight = 0; /* iframe height (EMs) */ |
| 1762 | int previewRenderMode = FE_RENDER_GUESS; /* preview mode */ |
| 1763 | Blob err = empty_blob; /* Error report */ |
| 1764 | Blob endScript = empty_blob; /* Script code to run at the |
| 1765 | end. This content will be |
| 1766 | combined into a single JS |
| 1767 | function call, thus each |
| @@ -1772,21 +1530,21 @@ | |
| 1772 | |
| 1773 | /* Allow no access to this page without check-in privilege */ |
| 1774 | login_check_credentials(); |
| 1775 | if( !g.perm.Write ){ |
| 1776 | if(zAjax!=0){ |
| 1777 | fileedit_ajax_error(403, "Write permissions required."); |
| 1778 | }else{ |
| 1779 | login_needed(g.anon.Write); |
| 1780 | } |
| 1781 | return; |
| 1782 | } |
| 1783 | /* No access to anything on this page if the fileedit-glob is empty */ |
| 1784 | if( fileedit_glob()==0 ){ |
| 1785 | if(zAjax!=0){ |
| 1786 | fileedit_ajax_error(403, "Online editing is disabled for this " |
| 1787 | "repository."); |
| 1788 | return; |
| 1789 | } |
| 1790 | style_header("File Editor (disabled)"); |
| 1791 | CX("<h1>Online File Editing Is Disabled</h1>\n"); |
| 1792 | if( g.perm.Admin ){ |
| @@ -1806,22 +1564,21 @@ | |
| 1806 | /* Dispatch AJAX methods based tail of the request URI. |
| 1807 | ** The AJAX parts do their own permissions/CSRF check and |
| 1808 | ** fail with a JSON-format response if needed. |
| 1809 | */ |
| 1810 | if( 0!=zAjax ){ |
| 1811 | if(0==strcmp("content",zAjax)){ |
| 1812 | fileedit_ajax_content(); |
| 1813 | }else if(0==strcmp("preview",zAjax)){ |
| 1814 | fileedit_ajax_preview(); |
| 1815 | }else if(0==strcmp("filelist",zAjax)){ |
| 1816 | fileedit_ajax_filelist(); |
| 1817 | }else if(0==strcmp("diff",zAjax)){ |
| 1818 | fileedit_ajax_diff(); |
| 1819 | }else if(0==strcmp("commit",zAjax)){ |
| 1820 | fileedit_ajax_commit(); |
| 1821 | }else{ |
| 1822 | fileedit_ajax_error(500, "Unhandled ajax route name."); |
| 1823 | } |
| 1824 | return; |
| 1825 | } |
| 1826 | |
| 1827 | db_begin_transaction(); |
| @@ -1854,21 +1611,19 @@ | |
| 1854 | ** render the errors. Any up-coming errors, barring malloc failure |
| 1855 | ** or similar, are not "that" fatal. We can/should continue |
| 1856 | ** rendering the page, then output the error message at the end. |
| 1857 | ********************************************************************/ |
| 1858 | |
| 1859 | { |
| 1860 | /* The CSS for this page lives in a common file but much of it we |
| 1861 | ** don't want inadvertently being used by other pages. We don't |
| 1862 | ** have a common, page-specific container we can filter our CSS |
| 1863 | ** selectors, but we do have the BODY, which we can decorate with |
| 1864 | ** whatever CSS we wish... |
| 1865 | */ |
| 1866 | style_emit_script_tag(0,0); |
| 1867 | CX("document.body.classList.add('fileedit');\n"); |
| 1868 | style_emit_script_tag(1,0); |
| 1869 | } |
| 1870 | |
| 1871 | /* Status bar */ |
| 1872 | CX("<div id='fossil-status-bar' " |
| 1873 | "title='Status message area. Double-click to clear them.'>" |
| 1874 | "Status messages will go here.</div>\n" |
| @@ -1947,46 +1702,30 @@ | |
| 1947 | "If on, the preview will automatically " |
| 1948 | "refresh when this tab is selected."); |
| 1949 | |
| 1950 | /* Default preview rendering mode selection... */ |
| 1951 | previewRenderMode = zFileMime |
| 1952 | ? fileedit_render_mode_for_mimetype(zFileMime) |
| 1953 | : FE_RENDER_GUESS; |
| 1954 | style_select_list_int("select-preview-mode", |
| 1955 | "preview_render_mode", |
| 1956 | "Preview Mode", |
| 1957 | "Preview mode format.", |
| 1958 | previewRenderMode, |
| 1959 | "Guess", FE_RENDER_GUESS, |
| 1960 | "Wiki/Markdown", FE_RENDER_WIKI, |
| 1961 | "HTML (iframe)", FE_RENDER_HTML_IFRAME, |
| 1962 | "HTML (inline)", FE_RENDER_HTML_INLINE, |
| 1963 | "Plain Text", FE_RENDER_PLAIN_TEXT, |
| 1964 | NULL); |
| 1965 | /* |
| 1966 | ** Set up a JS-side mapping of the FE_RENDER_xyz values. This is |
| 1967 | ** used for dynamically toggling certain UI components on and off. |
| 1968 | */ |
| 1969 | blob_appendf(&endScript, "fossil.page.previewModes={" |
| 1970 | "guess: %d, %d: 'guess', wiki: %d, %d: 'wiki'," |
| 1971 | "htmlIframe: %d, %d: 'htmlIframe', " |
| 1972 | "htmlInline: %d, %d: 'htmlInline', " |
| 1973 | "text: %d, %d: 'text'" |
| 1974 | "};\n", |
| 1975 | FE_RENDER_GUESS, FE_RENDER_GUESS, |
| 1976 | FE_RENDER_WIKI, FE_RENDER_WIKI, |
| 1977 | FE_RENDER_HTML_IFRAME, FE_RENDER_HTML_IFRAME, |
| 1978 | FE_RENDER_HTML_INLINE, FE_RENDER_HTML_INLINE, |
| 1979 | FE_RENDER_PLAIN_TEXT, FE_RENDER_PLAIN_TEXT); |
| 1980 | /* Allow selection of HTML preview iframe height */ |
| 1981 | previewHtmlHeight = 40; |
| 1982 | style_select_list_int("select-preview-html-ems", |
| 1983 | "preview_html_ems", |
| 1984 | "HTML Preview IFrame Height (EMs)", |
| 1985 | "Height (in EMs) of the iframe used for " |
| 1986 | "HTML preview", |
| 1987 | previewHtmlHeight, |
| 1988 | "", 20, "", 40, |
| 1989 | "", 60, "", 80, |
| 1990 | "", 100, NULL); |
| 1991 | /* Selection of line numbers for text preview */ |
| 1992 | style_labeled_checkbox("cb-line-numbers", |
| @@ -2188,28 +1927,28 @@ | |
| 2188 | { |
| 2189 | /* Dynamically populate the editor, display any error in the err |
| 2190 | ** blob, and/or switch to tab #0, where the file selector |
| 2191 | ** lives... */ |
| 2192 | blob_appendf(&endScript, |
| 2193 | "window.addEventListener('load',"); |
| 2194 | if(zRev && zFilename){ |
| 2195 | assert(0==blob_size(&err)); |
| 2196 | blob_appendf(&endScript, |
| 2197 | "()=>fossil.page.loadFile(%!j,%!j)", |
| 2198 | zFilename, cimi.zParentUuid); |
| 2199 | }else{ |
| 2200 | blob_appendf(&endScript,"function(){"); |
| 2201 | if(blob_size(&err)>0){ |
| 2202 | blob_appendf(&endScript, |
| 2203 | "fossil.error(%!j);\n", |
| 2204 | blob_str(&err)); |
| 2205 | } |
| 2206 | blob_appendf(&endScript, |
| 2207 | "fossil.page.tabs.switchToTab(0);\n"); |
| 2208 | blob_appendf(&endScript,"}"); |
| 2209 | } |
| 2210 | blob_appendf(&endScript,", false);\n"); |
| 2211 | } |
| 2212 | |
| 2213 | blob_reset(&err); |
| 2214 | CheckinMiniInfo_cleanup(&cimi); |
| 2215 | style_emit_script_fossil_bootstrap(0); |
| @@ -2216,21 +1955,28 @@ | |
| 2216 | append_diff_javascript(1); |
| 2217 | style_emit_script_fetch(0); |
| 2218 | style_emit_script_tabs(0)/*also emits fossil.dom*/; |
| 2219 | style_emit_script_confirmer(0); |
| 2220 | style_emit_script_builtin(0, "fossil.storage.js"); |
| 2221 | style_emit_script_builtin(0, "fossil.page.fileedit.js"); |
| 2222 | if(blob_size(&endScript)>0){ |
| 2223 | style_emit_script_tag(0,0); |
| 2224 | CX("(function(){\n"); |
| 2225 | CX("try{\n%b\n}" |
| 2226 | "catch(e){" |
| 2227 | "fossil.error(e);\n" |
| 2228 | "console.error('Exception:',e);\n" |
| 2229 | "}\n", |
| 2230 | &endScript); |
| 2231 | CX("})();"); |
| 2232 | style_emit_script_tag(1,0); |
| 2233 | } |
| 2234 | db_end_transaction(0); |
| 2235 | style_footer(); |
| 2236 | } |
| 2237 |
| --- src/fileedit.c | |
| +++ src/fileedit.c | |
| @@ -919,111 +919,10 @@ | |
| 919 | }else{ |
| 920 | return 0; |
| 921 | } |
| 922 | } |
| 923 | |
| 924 | /* |
| 925 | ** Given a repo-relative filename and a manifest RID, returns the UUID |
| 926 | ** of the corresponding file entry. Returns NULL if no match is |
| 927 | ** found. If pFilePerm is not NULL, the file's permission flag value |
| 928 | ** is written to *pFilePerm. |
| @@ -1043,99 +942,25 @@ | |
| 942 | } |
| 943 | db_finalize(&stmt); |
| 944 | return zFileUuid; |
| 945 | } |
| 946 | |
| 947 | /* |
| 948 | ** Returns true if the current user is allowed to edit the given |
| 949 | ** filename, as determined by fileedit_is_editable(), else false, |
| 950 | ** in which case it queues up an error response and the caller |
| 951 | ** must return immediately. |
| 952 | */ |
| 953 | static int fileedit_ajax_check_filename(const char * zFilename){ |
| 954 | if(0==fileedit_is_editable(zFilename)){ |
| 955 | ajax_route_error(403, "File is disallowed by the " |
| 956 | "fileedit-glob setting."); |
| 957 | return 0; |
| 958 | } |
| 959 | return 1; |
| 960 | } |
| 961 | |
| 962 | /* |
| 963 | ** Passed the values of the "checkin" and "filename" request |
| 964 | ** properties, this function verifies that they are valid and |
| 965 | ** populates: |
| 966 | ** |
| @@ -1157,30 +982,30 @@ | |
| 982 | static int fileedit_ajax_setup_filerev(const char * zRev, |
| 983 | char ** zRevUuid, |
| 984 | int * vid, |
| 985 | const char * zFilename, |
| 986 | int * frid){ |
| 987 | char * zFileUuid = 0; /* file content UUID */ |
| 988 | const int checkFile = zFilename!=0 || frid!=0; |
| 989 | |
| 990 | if(checkFile && !fileedit_ajax_check_filename(zFilename)){ |
| 991 | return 0; |
| 992 | } |
| 993 | *vid = symbolic_name_to_rid(zRev, "ci"); |
| 994 | if(0==*vid){ |
| 995 | ajax_route_error(404,"Cannot resolve name as a checkin: %s", |
| 996 | zRev); |
| 997 | return 0; |
| 998 | }else if(*vid<0){ |
| 999 | ajax_route_error(400,"Checkin name is ambiguous: %s", |
| 1000 | zRev); |
| 1001 | return 0; |
| 1002 | } |
| 1003 | if(checkFile){ |
| 1004 | zFileUuid = fileedit_file_uuid(zFilename, *vid, 0); |
| 1005 | if(zFileUuid==0){ |
| 1006 | ajax_route_error(404, "Checkin does not contain file."); |
| 1007 | return 0; |
| 1008 | } |
| 1009 | } |
| 1010 | if(zRevUuid!=0){ |
| 1011 | *zRevUuid = rid_to_uuid(*vid); |
| @@ -1204,11 +1029,11 @@ | |
| 1029 | ** checkin=CHECKIN_NAME |
| 1030 | ** |
| 1031 | ** User must have Write access to use this page. |
| 1032 | ** |
| 1033 | ** Responds with the raw content of the given page. On error it |
| 1034 | ** produces a JSON response as documented for ajax_route_error(). |
| 1035 | ** |
| 1036 | ** Extra response headers: |
| 1037 | ** |
| 1038 | ** x-fileedit-file-perm: empty or "x" or "l", representing PERM_REG, |
| 1039 | ** PERM_EXE, or PERM_LINK, respectively. |
| @@ -1220,12 +1045,12 @@ | |
| 1045 | const char * zRev = 0; |
| 1046 | int vid, frid; |
| 1047 | Blob content = empty_blob; |
| 1048 | const char * zMime; |
| 1049 | |
| 1050 | ajax_get_fnci_args( &zFilename, &zRev ); |
| 1051 | if(!ajax_route_bootstrap(1,0) |
| 1052 | || !fileedit_ajax_setup_filerev(zRev, 0, &vid, |
| 1053 | zFilename, &frid)){ |
| 1054 | return; |
| 1055 | } |
| 1056 | zMime = mimetype_from_name(zFilename); |
| @@ -1255,81 +1080,10 @@ | |
| 1080 | } |
| 1081 | cgi_set_content_type(zMime); |
| 1082 | cgi_set_content(&content); |
| 1083 | } |
| 1084 | |
| 1085 | /* |
| 1086 | ** AJAX route /fileedit?ajax=diff |
| 1087 | ** |
| 1088 | ** Required query parameters: |
| 1089 | ** |
| @@ -1347,11 +1101,11 @@ | |
| 1101 | ** patch-style siff can be produced. |
| 1102 | ** |
| 1103 | ** User must have Write access to use this page. |
| 1104 | ** |
| 1105 | ** Responds with the HTML content of the diff. On error it produces a |
| 1106 | ** JSON response as documented for ajax_route_error(). |
| 1107 | */ |
| 1108 | static void fileedit_ajax_diff(void){ |
| 1109 | /* |
| 1110 | ** Reminder: we only need the filename to perform valdiation |
| 1111 | ** against fileedit_is_editable(), else this route could be |
| @@ -1377,22 +1131,27 @@ | |
| 1131 | diffFlags |= DIFF_IGNORE_ALLWS; |
| 1132 | }else if(1==iFlag){ |
| 1133 | diffFlags |= DIFF_IGNORE_EOLWS; |
| 1134 | } |
| 1135 | diffFlags |= DIFF_STRIP_EOLCR; |
| 1136 | ajax_get_fnci_args( &zFilename, &zRev ); |
| 1137 | if(!ajax_route_bootstrap(1,1) |
| 1138 | || !fileedit_ajax_setup_filerev(zRev, &zRevUuid, &vid, |
| 1139 | zFilename, &frid)){ |
| 1140 | return; |
| 1141 | } |
| 1142 | if(!zContent){ |
| 1143 | zContent = ""; |
| 1144 | } |
| 1145 | cgi_set_content_type("text/html"); |
| 1146 | blob_init(&content, zContent, -1); |
| 1147 | { |
| 1148 | Blob orig = empty_blob; |
| 1149 | content_get(frid, &orig); |
| 1150 | ajax_render_diff(&orig, &content, diffFlags); |
| 1151 | blob_reset(&orig); |
| 1152 | } |
| 1153 | fossil_free(zRevUuid); |
| 1154 | blob_reset(&content); |
| 1155 | } |
| 1156 | |
| 1157 | /* |
| @@ -1557,19 +1316,19 @@ | |
| 1316 | ** checkin: UUID, |
| 1317 | ** editableFiles: [ filename1, ... filenameN ] // sorted by name |
| 1318 | ** } |
| 1319 | ** |
| 1320 | ** On error it produces a JSON response as documented for |
| 1321 | ** ajax_route_error(). |
| 1322 | */ |
| 1323 | static void fileedit_ajax_filelist(void){ |
| 1324 | const char * zCi = PD("checkin",P("ci")); |
| 1325 | Blob sql = empty_blob; |
| 1326 | Stmt q = empty_Stmt; |
| 1327 | int i = 0; |
| 1328 | |
| 1329 | if(!ajax_route_bootstrap(1,0)){ |
| 1330 | return; |
| 1331 | } |
| 1332 | cgi_set_content_type("application/json"); |
| 1333 | if(zCi!=0){ |
| 1334 | char * zCiFull = 0; |
| @@ -1616,11 +1375,11 @@ | |
| 1375 | CX("}"); |
| 1376 | } |
| 1377 | CX("]"); |
| 1378 | db_finalize(&q); |
| 1379 | }else{ |
| 1380 | ajax_route_error(500, "Unhandled URL argument."); |
| 1381 | } |
| 1382 | } |
| 1383 | |
| 1384 | /* |
| 1385 | ** AJAX route /fileedit?ajax=commit |
| @@ -1657,11 +1416,11 @@ | |
| 1416 | ** dryRun: bool, |
| 1417 | ** manifest: text of manifest, |
| 1418 | ** } |
| 1419 | ** |
| 1420 | ** On error it produces a JSON response as documented for |
| 1421 | ** ajax_route_error(). |
| 1422 | */ |
| 1423 | static void fileedit_ajax_commit(void){ |
| 1424 | Blob err = empty_blob; /* Error messages */ |
| 1425 | Blob manifest = empty_blob; /* raw new manifest */ |
| 1426 | CheckinMiniInfo cimi; /* checkin state */ |
| @@ -1669,30 +1428,30 @@ | |
| 1428 | int newVid = 0; /* new version's RID */ |
| 1429 | char * zNewUuid = 0; /* newVid's UUID */ |
| 1430 | char const * zMimetype; |
| 1431 | char * zBranch = 0; |
| 1432 | |
| 1433 | if(!ajax_route_bootstrap(1,1)){ |
| 1434 | return; |
| 1435 | } |
| 1436 | db_begin_transaction(); |
| 1437 | CheckinMiniInfo_init(&cimi); |
| 1438 | rc = fileedit_setup_cimi_from_p(&cimi, &err, 0); |
| 1439 | if(0!=rc){ |
| 1440 | ajax_route_error(rc,"%b",&err); |
| 1441 | goto end_cleanup; |
| 1442 | } |
| 1443 | if(blob_size(&cimi.comment)==0){ |
| 1444 | ajax_route_error(400,"Empty checkin comment is not permitted."); |
| 1445 | goto end_cleanup; |
| 1446 | } |
| 1447 | if(0!=atoi(PD("include_manifest","0"))){ |
| 1448 | cimi.pMfOut = &manifest; |
| 1449 | } |
| 1450 | checkin_mini(&cimi, &newVid, &err); |
| 1451 | if(blob_size(&err)){ |
| 1452 | ajax_route_error(500,"%b",&err); |
| 1453 | goto end_cleanup; |
| 1454 | } |
| 1455 | assert(newVid>0); |
| 1456 | zNewUuid = rid_to_uuid(newVid); |
| 1457 | cgi_set_content_type("application/json"); |
| @@ -1747,21 +1506,20 @@ | |
| 1506 | ** use of the name parameter. |
| 1507 | ** |
| 1508 | ** Which additional parameters are used by each distinct ajax value is |
| 1509 | ** an internal implementation detail and may change with any given |
| 1510 | ** build of this code. An unknown "name" value triggers an error, as |
| 1511 | ** documented for ajax_route_error(). |
| 1512 | */ |
| 1513 | void fileedit_page(void){ |
| 1514 | const char * zFilename = 0; /* filename. We'll accept 'name' |
| 1515 | because that param is handled |
| 1516 | specially by the core. */ |
| 1517 | const char * zRev = 0; /* checkin version */ |
| 1518 | const char * zFileMime = 0; /* File mime type guess */ |
| 1519 | CheckinMiniInfo cimi; /* Checkin state */ |
| 1520 | int previewRenderMode = AJAX_RENDER_GUESS; /* preview mode */ |
| 1521 | Blob err = empty_blob; /* Error report */ |
| 1522 | Blob endScript = empty_blob; /* Script code to run at the |
| 1523 | end. This content will be |
| 1524 | combined into a single JS |
| 1525 | function call, thus each |
| @@ -1772,21 +1530,21 @@ | |
| 1530 | |
| 1531 | /* Allow no access to this page without check-in privilege */ |
| 1532 | login_check_credentials(); |
| 1533 | if( !g.perm.Write ){ |
| 1534 | if(zAjax!=0){ |
| 1535 | ajax_route_error(403, "Write permissions required."); |
| 1536 | }else{ |
| 1537 | login_needed(g.anon.Write); |
| 1538 | } |
| 1539 | return; |
| 1540 | } |
| 1541 | /* No access to anything on this page if the fileedit-glob is empty */ |
| 1542 | if( fileedit_glob()==0 ){ |
| 1543 | if(zAjax!=0){ |
| 1544 | ajax_route_error(403, "Online editing is disabled for this " |
| 1545 | "repository."); |
| 1546 | return; |
| 1547 | } |
| 1548 | style_header("File Editor (disabled)"); |
| 1549 | CX("<h1>Online File Editing Is Disabled</h1>\n"); |
| 1550 | if( g.perm.Admin ){ |
| @@ -1806,22 +1564,21 @@ | |
| 1564 | /* Dispatch AJAX methods based tail of the request URI. |
| 1565 | ** The AJAX parts do their own permissions/CSRF check and |
| 1566 | ** fail with a JSON-format response if needed. |
| 1567 | */ |
| 1568 | if( 0!=zAjax ){ |
| 1569 | /* preview mode is handled via /ajax/preview-text */ |
| 1570 | if(0==strcmp("content",zAjax)){ |
| 1571 | fileedit_ajax_content(); |
| 1572 | }else if(0==strcmp("filelist",zAjax)){ |
| 1573 | fileedit_ajax_filelist(); |
| 1574 | }else if(0==strcmp("diff",zAjax)){ |
| 1575 | fileedit_ajax_diff(); |
| 1576 | }else if(0==strcmp("commit",zAjax)){ |
| 1577 | fileedit_ajax_commit(); |
| 1578 | }else{ |
| 1579 | ajax_route_error(500, "Unhandled ajax route name."); |
| 1580 | } |
| 1581 | return; |
| 1582 | } |
| 1583 | |
| 1584 | db_begin_transaction(); |
| @@ -1854,21 +1611,19 @@ | |
| 1611 | ** render the errors. Any up-coming errors, barring malloc failure |
| 1612 | ** or similar, are not "that" fatal. We can/should continue |
| 1613 | ** rendering the page, then output the error message at the end. |
| 1614 | ********************************************************************/ |
| 1615 | |
| 1616 | /* The CSS for this page lives in a common file but much of it we |
| 1617 | ** don't want inadvertently being used by other pages. We don't |
| 1618 | ** have a common, page-specific container we can filter our CSS |
| 1619 | ** selectors, but we do have the BODY, which we can decorate with |
| 1620 | ** whatever CSS we wish... |
| 1621 | */ |
| 1622 | style_emit_script_tag(0,0); |
| 1623 | CX("document.body.classList.add('fileedit');\n"); |
| 1624 | style_emit_script_tag(1,0); |
| 1625 | |
| 1626 | /* Status bar */ |
| 1627 | CX("<div id='fossil-status-bar' " |
| 1628 | "title='Status message area. Double-click to clear them.'>" |
| 1629 | "Status messages will go here.</div>\n" |
| @@ -1947,46 +1702,30 @@ | |
| 1702 | "If on, the preview will automatically " |
| 1703 | "refresh when this tab is selected."); |
| 1704 | |
| 1705 | /* Default preview rendering mode selection... */ |
| 1706 | previewRenderMode = zFileMime |
| 1707 | ? ajax_render_mode_for_mimetype(zFileMime) |
| 1708 | : AJAX_RENDER_GUESS; |
| 1709 | style_select_list_int("select-preview-mode", |
| 1710 | "preview_render_mode", |
| 1711 | "Preview Mode", |
| 1712 | "Preview mode format.", |
| 1713 | previewRenderMode, |
| 1714 | "Guess", AJAX_RENDER_GUESS, |
| 1715 | "Wiki/Markdown", AJAX_RENDER_WIKI, |
| 1716 | "HTML (iframe)", AJAX_RENDER_HTML_IFRAME, |
| 1717 | "HTML (inline)", AJAX_RENDER_HTML_INLINE, |
| 1718 | "Plain Text", AJAX_RENDER_PLAIN_TEXT, |
| 1719 | NULL); |
| 1720 | /* Allow selection of HTML preview iframe height */ |
| 1721 | style_select_list_int("select-preview-html-ems", |
| 1722 | "preview_html_ems", |
| 1723 | "HTML Preview IFrame Height (EMs)", |
| 1724 | "Height (in EMs) of the iframe used for " |
| 1725 | "HTML preview", |
| 1726 | 40 /*default*/, |
| 1727 | "", 20, "", 40, |
| 1728 | "", 60, "", 80, |
| 1729 | "", 100, NULL); |
| 1730 | /* Selection of line numbers for text preview */ |
| 1731 | style_labeled_checkbox("cb-line-numbers", |
| @@ -2188,28 +1927,28 @@ | |
| 1927 | { |
| 1928 | /* Dynamically populate the editor, display any error in the err |
| 1929 | ** blob, and/or switch to tab #0, where the file selector |
| 1930 | ** lives... */ |
| 1931 | blob_appendf(&endScript, |
| 1932 | "fossil.onPageLoad("); |
| 1933 | if(zRev && zFilename){ |
| 1934 | assert(0==blob_size(&err)); |
| 1935 | blob_appendf(&endScript, |
| 1936 | "()=>fossil.page.loadFile(%!j,%!j)", |
| 1937 | zFilename, cimi.zParentUuid); |
| 1938 | }else{ |
| 1939 | blob_appendf(&endScript,"function(){\n"); |
| 1940 | if(blob_size(&err)>0){ |
| 1941 | blob_appendf(&endScript, |
| 1942 | "fossil.error(%!j);\n", |
| 1943 | blob_str(&err)); |
| 1944 | } |
| 1945 | blob_appendf(&endScript, |
| 1946 | "fossil.page.tabs.switchToTab(0);\n"); |
| 1947 | blob_appendf(&endScript,"}"); |
| 1948 | } |
| 1949 | blob_appendf(&endScript,");\n"); |
| 1950 | } |
| 1951 | |
| 1952 | blob_reset(&err); |
| 1953 | CheckinMiniInfo_cleanup(&cimi); |
| 1954 | style_emit_script_fossil_bootstrap(0); |
| @@ -2216,21 +1955,28 @@ | |
| 1955 | append_diff_javascript(1); |
| 1956 | style_emit_script_fetch(0); |
| 1957 | style_emit_script_tabs(0)/*also emits fossil.dom*/; |
| 1958 | style_emit_script_confirmer(0); |
| 1959 | style_emit_script_builtin(0, "fossil.storage.js"); |
| 1960 | |
| 1961 | /* |
| 1962 | ** Set up a JS-side mapping of the AJAX_RENDER_xyz values. This is |
| 1963 | ** used for dynamically toggling certain UI components on and off. |
| 1964 | ** Must come before fossil.page.fileedit.js. |
| 1965 | */ |
| 1966 | ajax_emit_js_preview_modes(1); |
| 1967 | |
| 1968 | style_emit_script_builtin(0, "fossil.page.fileedit.js"); |
| 1969 | if(blob_size(&endScript)>0){ |
| 1970 | style_emit_script_tag(0,0); |
| 1971 | CX("\n(function(){\n"); |
| 1972 | CX("try{\n%b}\n" |
| 1973 | "catch(e){" |
| 1974 | "fossil.error(e); console.error('Exception:',e);" |
| 1975 | "}\n", |
| 1976 | &endScript); |
| 1977 | CX("})();"); |
| 1978 | style_emit_script_tag(1,0); |
| 1979 | } |
| 1980 | db_end_transaction(0); |
| 1981 | style_footer(); |
| 1982 | } |
| 1983 |
+1
-1
| --- src/forum.c | ||
| +++ src/forum.c | ||
| @@ -340,10 +340,11 @@ | ||
| 340 | 340 | }else{ |
| 341 | 341 | @ <div class='forumPostFullBody'> |
| 342 | 342 | } |
| 343 | 343 | blob_init(&x, 0, 0); |
| 344 | 344 | blob_append(&x, zContent, -1); |
| 345 | + safe_html_context(DOCSRC_FORUM); | |
| 345 | 346 | wiki_render_by_mimetype(&x, zMimetype); |
| 346 | 347 | blob_reset(&x); |
| 347 | 348 | @ </div> |
| 348 | 349 | }else{ |
| 349 | 350 | @ <i>Deleted</i> |
| @@ -667,11 +668,10 @@ | ||
| 667 | 668 | @ <div id='forum%d(fpid)' class='forumHierRoot%s(zSel)'> |
| 668 | 669 | }else{ |
| 669 | 670 | @ <div id='forum%d(fpid)' class='forumHier%s(zSel)' \ |
| 670 | 671 | @ style='margin-left: %d((p->nIndent-1)*iIndentScale)ex;'> |
| 671 | 672 | } |
| 672 | - pPost = manifest_get(fpid, CFTYPE_FORUM, 0); | |
| 673 | 673 | if( pPost==0 ) continue; |
| 674 | 674 | if( pPost->zThreadTitle ){ |
| 675 | 675 | @ <h1>%h(pPost->zThreadTitle)</h1> |
| 676 | 676 | } |
| 677 | 677 | zDate = db_text(0, "SELECT datetime(%.17g)", pOPost->rDate); |
| 678 | 678 |
| --- src/forum.c | |
| +++ src/forum.c | |
| @@ -340,10 +340,11 @@ | |
| 340 | }else{ |
| 341 | @ <div class='forumPostFullBody'> |
| 342 | } |
| 343 | blob_init(&x, 0, 0); |
| 344 | blob_append(&x, zContent, -1); |
| 345 | wiki_render_by_mimetype(&x, zMimetype); |
| 346 | blob_reset(&x); |
| 347 | @ </div> |
| 348 | }else{ |
| 349 | @ <i>Deleted</i> |
| @@ -667,11 +668,10 @@ | |
| 667 | @ <div id='forum%d(fpid)' class='forumHierRoot%s(zSel)'> |
| 668 | }else{ |
| 669 | @ <div id='forum%d(fpid)' class='forumHier%s(zSel)' \ |
| 670 | @ style='margin-left: %d((p->nIndent-1)*iIndentScale)ex;'> |
| 671 | } |
| 672 | pPost = manifest_get(fpid, CFTYPE_FORUM, 0); |
| 673 | if( pPost==0 ) continue; |
| 674 | if( pPost->zThreadTitle ){ |
| 675 | @ <h1>%h(pPost->zThreadTitle)</h1> |
| 676 | } |
| 677 | zDate = db_text(0, "SELECT datetime(%.17g)", pOPost->rDate); |
| 678 |
| --- src/forum.c | |
| +++ src/forum.c | |
| @@ -340,10 +340,11 @@ | |
| 340 | }else{ |
| 341 | @ <div class='forumPostFullBody'> |
| 342 | } |
| 343 | blob_init(&x, 0, 0); |
| 344 | blob_append(&x, zContent, -1); |
| 345 | safe_html_context(DOCSRC_FORUM); |
| 346 | wiki_render_by_mimetype(&x, zMimetype); |
| 347 | blob_reset(&x); |
| 348 | @ </div> |
| 349 | }else{ |
| 350 | @ <i>Deleted</i> |
| @@ -667,11 +668,10 @@ | |
| 668 | @ <div id='forum%d(fpid)' class='forumHierRoot%s(zSel)'> |
| 669 | }else{ |
| 670 | @ <div id='forum%d(fpid)' class='forumHier%s(zSel)' \ |
| 671 | @ style='margin-left: %d((p->nIndent-1)*iIndentScale)ex;'> |
| 672 | } |
| 673 | if( pPost==0 ) continue; |
| 674 | if( pPost->zThreadTitle ){ |
| 675 | @ <h1>%h(pPost->zThreadTitle)</h1> |
| 676 | } |
| 677 | zDate = db_text(0, "SELECT datetime(%.17g)", pOPost->rDate); |
| 678 |
+2
-2
| --- src/fossil.page.fileedit.js | ||
| +++ src/fossil.page.fileedit.js | ||
| @@ -1104,13 +1104,13 @@ | ||
| 1104 | 1104 | fd.append('ln',E('[name=preview_ln]').checked ? 1 : 0); |
| 1105 | 1105 | fd.append('iframe_height', E('[name=preview_html_ems]').value); |
| 1106 | 1106 | fd.append('content',content || ''); |
| 1107 | 1107 | F.message( |
| 1108 | 1108 | "Fetching preview..." |
| 1109 | - ).fetch('fileedit/preview',{ | |
| 1109 | + ).fetch('ajax/preview-text',{ | |
| 1110 | 1110 | payload: fd, |
| 1111 | - responseHeaders: 'x-fileedit-render-mode', | |
| 1111 | + responseHeaders: 'x-ajax-render-mode', | |
| 1112 | 1112 | onload: (r,header)=>{ |
| 1113 | 1113 | P.selectPreviewMode(P.previewModes[header]); |
| 1114 | 1114 | if('wiki'===header) P.baseHrefForFile(); |
| 1115 | 1115 | else P.baseHrefRestore(); |
| 1116 | 1116 | callback(r); |
| 1117 | 1117 |
| --- src/fossil.page.fileedit.js | |
| +++ src/fossil.page.fileedit.js | |
| @@ -1104,13 +1104,13 @@ | |
| 1104 | fd.append('ln',E('[name=preview_ln]').checked ? 1 : 0); |
| 1105 | fd.append('iframe_height', E('[name=preview_html_ems]').value); |
| 1106 | fd.append('content',content || ''); |
| 1107 | F.message( |
| 1108 | "Fetching preview..." |
| 1109 | ).fetch('fileedit/preview',{ |
| 1110 | payload: fd, |
| 1111 | responseHeaders: 'x-fileedit-render-mode', |
| 1112 | onload: (r,header)=>{ |
| 1113 | P.selectPreviewMode(P.previewModes[header]); |
| 1114 | if('wiki'===header) P.baseHrefForFile(); |
| 1115 | else P.baseHrefRestore(); |
| 1116 | callback(r); |
| 1117 |
| --- src/fossil.page.fileedit.js | |
| +++ src/fossil.page.fileedit.js | |
| @@ -1104,13 +1104,13 @@ | |
| 1104 | fd.append('ln',E('[name=preview_ln]').checked ? 1 : 0); |
| 1105 | fd.append('iframe_height', E('[name=preview_html_ems]').value); |
| 1106 | fd.append('content',content || ''); |
| 1107 | F.message( |
| 1108 | "Fetching preview..." |
| 1109 | ).fetch('ajax/preview-text',{ |
| 1110 | payload: fd, |
| 1111 | responseHeaders: 'x-ajax-render-mode', |
| 1112 | onload: (r,header)=>{ |
| 1113 | P.selectPreviewMode(P.previewModes[header]); |
| 1114 | if('wiki'===header) P.baseHrefForFile(); |
| 1115 | else P.baseHrefRestore(); |
| 1116 | callback(r); |
| 1117 |
+95
-4
| --- src/graph.c | ||
| +++ src/graph.c | ||
| @@ -56,10 +56,11 @@ | ||
| 56 | 56 | struct GraphRow { |
| 57 | 57 | int rid; /* The rid for the check-in */ |
| 58 | 58 | i8 nParent; /* Number of parents. */ |
| 59 | 59 | i8 nCherrypick; /* Subset of aParent that are cherrypicks */ |
| 60 | 60 | i8 nNonCherrypick; /* Number of non-cherrypick parents */ |
| 61 | + u8 nMergeChild; /* Number of merge children */ | |
| 61 | 62 | int *aParent; /* Array of parents. 0 element is primary .*/ |
| 62 | 63 | char *zBranch; /* Branch name */ |
| 63 | 64 | char *zBgClr; /* Background Color */ |
| 64 | 65 | char zUuid[HNAME_MAX+1]; /* Check-in for file ID */ |
| 65 | 66 | |
| @@ -472,11 +473,12 @@ | ||
| 472 | 473 | ** the aParent[] array. |
| 473 | 474 | */ |
| 474 | 475 | if( (tmFlags & (TIMELINE_DISJOINT|TIMELINE_XMERGE))!=0 ){ |
| 475 | 476 | for(pRow=p->pFirst; pRow; pRow=pRow->pNext){ |
| 476 | 477 | for(i=1; i<pRow->nParent; i++){ |
| 477 | - if( hashFind(p, pRow->aParent[i])==0 ){ | |
| 478 | + GraphRow *pParent = hashFind(p, pRow->aParent[i]); | |
| 479 | + if( pParent==0 ){ | |
| 478 | 480 | memmove(pRow->aParent+i, pRow->aParent+i+1, |
| 479 | 481 | sizeof(pRow->aParent[0])*(pRow->nParent-i-1)); |
| 480 | 482 | pRow->nParent--; |
| 481 | 483 | if( i<pRow->nNonCherrypick ){ |
| 482 | 484 | pRow->nNonCherrypick--; |
| @@ -486,10 +488,62 @@ | ||
| 486 | 488 | i--; |
| 487 | 489 | } |
| 488 | 490 | } |
| 489 | 491 | } |
| 490 | 492 | } |
| 493 | + | |
| 494 | + /* Put the deepest (earliest) merge parent first in the list. | |
| 495 | + ** An off-screen merge parent is considered deepest. | |
| 496 | + */ | |
| 497 | + for(pRow=p->pFirst; pRow; pRow=pRow->pNext ){ | |
| 498 | + if( pRow->nParent<=1 ) continue; | |
| 499 | + for(i=1; i<pRow->nParent; i++){ | |
| 500 | + GraphRow *pParent = hashFind(p, pRow->aParent[i]); | |
| 501 | + if( pParent ) pParent->nMergeChild++; | |
| 502 | + } | |
| 503 | + if( pRow->nCherrypick>1 ){ | |
| 504 | + int iBest = -1; | |
| 505 | + int iDeepest = -1; | |
| 506 | + for(i=pRow->nNonCherrypick; i<pRow->nParent; i++){ | |
| 507 | + GraphRow *pParent = hashFind(p, pRow->aParent[i]); | |
| 508 | + if( pParent==0 ){ | |
| 509 | + iBest = i; | |
| 510 | + break; | |
| 511 | + } | |
| 512 | + if( pParent->idx>iDeepest ){ | |
| 513 | + iDeepest = pParent->idx; | |
| 514 | + iBest = i; | |
| 515 | + } | |
| 516 | + } | |
| 517 | + i = pRow->nNonCherrypick; | |
| 518 | + if( iBest>i ){ | |
| 519 | + int x = pRow->aParent[i]; | |
| 520 | + pRow->aParent[i] = pRow->aParent[iBest]; | |
| 521 | + pRow->aParent[iBest] = x; | |
| 522 | + } | |
| 523 | + } | |
| 524 | + if( pRow->nNonCherrypick>2 ){ | |
| 525 | + int iBest = -1; | |
| 526 | + int iDeepest = -1; | |
| 527 | + for(i=1; i<pRow->nNonCherrypick; i++){ | |
| 528 | + GraphRow *pParent = hashFind(p, pRow->aParent[i]); | |
| 529 | + if( pParent==0 ){ | |
| 530 | + iBest = i; | |
| 531 | + break; | |
| 532 | + } | |
| 533 | + if( pParent->idx>iDeepest ){ | |
| 534 | + iDeepest = pParent->idx; | |
| 535 | + iBest = i; | |
| 536 | + } | |
| 537 | + } | |
| 538 | + if( iBest>1 ){ | |
| 539 | + int x = pRow->aParent[1]; | |
| 540 | + pRow->aParent[1] = pRow->aParent[iBest]; | |
| 541 | + pRow->aParent[iBest] = x; | |
| 542 | + } | |
| 543 | + } | |
| 544 | + } | |
| 491 | 545 | |
| 492 | 546 | /* If the primary parent is in a different branch, but there are |
| 493 | 547 | ** other parents in the same branch, reorder the parents to make |
| 494 | 548 | ** the parent from the same branch the primary parent. |
| 495 | 549 | */ |
| @@ -668,15 +722,29 @@ | ||
| 668 | 722 | |
| 669 | 723 | /* |
| 670 | 724 | ** Insert merge rails and merge arrows |
| 671 | 725 | */ |
| 672 | 726 | for(pRow=p->pFirst; pRow; pRow=pRow->pNext){ |
| 727 | + int iReuseIdx = -1; | |
| 728 | + int iReuseRail = -1; | |
| 729 | + int isCherrypick = 0; | |
| 673 | 730 | for(i=1; i<pRow->nParent; i++){ |
| 674 | 731 | int parentRid = pRow->aParent[i]; |
| 732 | + if( i==pRow->nNonCherrypick ){ | |
| 733 | + /* Because full merges are laid out before cherrypicks, | |
| 734 | + ** it is ok to use a full-merge raise for a cherrypick. | |
| 735 | + ** See the graph on check-in 8ac66ef33b464d28 for example | |
| 736 | + ** iReuseIdx = -1; | |
| 737 | + ** iReuseRail = -1; */ | |
| 738 | + isCherrypick = 1; | |
| 739 | + } | |
| 675 | 740 | pDesc = hashFind(p, parentRid); |
| 676 | 741 | if( pDesc==0 ){ |
| 677 | 742 | /* Merge from a node that is off-screen */ |
| 743 | + if( iReuseIdx>=p->nRow+1 ){ | |
| 744 | + continue; /* Suppress multiple off-screen merges */ | |
| 745 | + } | |
| 678 | 746 | int iMrail = -1; |
| 679 | 747 | for(j=0; j<GR_MAX_RAIL; j++){ |
| 680 | 748 | if( mergeRiserFrom[j]==parentRid ){ |
| 681 | 749 | iMrail = j; |
| 682 | 750 | break; |
| @@ -685,10 +753,12 @@ | ||
| 685 | 753 | if( iMrail==-1 ){ |
| 686 | 754 | iMrail = findFreeRail(p, pRow->idx, p->pLast->idx, 0); |
| 687 | 755 | if( p->mxRail>=GR_MAX_RAIL ) return; |
| 688 | 756 | mergeRiserFrom[iMrail] = parentRid; |
| 689 | 757 | } |
| 758 | + iReuseIdx = p->nRow+1; | |
| 759 | + iReuseRail = iMrail; | |
| 690 | 760 | mask = BIT(iMrail); |
| 691 | 761 | if( i>=pRow->nNonCherrypick ){ |
| 692 | 762 | pRow->mergeIn[iMrail] = 2; |
| 693 | 763 | pRow->cherrypickDown |= mask; |
| 694 | 764 | }else{ |
| @@ -697,13 +767,34 @@ | ||
| 697 | 767 | } |
| 698 | 768 | for(pLoop=pRow->pNext; pLoop; pLoop=pLoop->pNext){ |
| 699 | 769 | pLoop->railInUse |= mask; |
| 700 | 770 | } |
| 701 | 771 | }else{ |
| 702 | - /* Merge from an on-screen node */ | |
| 703 | - createMergeRiser(p, pDesc, pRow, i>=pRow->nNonCherrypick); | |
| 704 | - if( p->mxRail>=GR_MAX_RAIL ) return; | |
| 772 | + /* The merge parent node does exist on this graph */ | |
| 773 | + if( iReuseIdx>pDesc->idx | |
| 774 | + && pDesc->nMergeChild==1 | |
| 775 | + ){ | |
| 776 | + /* Reuse an existing merge riser */ | |
| 777 | + pDesc->mergeOut = iReuseRail; | |
| 778 | + if( isCherrypick ){ | |
| 779 | + pDesc->cherrypickUpto = pDesc->idx; | |
| 780 | + }else{ | |
| 781 | + pDesc->hasNormalOutMerge = 1; | |
| 782 | + pDesc->mergeUpto = pDesc->idx; | |
| 783 | + } | |
| 784 | + }else{ | |
| 785 | + /* Create a new merge for an on-screen node */ | |
| 786 | + createMergeRiser(p, pDesc, pRow, isCherrypick); | |
| 787 | + if( p->mxRail>=GR_MAX_RAIL ) return; | |
| 788 | + if( iReuseIdx<0 | |
| 789 | + && pDesc->nMergeChild==1 | |
| 790 | + && (pDesc->iRail!=pDesc->mergeOut || pDesc->isLeaf) | |
| 791 | + ){ | |
| 792 | + iReuseIdx = pDesc->idx; | |
| 793 | + iReuseRail = pDesc->mergeOut; | |
| 794 | + } | |
| 795 | + } | |
| 705 | 796 | } |
| 706 | 797 | } |
| 707 | 798 | } |
| 708 | 799 | |
| 709 | 800 | /* |
| 710 | 801 |
| --- src/graph.c | |
| +++ src/graph.c | |
| @@ -56,10 +56,11 @@ | |
| 56 | struct GraphRow { |
| 57 | int rid; /* The rid for the check-in */ |
| 58 | i8 nParent; /* Number of parents. */ |
| 59 | i8 nCherrypick; /* Subset of aParent that are cherrypicks */ |
| 60 | i8 nNonCherrypick; /* Number of non-cherrypick parents */ |
| 61 | int *aParent; /* Array of parents. 0 element is primary .*/ |
| 62 | char *zBranch; /* Branch name */ |
| 63 | char *zBgClr; /* Background Color */ |
| 64 | char zUuid[HNAME_MAX+1]; /* Check-in for file ID */ |
| 65 | |
| @@ -472,11 +473,12 @@ | |
| 472 | ** the aParent[] array. |
| 473 | */ |
| 474 | if( (tmFlags & (TIMELINE_DISJOINT|TIMELINE_XMERGE))!=0 ){ |
| 475 | for(pRow=p->pFirst; pRow; pRow=pRow->pNext){ |
| 476 | for(i=1; i<pRow->nParent; i++){ |
| 477 | if( hashFind(p, pRow->aParent[i])==0 ){ |
| 478 | memmove(pRow->aParent+i, pRow->aParent+i+1, |
| 479 | sizeof(pRow->aParent[0])*(pRow->nParent-i-1)); |
| 480 | pRow->nParent--; |
| 481 | if( i<pRow->nNonCherrypick ){ |
| 482 | pRow->nNonCherrypick--; |
| @@ -486,10 +488,62 @@ | |
| 486 | i--; |
| 487 | } |
| 488 | } |
| 489 | } |
| 490 | } |
| 491 | |
| 492 | /* If the primary parent is in a different branch, but there are |
| 493 | ** other parents in the same branch, reorder the parents to make |
| 494 | ** the parent from the same branch the primary parent. |
| 495 | */ |
| @@ -668,15 +722,29 @@ | |
| 668 | |
| 669 | /* |
| 670 | ** Insert merge rails and merge arrows |
| 671 | */ |
| 672 | for(pRow=p->pFirst; pRow; pRow=pRow->pNext){ |
| 673 | for(i=1; i<pRow->nParent; i++){ |
| 674 | int parentRid = pRow->aParent[i]; |
| 675 | pDesc = hashFind(p, parentRid); |
| 676 | if( pDesc==0 ){ |
| 677 | /* Merge from a node that is off-screen */ |
| 678 | int iMrail = -1; |
| 679 | for(j=0; j<GR_MAX_RAIL; j++){ |
| 680 | if( mergeRiserFrom[j]==parentRid ){ |
| 681 | iMrail = j; |
| 682 | break; |
| @@ -685,10 +753,12 @@ | |
| 685 | if( iMrail==-1 ){ |
| 686 | iMrail = findFreeRail(p, pRow->idx, p->pLast->idx, 0); |
| 687 | if( p->mxRail>=GR_MAX_RAIL ) return; |
| 688 | mergeRiserFrom[iMrail] = parentRid; |
| 689 | } |
| 690 | mask = BIT(iMrail); |
| 691 | if( i>=pRow->nNonCherrypick ){ |
| 692 | pRow->mergeIn[iMrail] = 2; |
| 693 | pRow->cherrypickDown |= mask; |
| 694 | }else{ |
| @@ -697,13 +767,34 @@ | |
| 697 | } |
| 698 | for(pLoop=pRow->pNext; pLoop; pLoop=pLoop->pNext){ |
| 699 | pLoop->railInUse |= mask; |
| 700 | } |
| 701 | }else{ |
| 702 | /* Merge from an on-screen node */ |
| 703 | createMergeRiser(p, pDesc, pRow, i>=pRow->nNonCherrypick); |
| 704 | if( p->mxRail>=GR_MAX_RAIL ) return; |
| 705 | } |
| 706 | } |
| 707 | } |
| 708 | |
| 709 | /* |
| 710 |
| --- src/graph.c | |
| +++ src/graph.c | |
| @@ -56,10 +56,11 @@ | |
| 56 | struct GraphRow { |
| 57 | int rid; /* The rid for the check-in */ |
| 58 | i8 nParent; /* Number of parents. */ |
| 59 | i8 nCherrypick; /* Subset of aParent that are cherrypicks */ |
| 60 | i8 nNonCherrypick; /* Number of non-cherrypick parents */ |
| 61 | u8 nMergeChild; /* Number of merge children */ |
| 62 | int *aParent; /* Array of parents. 0 element is primary .*/ |
| 63 | char *zBranch; /* Branch name */ |
| 64 | char *zBgClr; /* Background Color */ |
| 65 | char zUuid[HNAME_MAX+1]; /* Check-in for file ID */ |
| 66 | |
| @@ -472,11 +473,12 @@ | |
| 473 | ** the aParent[] array. |
| 474 | */ |
| 475 | if( (tmFlags & (TIMELINE_DISJOINT|TIMELINE_XMERGE))!=0 ){ |
| 476 | for(pRow=p->pFirst; pRow; pRow=pRow->pNext){ |
| 477 | for(i=1; i<pRow->nParent; i++){ |
| 478 | GraphRow *pParent = hashFind(p, pRow->aParent[i]); |
| 479 | if( pParent==0 ){ |
| 480 | memmove(pRow->aParent+i, pRow->aParent+i+1, |
| 481 | sizeof(pRow->aParent[0])*(pRow->nParent-i-1)); |
| 482 | pRow->nParent--; |
| 483 | if( i<pRow->nNonCherrypick ){ |
| 484 | pRow->nNonCherrypick--; |
| @@ -486,10 +488,62 @@ | |
| 488 | i--; |
| 489 | } |
| 490 | } |
| 491 | } |
| 492 | } |
| 493 | |
| 494 | /* Put the deepest (earliest) merge parent first in the list. |
| 495 | ** An off-screen merge parent is considered deepest. |
| 496 | */ |
| 497 | for(pRow=p->pFirst; pRow; pRow=pRow->pNext ){ |
| 498 | if( pRow->nParent<=1 ) continue; |
| 499 | for(i=1; i<pRow->nParent; i++){ |
| 500 | GraphRow *pParent = hashFind(p, pRow->aParent[i]); |
| 501 | if( pParent ) pParent->nMergeChild++; |
| 502 | } |
| 503 | if( pRow->nCherrypick>1 ){ |
| 504 | int iBest = -1; |
| 505 | int iDeepest = -1; |
| 506 | for(i=pRow->nNonCherrypick; i<pRow->nParent; i++){ |
| 507 | GraphRow *pParent = hashFind(p, pRow->aParent[i]); |
| 508 | if( pParent==0 ){ |
| 509 | iBest = i; |
| 510 | break; |
| 511 | } |
| 512 | if( pParent->idx>iDeepest ){ |
| 513 | iDeepest = pParent->idx; |
| 514 | iBest = i; |
| 515 | } |
| 516 | } |
| 517 | i = pRow->nNonCherrypick; |
| 518 | if( iBest>i ){ |
| 519 | int x = pRow->aParent[i]; |
| 520 | pRow->aParent[i] = pRow->aParent[iBest]; |
| 521 | pRow->aParent[iBest] = x; |
| 522 | } |
| 523 | } |
| 524 | if( pRow->nNonCherrypick>2 ){ |
| 525 | int iBest = -1; |
| 526 | int iDeepest = -1; |
| 527 | for(i=1; i<pRow->nNonCherrypick; i++){ |
| 528 | GraphRow *pParent = hashFind(p, pRow->aParent[i]); |
| 529 | if( pParent==0 ){ |
| 530 | iBest = i; |
| 531 | break; |
| 532 | } |
| 533 | if( pParent->idx>iDeepest ){ |
| 534 | iDeepest = pParent->idx; |
| 535 | iBest = i; |
| 536 | } |
| 537 | } |
| 538 | if( iBest>1 ){ |
| 539 | int x = pRow->aParent[1]; |
| 540 | pRow->aParent[1] = pRow->aParent[iBest]; |
| 541 | pRow->aParent[iBest] = x; |
| 542 | } |
| 543 | } |
| 544 | } |
| 545 | |
| 546 | /* If the primary parent is in a different branch, but there are |
| 547 | ** other parents in the same branch, reorder the parents to make |
| 548 | ** the parent from the same branch the primary parent. |
| 549 | */ |
| @@ -668,15 +722,29 @@ | |
| 722 | |
| 723 | /* |
| 724 | ** Insert merge rails and merge arrows |
| 725 | */ |
| 726 | for(pRow=p->pFirst; pRow; pRow=pRow->pNext){ |
| 727 | int iReuseIdx = -1; |
| 728 | int iReuseRail = -1; |
| 729 | int isCherrypick = 0; |
| 730 | for(i=1; i<pRow->nParent; i++){ |
| 731 | int parentRid = pRow->aParent[i]; |
| 732 | if( i==pRow->nNonCherrypick ){ |
| 733 | /* Because full merges are laid out before cherrypicks, |
| 734 | ** it is ok to use a full-merge raise for a cherrypick. |
| 735 | ** See the graph on check-in 8ac66ef33b464d28 for example |
| 736 | ** iReuseIdx = -1; |
| 737 | ** iReuseRail = -1; */ |
| 738 | isCherrypick = 1; |
| 739 | } |
| 740 | pDesc = hashFind(p, parentRid); |
| 741 | if( pDesc==0 ){ |
| 742 | /* Merge from a node that is off-screen */ |
| 743 | if( iReuseIdx>=p->nRow+1 ){ |
| 744 | continue; /* Suppress multiple off-screen merges */ |
| 745 | } |
| 746 | int iMrail = -1; |
| 747 | for(j=0; j<GR_MAX_RAIL; j++){ |
| 748 | if( mergeRiserFrom[j]==parentRid ){ |
| 749 | iMrail = j; |
| 750 | break; |
| @@ -685,10 +753,12 @@ | |
| 753 | if( iMrail==-1 ){ |
| 754 | iMrail = findFreeRail(p, pRow->idx, p->pLast->idx, 0); |
| 755 | if( p->mxRail>=GR_MAX_RAIL ) return; |
| 756 | mergeRiserFrom[iMrail] = parentRid; |
| 757 | } |
| 758 | iReuseIdx = p->nRow+1; |
| 759 | iReuseRail = iMrail; |
| 760 | mask = BIT(iMrail); |
| 761 | if( i>=pRow->nNonCherrypick ){ |
| 762 | pRow->mergeIn[iMrail] = 2; |
| 763 | pRow->cherrypickDown |= mask; |
| 764 | }else{ |
| @@ -697,13 +767,34 @@ | |
| 767 | } |
| 768 | for(pLoop=pRow->pNext; pLoop; pLoop=pLoop->pNext){ |
| 769 | pLoop->railInUse |= mask; |
| 770 | } |
| 771 | }else{ |
| 772 | /* The merge parent node does exist on this graph */ |
| 773 | if( iReuseIdx>pDesc->idx |
| 774 | && pDesc->nMergeChild==1 |
| 775 | ){ |
| 776 | /* Reuse an existing merge riser */ |
| 777 | pDesc->mergeOut = iReuseRail; |
| 778 | if( isCherrypick ){ |
| 779 | pDesc->cherrypickUpto = pDesc->idx; |
| 780 | }else{ |
| 781 | pDesc->hasNormalOutMerge = 1; |
| 782 | pDesc->mergeUpto = pDesc->idx; |
| 783 | } |
| 784 | }else{ |
| 785 | /* Create a new merge for an on-screen node */ |
| 786 | createMergeRiser(p, pDesc, pRow, isCherrypick); |
| 787 | if( p->mxRail>=GR_MAX_RAIL ) return; |
| 788 | if( iReuseIdx<0 |
| 789 | && pDesc->nMergeChild==1 |
| 790 | && (pDesc->iRail!=pDesc->mergeOut || pDesc->isLeaf) |
| 791 | ){ |
| 792 | iReuseIdx = pDesc->idx; |
| 793 | iReuseRail = pDesc->mergeOut; |
| 794 | } |
| 795 | } |
| 796 | } |
| 797 | } |
| 798 | } |
| 799 | |
| 800 | /* |
| 801 |
+16
-2
| --- src/graph.js | ||
| +++ src/graph.js | ||
| @@ -431,18 +431,32 @@ | ||
| 431 | 431 | }else{ |
| 432 | 432 | mergeLines[p.mo] = -mLine.w/2; |
| 433 | 433 | } |
| 434 | 434 | x1 += mergeLines[p.mo] |
| 435 | 435 | var y0 = p.y+2; |
| 436 | + var isCP = p.hasOwnProperty('cu'); | |
| 436 | 437 | if( p.mu==p.id ){ |
| 437 | - drawCherrypickLine(x0,y0,x1+(x0<x1 ? mLine.w : 0),null); | |
| 438 | + /* Special case: The merge riser already exists. Only draw the | |
| 439 | + /* horizontal line or arrow going from the node out to the riser. */ | |
| 440 | + var dx = x1<x0 ? mArrow.w : -mArrow.w; | |
| 441 | + if( isCP ){ | |
| 442 | + drawCherrypickLine(x0,y0,x1+dx,null); | |
| 443 | + cls = "arrow cherrypick " + (x1<x0 ? "l" : "r"); | |
| 444 | + }else{ | |
| 445 | + drawMergeLine(x0,y0,x1+dx,null); | |
| 446 | + cls = "arrow merge " + (x1<x0 ? "l" : "r"); | |
| 447 | + } | |
| 448 | + if( !isCP || p.mu==p.cu ){ | |
| 449 | + dx = x1<x0 ? mLine.w : -(mArrow.w + mLine.w/2); | |
| 450 | + drawBox(cls,null,x1+dx,y0+(mLine.w-mArrow.h)/2); | |
| 451 | + } | |
| 438 | 452 | y1 = y0; |
| 439 | 453 | }else{ |
| 440 | 454 | drawMergeLine(x0,y0,x1+(x0<x1 ? mLine.w : 0),null); |
| 441 | 455 | drawMergeLine(x1,y0+mLine.w,null,y1); |
| 442 | 456 | } |
| 443 | - if( p.hasOwnProperty('cu') ){ | |
| 457 | + if( isCP && p.cu!=p.id ){ | |
| 444 | 458 | var u2 = tx.rowinfo[p.cu-tx.iTopRow]; |
| 445 | 459 | var y2 = miLineY(u2); |
| 446 | 460 | drawCherrypickLine(x1,y1,null,y2); |
| 447 | 461 | } |
| 448 | 462 | }else if( mergeOffset ){ |
| 449 | 463 |
| --- src/graph.js | |
| +++ src/graph.js | |
| @@ -431,18 +431,32 @@ | |
| 431 | }else{ |
| 432 | mergeLines[p.mo] = -mLine.w/2; |
| 433 | } |
| 434 | x1 += mergeLines[p.mo] |
| 435 | var y0 = p.y+2; |
| 436 | if( p.mu==p.id ){ |
| 437 | drawCherrypickLine(x0,y0,x1+(x0<x1 ? mLine.w : 0),null); |
| 438 | y1 = y0; |
| 439 | }else{ |
| 440 | drawMergeLine(x0,y0,x1+(x0<x1 ? mLine.w : 0),null); |
| 441 | drawMergeLine(x1,y0+mLine.w,null,y1); |
| 442 | } |
| 443 | if( p.hasOwnProperty('cu') ){ |
| 444 | var u2 = tx.rowinfo[p.cu-tx.iTopRow]; |
| 445 | var y2 = miLineY(u2); |
| 446 | drawCherrypickLine(x1,y1,null,y2); |
| 447 | } |
| 448 | }else if( mergeOffset ){ |
| 449 |
| --- src/graph.js | |
| +++ src/graph.js | |
| @@ -431,18 +431,32 @@ | |
| 431 | }else{ |
| 432 | mergeLines[p.mo] = -mLine.w/2; |
| 433 | } |
| 434 | x1 += mergeLines[p.mo] |
| 435 | var y0 = p.y+2; |
| 436 | var isCP = p.hasOwnProperty('cu'); |
| 437 | if( p.mu==p.id ){ |
| 438 | /* Special case: The merge riser already exists. Only draw the |
| 439 | /* horizontal line or arrow going from the node out to the riser. */ |
| 440 | var dx = x1<x0 ? mArrow.w : -mArrow.w; |
| 441 | if( isCP ){ |
| 442 | drawCherrypickLine(x0,y0,x1+dx,null); |
| 443 | cls = "arrow cherrypick " + (x1<x0 ? "l" : "r"); |
| 444 | }else{ |
| 445 | drawMergeLine(x0,y0,x1+dx,null); |
| 446 | cls = "arrow merge " + (x1<x0 ? "l" : "r"); |
| 447 | } |
| 448 | if( !isCP || p.mu==p.cu ){ |
| 449 | dx = x1<x0 ? mLine.w : -(mArrow.w + mLine.w/2); |
| 450 | drawBox(cls,null,x1+dx,y0+(mLine.w-mArrow.h)/2); |
| 451 | } |
| 452 | y1 = y0; |
| 453 | }else{ |
| 454 | drawMergeLine(x0,y0,x1+(x0<x1 ? mLine.w : 0),null); |
| 455 | drawMergeLine(x1,y0+mLine.w,null,y1); |
| 456 | } |
| 457 | if( isCP && p.cu!=p.id ){ |
| 458 | var u2 = tx.rowinfo[p.cu-tx.iTopRow]; |
| 459 | var y2 = miLineY(u2); |
| 460 | drawCherrypickLine(x1,y1,null,y2); |
| 461 | } |
| 462 | }else if( mergeOffset ){ |
| 463 |
+6
-6
| --- src/http_ssl.c | ||
| +++ src/http_ssl.c | ||
| @@ -328,17 +328,17 @@ | ||
| 328 | 328 | ssl_close(); |
| 329 | 329 | return 1; |
| 330 | 330 | } |
| 331 | 331 | |
| 332 | 332 | if( !sslNoCertVerify && SSL_get_verify_result(ssl)!=X509_V_OK ){ |
| 333 | - int x; | |
| 333 | + int x, desclen; | |
| 334 | 334 | char *desc, *prompt; |
| 335 | 335 | Blob ans; |
| 336 | 336 | char cReply; |
| 337 | 337 | BIO *mem; |
| 338 | - unsigned char md[32]; | |
| 339 | - char zHash[32*2+1]; | |
| 338 | + unsigned char md[EVP_MAX_MD_SIZE]; | |
| 339 | + char zHash[EVP_MAX_MD_SIZE*2+1]; | |
| 340 | 340 | unsigned int mdLength = (int)sizeof(md); |
| 341 | 341 | |
| 342 | 342 | memset(md, 0, sizeof(md)); |
| 343 | 343 | zHash[0] = 0; |
| 344 | 344 | /* MMNNFFPPS */ |
| @@ -365,15 +365,15 @@ | ||
| 365 | 365 | BIO_puts(mem, " subject: "); |
| 366 | 366 | X509_NAME_print_ex(mem, X509_get_subject_name(cert), 0, XN_FLAG_ONELINE); |
| 367 | 367 | BIO_puts(mem, "\n issuer: "); |
| 368 | 368 | X509_NAME_print_ex(mem, X509_get_issuer_name(cert), 0, XN_FLAG_ONELINE); |
| 369 | 369 | BIO_printf(mem, "\n sha256: %s", zHash); |
| 370 | - BIO_get_mem_data(mem, &desc); | |
| 370 | + desclen = BIO_get_mem_data(mem, &desc); | |
| 371 | 371 | |
| 372 | - prompt = mprintf("Unable to verify SSL cert from %s\n%s\n" | |
| 372 | + prompt = mprintf("Unable to verify SSL cert from %s\n%.*s\n" | |
| 373 | 373 | "accept this cert and continue (y/N)? ", |
| 374 | - pUrlData->name, desc); | |
| 374 | + pUrlData->name, desclen, desc); | |
| 375 | 375 | BIO_free(mem); |
| 376 | 376 | |
| 377 | 377 | prompt_user(prompt, &ans); |
| 378 | 378 | free(prompt); |
| 379 | 379 | cReply = blob_str(&ans)[0]; |
| 380 | 380 |
| --- src/http_ssl.c | |
| +++ src/http_ssl.c | |
| @@ -328,17 +328,17 @@ | |
| 328 | ssl_close(); |
| 329 | return 1; |
| 330 | } |
| 331 | |
| 332 | if( !sslNoCertVerify && SSL_get_verify_result(ssl)!=X509_V_OK ){ |
| 333 | int x; |
| 334 | char *desc, *prompt; |
| 335 | Blob ans; |
| 336 | char cReply; |
| 337 | BIO *mem; |
| 338 | unsigned char md[32]; |
| 339 | char zHash[32*2+1]; |
| 340 | unsigned int mdLength = (int)sizeof(md); |
| 341 | |
| 342 | memset(md, 0, sizeof(md)); |
| 343 | zHash[0] = 0; |
| 344 | /* MMNNFFPPS */ |
| @@ -365,15 +365,15 @@ | |
| 365 | BIO_puts(mem, " subject: "); |
| 366 | X509_NAME_print_ex(mem, X509_get_subject_name(cert), 0, XN_FLAG_ONELINE); |
| 367 | BIO_puts(mem, "\n issuer: "); |
| 368 | X509_NAME_print_ex(mem, X509_get_issuer_name(cert), 0, XN_FLAG_ONELINE); |
| 369 | BIO_printf(mem, "\n sha256: %s", zHash); |
| 370 | BIO_get_mem_data(mem, &desc); |
| 371 | |
| 372 | prompt = mprintf("Unable to verify SSL cert from %s\n%s\n" |
| 373 | "accept this cert and continue (y/N)? ", |
| 374 | pUrlData->name, desc); |
| 375 | BIO_free(mem); |
| 376 | |
| 377 | prompt_user(prompt, &ans); |
| 378 | free(prompt); |
| 379 | cReply = blob_str(&ans)[0]; |
| 380 |
| --- src/http_ssl.c | |
| +++ src/http_ssl.c | |
| @@ -328,17 +328,17 @@ | |
| 328 | ssl_close(); |
| 329 | return 1; |
| 330 | } |
| 331 | |
| 332 | if( !sslNoCertVerify && SSL_get_verify_result(ssl)!=X509_V_OK ){ |
| 333 | int x, desclen; |
| 334 | char *desc, *prompt; |
| 335 | Blob ans; |
| 336 | char cReply; |
| 337 | BIO *mem; |
| 338 | unsigned char md[EVP_MAX_MD_SIZE]; |
| 339 | char zHash[EVP_MAX_MD_SIZE*2+1]; |
| 340 | unsigned int mdLength = (int)sizeof(md); |
| 341 | |
| 342 | memset(md, 0, sizeof(md)); |
| 343 | zHash[0] = 0; |
| 344 | /* MMNNFFPPS */ |
| @@ -365,15 +365,15 @@ | |
| 365 | BIO_puts(mem, " subject: "); |
| 366 | X509_NAME_print_ex(mem, X509_get_subject_name(cert), 0, XN_FLAG_ONELINE); |
| 367 | BIO_puts(mem, "\n issuer: "); |
| 368 | X509_NAME_print_ex(mem, X509_get_issuer_name(cert), 0, XN_FLAG_ONELINE); |
| 369 | BIO_printf(mem, "\n sha256: %s", zHash); |
| 370 | desclen = BIO_get_mem_data(mem, &desc); |
| 371 | |
| 372 | prompt = mprintf("Unable to verify SSL cert from %s\n%.*s\n" |
| 373 | "accept this cert and continue (y/N)? ", |
| 374 | pUrlData->name, desclen, desc); |
| 375 | BIO_free(mem); |
| 376 | |
| 377 | prompt_user(prompt, &ans); |
| 378 | free(prompt); |
| 379 | cReply = blob_str(&ans)[0]; |
| 380 |
+3
-3
| --- src/http_transport.c | ||
| +++ src/http_transport.c | ||
| @@ -263,18 +263,18 @@ | ||
| 263 | 263 | } |
| 264 | 264 | } |
| 265 | 265 | |
| 266 | 266 | /* |
| 267 | 267 | ** This routine is called when the outbound message is complete and |
| 268 | -** it is time to being receiving a reply. | |
| 268 | +** it is time to begin receiving a reply. | |
| 269 | 269 | */ |
| 270 | 270 | void transport_flip(UrlData *pUrlData){ |
| 271 | 271 | if( pUrlData->isFile ){ |
| 272 | 272 | char *zCmd; |
| 273 | 273 | fclose(transport.pFile); |
| 274 | - zCmd = mprintf("\"%s\" http --in \"%s\" --out \"%s\" --ipaddr 127.0.0.1" | |
| 275 | - " \"%s\" --localauth", | |
| 274 | + zCmd = mprintf("%$ http --in %$ --out %$ --ipaddr 127.0.0.1" | |
| 275 | + " %$ --localauth", | |
| 276 | 276 | g.nameOfExe, transport.zOutFile, transport.zInFile, pUrlData->name |
| 277 | 277 | ); |
| 278 | 278 | fossil_system(zCmd); |
| 279 | 279 | free(zCmd); |
| 280 | 280 | transport.pFile = fossil_fopen(transport.zInFile, "rb"); |
| 281 | 281 |
| --- src/http_transport.c | |
| +++ src/http_transport.c | |
| @@ -263,18 +263,18 @@ | |
| 263 | } |
| 264 | } |
| 265 | |
| 266 | /* |
| 267 | ** This routine is called when the outbound message is complete and |
| 268 | ** it is time to being receiving a reply. |
| 269 | */ |
| 270 | void transport_flip(UrlData *pUrlData){ |
| 271 | if( pUrlData->isFile ){ |
| 272 | char *zCmd; |
| 273 | fclose(transport.pFile); |
| 274 | zCmd = mprintf("\"%s\" http --in \"%s\" --out \"%s\" --ipaddr 127.0.0.1" |
| 275 | " \"%s\" --localauth", |
| 276 | g.nameOfExe, transport.zOutFile, transport.zInFile, pUrlData->name |
| 277 | ); |
| 278 | fossil_system(zCmd); |
| 279 | free(zCmd); |
| 280 | transport.pFile = fossil_fopen(transport.zInFile, "rb"); |
| 281 |
| --- src/http_transport.c | |
| +++ src/http_transport.c | |
| @@ -263,18 +263,18 @@ | |
| 263 | } |
| 264 | } |
| 265 | |
| 266 | /* |
| 267 | ** This routine is called when the outbound message is complete and |
| 268 | ** it is time to begin receiving a reply. |
| 269 | */ |
| 270 | void transport_flip(UrlData *pUrlData){ |
| 271 | if( pUrlData->isFile ){ |
| 272 | char *zCmd; |
| 273 | fclose(transport.pFile); |
| 274 | zCmd = mprintf("%$ http --in %$ --out %$ --ipaddr 127.0.0.1" |
| 275 | " %$ --localauth", |
| 276 | g.nameOfExe, transport.zOutFile, transport.zInFile, pUrlData->name |
| 277 | ); |
| 278 | fossil_system(zCmd); |
| 279 | free(zCmd); |
| 280 | transport.pFile = fossil_fopen(transport.zInFile, "rb"); |
| 281 |
+2
| --- src/info.c | ||
| +++ src/info.c | ||
| @@ -1043,10 +1043,11 @@ | ||
| 1043 | 1043 | } |
| 1044 | 1044 | |
| 1045 | 1045 | |
| 1046 | 1046 | @ <div class="section">Content</div> |
| 1047 | 1047 | blob_init(&wiki, pWiki->zWiki, -1); |
| 1048 | + safe_html_context(DOCSRC_WIKI); | |
| 1048 | 1049 | wiki_render_by_mimetype(&wiki, pWiki->zMimetype); |
| 1049 | 1050 | blob_reset(&wiki); |
| 1050 | 1051 | manifest_destroy(pWiki); |
| 1051 | 1052 | style_footer(); |
| 1052 | 1053 | } |
| @@ -2362,10 +2363,11 @@ | ||
| 2362 | 2363 | style_submenu_element("Content", "%R/artifact/%s", zUuid); |
| 2363 | 2364 | }else{ |
| 2364 | 2365 | @ <hr /> |
| 2365 | 2366 | content_get(rid, &content); |
| 2366 | 2367 | if( renderAsWiki ){ |
| 2368 | + safe_html_context(DOCSRC_FILE); | |
| 2367 | 2369 | wiki_render_by_mimetype(&content, zMime); |
| 2368 | 2370 | }else if( renderAsHtml ){ |
| 2369 | 2371 | @ <iframe src="%R/raw/%s(zUuid)" |
| 2370 | 2372 | @ width="100%%" frameborder="0" marginwidth="0" marginheight="0" |
| 2371 | 2373 | @ sandbox="allow-same-origin" id="ifm1"> |
| 2372 | 2374 |
| --- src/info.c | |
| +++ src/info.c | |
| @@ -1043,10 +1043,11 @@ | |
| 1043 | } |
| 1044 | |
| 1045 | |
| 1046 | @ <div class="section">Content</div> |
| 1047 | blob_init(&wiki, pWiki->zWiki, -1); |
| 1048 | wiki_render_by_mimetype(&wiki, pWiki->zMimetype); |
| 1049 | blob_reset(&wiki); |
| 1050 | manifest_destroy(pWiki); |
| 1051 | style_footer(); |
| 1052 | } |
| @@ -2362,10 +2363,11 @@ | |
| 2362 | style_submenu_element("Content", "%R/artifact/%s", zUuid); |
| 2363 | }else{ |
| 2364 | @ <hr /> |
| 2365 | content_get(rid, &content); |
| 2366 | if( renderAsWiki ){ |
| 2367 | wiki_render_by_mimetype(&content, zMime); |
| 2368 | }else if( renderAsHtml ){ |
| 2369 | @ <iframe src="%R/raw/%s(zUuid)" |
| 2370 | @ width="100%%" frameborder="0" marginwidth="0" marginheight="0" |
| 2371 | @ sandbox="allow-same-origin" id="ifm1"> |
| 2372 |
| --- src/info.c | |
| +++ src/info.c | |
| @@ -1043,10 +1043,11 @@ | |
| 1043 | } |
| 1044 | |
| 1045 | |
| 1046 | @ <div class="section">Content</div> |
| 1047 | blob_init(&wiki, pWiki->zWiki, -1); |
| 1048 | safe_html_context(DOCSRC_WIKI); |
| 1049 | wiki_render_by_mimetype(&wiki, pWiki->zMimetype); |
| 1050 | blob_reset(&wiki); |
| 1051 | manifest_destroy(pWiki); |
| 1052 | style_footer(); |
| 1053 | } |
| @@ -2362,10 +2363,11 @@ | |
| 2363 | style_submenu_element("Content", "%R/artifact/%s", zUuid); |
| 2364 | }else{ |
| 2365 | @ <hr /> |
| 2366 | content_get(rid, &content); |
| 2367 | if( renderAsWiki ){ |
| 2368 | safe_html_context(DOCSRC_FILE); |
| 2369 | wiki_render_by_mimetype(&content, zMime); |
| 2370 | }else if( renderAsHtml ){ |
| 2371 | @ <iframe src="%R/raw/%s(zUuid)" |
| 2372 | @ width="100%%" frameborder="0" marginwidth="0" marginheight="0" |
| 2373 | @ sandbox="allow-same-origin" id="ifm1"> |
| 2374 |
+58
-29
| --- src/main.c | ||
| +++ src/main.c | ||
| @@ -210,10 +210,14 @@ | ||
| 210 | 210 | Blob httpHeader; /* Complete text of the HTTP request header */ |
| 211 | 211 | UrlData url; /* Information about current URL */ |
| 212 | 212 | const char *zLogin; /* Login name. NULL or "" if not logged in. */ |
| 213 | 213 | const char *zSSLIdentity; /* Value of --ssl-identity option, filename of |
| 214 | 214 | ** SSL client identity */ |
| 215 | +#if defined(_WIN32) && USE_SEE | |
| 216 | + const char *zPidKey; /* Saved value of the --usepidkey option. Only | |
| 217 | + * applicable when using SEE on Windows. */ | |
| 218 | +#endif | |
| 215 | 219 | int useLocalauth; /* No login required if from 127.0.0.1 */ |
| 216 | 220 | int noPswd; /* Logged in without password (on 127.0.0.1) */ |
| 217 | 221 | int userUid; /* Integer user id */ |
| 218 | 222 | int isHuman; /* True if access by a human, not a spider or bot */ |
| 219 | 223 | int comFmtFlags; /* Zero or more "COMMENT_PRINT_*" bit flags, should be |
| @@ -630,11 +634,11 @@ | ||
| 630 | 634 | #if defined(FOSSIL_FUZZ) |
| 631 | 635 | /* Do not include a main() procedure when building for fuzz testing. |
| 632 | 636 | ** libFuzzer will supply main(). */ |
| 633 | 637 | #elif defined(_WIN32) && !defined(BROKEN_MINGW_CMDLINE) |
| 634 | 638 | int _dowildcard = -1; /* This turns on command-line globbing in MinGW-w64 */ |
| 635 | - int wmain(int argc, wchar_t **argv){ return fossil_main(argc, argv); } | |
| 639 | + int wmain(int argc, wchar_t **argv){ return fossil_main(argc,(char**)argv); } | |
| 636 | 640 | #elif defined(_WIN32) |
| 637 | 641 | int _CRT_glob = 0x0001; /* See MinGW bug #2062 */ |
| 638 | 642 | int main(int argc, char **argv){ return fossil_main(argc, argv); } |
| 639 | 643 | #else |
| 640 | 644 | int main(int argc, char **argv){ return fossil_main(argc, argv); } |
| @@ -758,10 +762,30 @@ | ||
| 758 | 762 | if( find_option("utc",0,0) ) g.fTimeFormat = 1; |
| 759 | 763 | if( find_option("localtime",0,0) ) g.fTimeFormat = 2; |
| 760 | 764 | if( zChdir && file_chdir(zChdir, 0) ){ |
| 761 | 765 | fossil_fatal("unable to change directories to %s", zChdir); |
| 762 | 766 | } |
| 767 | +#if defined(_WIN32) && USE_SEE | |
| 768 | + { | |
| 769 | + g.zPidKey = find_option("usepidkey",0,1); | |
| 770 | + if( g.zPidKey ){ | |
| 771 | + DWORD processId = 0; | |
| 772 | + LPVOID pAddress = NULL; | |
| 773 | + SIZE_T nSize = 0; | |
| 774 | + parse_pid_key_value(g.zPidKey, &processId, &pAddress, &nSize); | |
| 775 | + db_read_saved_encryption_key_from_process(processId, pAddress, nSize); | |
| 776 | + }else{ | |
| 777 | + const char *zSeeDbConfig = find_option("seedbcfg",0,1); | |
| 778 | + if( !zSeeDbConfig ){ | |
| 779 | + zSeeDbConfig = fossil_getenv("FOSSIL_SEE_DB_CONFIG"); | |
| 780 | + } | |
| 781 | + if( zSeeDbConfig ){ | |
| 782 | + db_read_saved_encryption_key_from_process_via_th1(zSeeDbConfig); | |
| 783 | + } | |
| 784 | + } | |
| 785 | + } | |
| 786 | +#endif | |
| 763 | 787 | if( find_option("help",0,0)!=0 ){ |
| 764 | 788 | /* If --help is found anywhere on the command line, translate the command |
| 765 | 789 | * to "fossil help cmdname" where "cmdname" is the first argument that |
| 766 | 790 | * does not begin with a "-" character. If all arguments start with "-", |
| 767 | 791 | * translate to "fossil help argv[1] argv[2]...". */ |
| @@ -2345,10 +2369,43 @@ | ||
| 2345 | 2369 | }else{ |
| 2346 | 2370 | fossil_fatal("failed to parse pid key"); |
| 2347 | 2371 | } |
| 2348 | 2372 | } |
| 2349 | 2373 | #endif |
| 2374 | + | |
| 2375 | +/* | |
| 2376 | +** WEBPAGE: test-pid | |
| 2377 | +** | |
| 2378 | +** Return the process identifier of the running Fossil server instance. | |
| 2379 | +** | |
| 2380 | +** Query parameters: | |
| 2381 | +** | |
| 2382 | +** usepidkey When present and available, also return the | |
| 2383 | +** address and size, within this server process, | |
| 2384 | +** of the saved database encryption key. This | |
| 2385 | +** is only supported when using SEE on Windows. | |
| 2386 | +*/ | |
| 2387 | +void test_pid_page(void){ | |
| 2388 | + login_check_credentials(); | |
| 2389 | + if( !g.perm.Setup ){ login_needed(0); return; } | |
| 2390 | +#if defined(_WIN32) && USE_SEE | |
| 2391 | + if( P("usepidkey")!=0 ){ | |
| 2392 | + if( g.zPidKey ){ | |
| 2393 | + @ %s(g.zPidKey) | |
| 2394 | + return; | |
| 2395 | + }else{ | |
| 2396 | + const char *zSavedKey = db_get_saved_encryption_key(); | |
| 2397 | + size_t savedKeySize = db_get_saved_encryption_key_size(); | |
| 2398 | + if( zSavedKey!=0 && savedKeySize>0 ){ | |
| 2399 | + @ %lu(GetCurrentProcessId()):%p(zSavedKey):%u(savedKeySize) | |
| 2400 | + return; | |
| 2401 | + } | |
| 2402 | + } | |
| 2403 | + } | |
| 2404 | +#endif | |
| 2405 | + @ %d(GETPID()) | |
| 2406 | +} | |
| 2350 | 2407 | |
| 2351 | 2408 | /* |
| 2352 | 2409 | ** COMMAND: http* |
| 2353 | 2410 | ** |
| 2354 | 2411 | ** Usage: %fossil http ?REPOSITORY? ?OPTIONS? |
| @@ -2413,13 +2470,10 @@ | ||
| 2413 | 2470 | const char *zInFile; |
| 2414 | 2471 | const char *zOutFile; |
| 2415 | 2472 | int useSCGI; |
| 2416 | 2473 | int noJail; |
| 2417 | 2474 | int allowRepoList; |
| 2418 | -#if defined(_WIN32) && USE_SEE | |
| 2419 | - const char *zPidKey; | |
| 2420 | -#endif | |
| 2421 | 2475 | |
| 2422 | 2476 | Th_InitTraceLog(); |
| 2423 | 2477 | |
| 2424 | 2478 | /* The winhttp module passes the --files option as --files-urlenc with |
| 2425 | 2479 | ** the argument being URL encoded, to avoid wildcard expansion in the |
| @@ -2466,21 +2520,10 @@ | ||
| 2466 | 2520 | cgi_replace_parameter("HTTPS","on"); |
| 2467 | 2521 | } |
| 2468 | 2522 | zHost = find_option("host", 0, 1); |
| 2469 | 2523 | if( zHost ) cgi_replace_parameter("HTTP_HOST",zHost); |
| 2470 | 2524 | |
| 2471 | -#if defined(_WIN32) && USE_SEE | |
| 2472 | - zPidKey = find_option("usepidkey", 0, 1); | |
| 2473 | - if( zPidKey ){ | |
| 2474 | - DWORD processId = 0; | |
| 2475 | - LPVOID pAddress = NULL; | |
| 2476 | - SIZE_T nSize = 0; | |
| 2477 | - parse_pid_key_value(zPidKey, &processId, &pAddress, &nSize); | |
| 2478 | - db_read_saved_encryption_key_from_process(processId, pAddress, nSize); | |
| 2479 | - } | |
| 2480 | -#endif | |
| 2481 | - | |
| 2482 | 2525 | /* We should be done with options.. */ |
| 2483 | 2526 | verify_all_options(); |
| 2484 | 2527 | |
| 2485 | 2528 | if( g.argc!=2 && g.argc!=3 ) usage("?REPOSITORY?"); |
| 2486 | 2529 | g.cgiOutput = 1; |
| @@ -2695,13 +2738,10 @@ | ||
| 2695 | 2738 | const char *zAltBase; /* Argument to the --baseurl option */ |
| 2696 | 2739 | const char *zFileGlob; /* Static content must match this */ |
| 2697 | 2740 | char *zIpAddr = 0; /* Bind to this IP address */ |
| 2698 | 2741 | int fCreate = 0; /* The --create flag */ |
| 2699 | 2742 | const char *zInitPage = 0; /* Start on this page. --page option */ |
| 2700 | -#if defined(_WIN32) && USE_SEE | |
| 2701 | - const char *zPidKey; | |
| 2702 | -#endif | |
| 2703 | 2743 | |
| 2704 | 2744 | #if defined(_WIN32) |
| 2705 | 2745 | const char *zStopperFile; /* Name of file used to terminate server */ |
| 2706 | 2746 | zStopperFile = find_option("stopper", 0, 1); |
| 2707 | 2747 | #endif |
| @@ -2745,21 +2785,10 @@ | ||
| 2745 | 2785 | } |
| 2746 | 2786 | if( find_option("localhost", 0, 0)!=0 ){ |
| 2747 | 2787 | flags |= HTTP_SERVER_LOCALHOST; |
| 2748 | 2788 | } |
| 2749 | 2789 | |
| 2750 | -#if defined(_WIN32) && USE_SEE | |
| 2751 | - zPidKey = find_option("usepidkey", 0, 1); | |
| 2752 | - if( zPidKey ){ | |
| 2753 | - DWORD processId = 0; | |
| 2754 | - LPVOID pAddress = NULL; | |
| 2755 | - SIZE_T nSize = 0; | |
| 2756 | - parse_pid_key_value(zPidKey, &processId, &pAddress, &nSize); | |
| 2757 | - db_read_saved_encryption_key_from_process(processId, pAddress, nSize); | |
| 2758 | - } | |
| 2759 | -#endif | |
| 2760 | - | |
| 2761 | 2790 | /* We should be done with options.. */ |
| 2762 | 2791 | verify_all_options(); |
| 2763 | 2792 | |
| 2764 | 2793 | if( g.argc!=2 && g.argc!=3 ) usage("?REPOSITORY?"); |
| 2765 | 2794 | if( isUiCmd ){ |
| 2766 | 2795 |
| --- src/main.c | |
| +++ src/main.c | |
| @@ -210,10 +210,14 @@ | |
| 210 | Blob httpHeader; /* Complete text of the HTTP request header */ |
| 211 | UrlData url; /* Information about current URL */ |
| 212 | const char *zLogin; /* Login name. NULL or "" if not logged in. */ |
| 213 | const char *zSSLIdentity; /* Value of --ssl-identity option, filename of |
| 214 | ** SSL client identity */ |
| 215 | int useLocalauth; /* No login required if from 127.0.0.1 */ |
| 216 | int noPswd; /* Logged in without password (on 127.0.0.1) */ |
| 217 | int userUid; /* Integer user id */ |
| 218 | int isHuman; /* True if access by a human, not a spider or bot */ |
| 219 | int comFmtFlags; /* Zero or more "COMMENT_PRINT_*" bit flags, should be |
| @@ -630,11 +634,11 @@ | |
| 630 | #if defined(FOSSIL_FUZZ) |
| 631 | /* Do not include a main() procedure when building for fuzz testing. |
| 632 | ** libFuzzer will supply main(). */ |
| 633 | #elif defined(_WIN32) && !defined(BROKEN_MINGW_CMDLINE) |
| 634 | int _dowildcard = -1; /* This turns on command-line globbing in MinGW-w64 */ |
| 635 | int wmain(int argc, wchar_t **argv){ return fossil_main(argc, argv); } |
| 636 | #elif defined(_WIN32) |
| 637 | int _CRT_glob = 0x0001; /* See MinGW bug #2062 */ |
| 638 | int main(int argc, char **argv){ return fossil_main(argc, argv); } |
| 639 | #else |
| 640 | int main(int argc, char **argv){ return fossil_main(argc, argv); } |
| @@ -758,10 +762,30 @@ | |
| 758 | if( find_option("utc",0,0) ) g.fTimeFormat = 1; |
| 759 | if( find_option("localtime",0,0) ) g.fTimeFormat = 2; |
| 760 | if( zChdir && file_chdir(zChdir, 0) ){ |
| 761 | fossil_fatal("unable to change directories to %s", zChdir); |
| 762 | } |
| 763 | if( find_option("help",0,0)!=0 ){ |
| 764 | /* If --help is found anywhere on the command line, translate the command |
| 765 | * to "fossil help cmdname" where "cmdname" is the first argument that |
| 766 | * does not begin with a "-" character. If all arguments start with "-", |
| 767 | * translate to "fossil help argv[1] argv[2]...". */ |
| @@ -2345,10 +2369,43 @@ | |
| 2345 | }else{ |
| 2346 | fossil_fatal("failed to parse pid key"); |
| 2347 | } |
| 2348 | } |
| 2349 | #endif |
| 2350 | |
| 2351 | /* |
| 2352 | ** COMMAND: http* |
| 2353 | ** |
| 2354 | ** Usage: %fossil http ?REPOSITORY? ?OPTIONS? |
| @@ -2413,13 +2470,10 @@ | |
| 2413 | const char *zInFile; |
| 2414 | const char *zOutFile; |
| 2415 | int useSCGI; |
| 2416 | int noJail; |
| 2417 | int allowRepoList; |
| 2418 | #if defined(_WIN32) && USE_SEE |
| 2419 | const char *zPidKey; |
| 2420 | #endif |
| 2421 | |
| 2422 | Th_InitTraceLog(); |
| 2423 | |
| 2424 | /* The winhttp module passes the --files option as --files-urlenc with |
| 2425 | ** the argument being URL encoded, to avoid wildcard expansion in the |
| @@ -2466,21 +2520,10 @@ | |
| 2466 | cgi_replace_parameter("HTTPS","on"); |
| 2467 | } |
| 2468 | zHost = find_option("host", 0, 1); |
| 2469 | if( zHost ) cgi_replace_parameter("HTTP_HOST",zHost); |
| 2470 | |
| 2471 | #if defined(_WIN32) && USE_SEE |
| 2472 | zPidKey = find_option("usepidkey", 0, 1); |
| 2473 | if( zPidKey ){ |
| 2474 | DWORD processId = 0; |
| 2475 | LPVOID pAddress = NULL; |
| 2476 | SIZE_T nSize = 0; |
| 2477 | parse_pid_key_value(zPidKey, &processId, &pAddress, &nSize); |
| 2478 | db_read_saved_encryption_key_from_process(processId, pAddress, nSize); |
| 2479 | } |
| 2480 | #endif |
| 2481 | |
| 2482 | /* We should be done with options.. */ |
| 2483 | verify_all_options(); |
| 2484 | |
| 2485 | if( g.argc!=2 && g.argc!=3 ) usage("?REPOSITORY?"); |
| 2486 | g.cgiOutput = 1; |
| @@ -2695,13 +2738,10 @@ | |
| 2695 | const char *zAltBase; /* Argument to the --baseurl option */ |
| 2696 | const char *zFileGlob; /* Static content must match this */ |
| 2697 | char *zIpAddr = 0; /* Bind to this IP address */ |
| 2698 | int fCreate = 0; /* The --create flag */ |
| 2699 | const char *zInitPage = 0; /* Start on this page. --page option */ |
| 2700 | #if defined(_WIN32) && USE_SEE |
| 2701 | const char *zPidKey; |
| 2702 | #endif |
| 2703 | |
| 2704 | #if defined(_WIN32) |
| 2705 | const char *zStopperFile; /* Name of file used to terminate server */ |
| 2706 | zStopperFile = find_option("stopper", 0, 1); |
| 2707 | #endif |
| @@ -2745,21 +2785,10 @@ | |
| 2745 | } |
| 2746 | if( find_option("localhost", 0, 0)!=0 ){ |
| 2747 | flags |= HTTP_SERVER_LOCALHOST; |
| 2748 | } |
| 2749 | |
| 2750 | #if defined(_WIN32) && USE_SEE |
| 2751 | zPidKey = find_option("usepidkey", 0, 1); |
| 2752 | if( zPidKey ){ |
| 2753 | DWORD processId = 0; |
| 2754 | LPVOID pAddress = NULL; |
| 2755 | SIZE_T nSize = 0; |
| 2756 | parse_pid_key_value(zPidKey, &processId, &pAddress, &nSize); |
| 2757 | db_read_saved_encryption_key_from_process(processId, pAddress, nSize); |
| 2758 | } |
| 2759 | #endif |
| 2760 | |
| 2761 | /* We should be done with options.. */ |
| 2762 | verify_all_options(); |
| 2763 | |
| 2764 | if( g.argc!=2 && g.argc!=3 ) usage("?REPOSITORY?"); |
| 2765 | if( isUiCmd ){ |
| 2766 |
| --- src/main.c | |
| +++ src/main.c | |
| @@ -210,10 +210,14 @@ | |
| 210 | Blob httpHeader; /* Complete text of the HTTP request header */ |
| 211 | UrlData url; /* Information about current URL */ |
| 212 | const char *zLogin; /* Login name. NULL or "" if not logged in. */ |
| 213 | const char *zSSLIdentity; /* Value of --ssl-identity option, filename of |
| 214 | ** SSL client identity */ |
| 215 | #if defined(_WIN32) && USE_SEE |
| 216 | const char *zPidKey; /* Saved value of the --usepidkey option. Only |
| 217 | * applicable when using SEE on Windows. */ |
| 218 | #endif |
| 219 | int useLocalauth; /* No login required if from 127.0.0.1 */ |
| 220 | int noPswd; /* Logged in without password (on 127.0.0.1) */ |
| 221 | int userUid; /* Integer user id */ |
| 222 | int isHuman; /* True if access by a human, not a spider or bot */ |
| 223 | int comFmtFlags; /* Zero or more "COMMENT_PRINT_*" bit flags, should be |
| @@ -630,11 +634,11 @@ | |
| 634 | #if defined(FOSSIL_FUZZ) |
| 635 | /* Do not include a main() procedure when building for fuzz testing. |
| 636 | ** libFuzzer will supply main(). */ |
| 637 | #elif defined(_WIN32) && !defined(BROKEN_MINGW_CMDLINE) |
| 638 | int _dowildcard = -1; /* This turns on command-line globbing in MinGW-w64 */ |
| 639 | int wmain(int argc, wchar_t **argv){ return fossil_main(argc,(char**)argv); } |
| 640 | #elif defined(_WIN32) |
| 641 | int _CRT_glob = 0x0001; /* See MinGW bug #2062 */ |
| 642 | int main(int argc, char **argv){ return fossil_main(argc, argv); } |
| 643 | #else |
| 644 | int main(int argc, char **argv){ return fossil_main(argc, argv); } |
| @@ -758,10 +762,30 @@ | |
| 762 | if( find_option("utc",0,0) ) g.fTimeFormat = 1; |
| 763 | if( find_option("localtime",0,0) ) g.fTimeFormat = 2; |
| 764 | if( zChdir && file_chdir(zChdir, 0) ){ |
| 765 | fossil_fatal("unable to change directories to %s", zChdir); |
| 766 | } |
| 767 | #if defined(_WIN32) && USE_SEE |
| 768 | { |
| 769 | g.zPidKey = find_option("usepidkey",0,1); |
| 770 | if( g.zPidKey ){ |
| 771 | DWORD processId = 0; |
| 772 | LPVOID pAddress = NULL; |
| 773 | SIZE_T nSize = 0; |
| 774 | parse_pid_key_value(g.zPidKey, &processId, &pAddress, &nSize); |
| 775 | db_read_saved_encryption_key_from_process(processId, pAddress, nSize); |
| 776 | }else{ |
| 777 | const char *zSeeDbConfig = find_option("seedbcfg",0,1); |
| 778 | if( !zSeeDbConfig ){ |
| 779 | zSeeDbConfig = fossil_getenv("FOSSIL_SEE_DB_CONFIG"); |
| 780 | } |
| 781 | if( zSeeDbConfig ){ |
| 782 | db_read_saved_encryption_key_from_process_via_th1(zSeeDbConfig); |
| 783 | } |
| 784 | } |
| 785 | } |
| 786 | #endif |
| 787 | if( find_option("help",0,0)!=0 ){ |
| 788 | /* If --help is found anywhere on the command line, translate the command |
| 789 | * to "fossil help cmdname" where "cmdname" is the first argument that |
| 790 | * does not begin with a "-" character. If all arguments start with "-", |
| 791 | * translate to "fossil help argv[1] argv[2]...". */ |
| @@ -2345,10 +2369,43 @@ | |
| 2369 | }else{ |
| 2370 | fossil_fatal("failed to parse pid key"); |
| 2371 | } |
| 2372 | } |
| 2373 | #endif |
| 2374 | |
| 2375 | /* |
| 2376 | ** WEBPAGE: test-pid |
| 2377 | ** |
| 2378 | ** Return the process identifier of the running Fossil server instance. |
| 2379 | ** |
| 2380 | ** Query parameters: |
| 2381 | ** |
| 2382 | ** usepidkey When present and available, also return the |
| 2383 | ** address and size, within this server process, |
| 2384 | ** of the saved database encryption key. This |
| 2385 | ** is only supported when using SEE on Windows. |
| 2386 | */ |
| 2387 | void test_pid_page(void){ |
| 2388 | login_check_credentials(); |
| 2389 | if( !g.perm.Setup ){ login_needed(0); return; } |
| 2390 | #if defined(_WIN32) && USE_SEE |
| 2391 | if( P("usepidkey")!=0 ){ |
| 2392 | if( g.zPidKey ){ |
| 2393 | @ %s(g.zPidKey) |
| 2394 | return; |
| 2395 | }else{ |
| 2396 | const char *zSavedKey = db_get_saved_encryption_key(); |
| 2397 | size_t savedKeySize = db_get_saved_encryption_key_size(); |
| 2398 | if( zSavedKey!=0 && savedKeySize>0 ){ |
| 2399 | @ %lu(GetCurrentProcessId()):%p(zSavedKey):%u(savedKeySize) |
| 2400 | return; |
| 2401 | } |
| 2402 | } |
| 2403 | } |
| 2404 | #endif |
| 2405 | @ %d(GETPID()) |
| 2406 | } |
| 2407 | |
| 2408 | /* |
| 2409 | ** COMMAND: http* |
| 2410 | ** |
| 2411 | ** Usage: %fossil http ?REPOSITORY? ?OPTIONS? |
| @@ -2413,13 +2470,10 @@ | |
| 2470 | const char *zInFile; |
| 2471 | const char *zOutFile; |
| 2472 | int useSCGI; |
| 2473 | int noJail; |
| 2474 | int allowRepoList; |
| 2475 | |
| 2476 | Th_InitTraceLog(); |
| 2477 | |
| 2478 | /* The winhttp module passes the --files option as --files-urlenc with |
| 2479 | ** the argument being URL encoded, to avoid wildcard expansion in the |
| @@ -2466,21 +2520,10 @@ | |
| 2520 | cgi_replace_parameter("HTTPS","on"); |
| 2521 | } |
| 2522 | zHost = find_option("host", 0, 1); |
| 2523 | if( zHost ) cgi_replace_parameter("HTTP_HOST",zHost); |
| 2524 | |
| 2525 | /* We should be done with options.. */ |
| 2526 | verify_all_options(); |
| 2527 | |
| 2528 | if( g.argc!=2 && g.argc!=3 ) usage("?REPOSITORY?"); |
| 2529 | g.cgiOutput = 1; |
| @@ -2695,13 +2738,10 @@ | |
| 2738 | const char *zAltBase; /* Argument to the --baseurl option */ |
| 2739 | const char *zFileGlob; /* Static content must match this */ |
| 2740 | char *zIpAddr = 0; /* Bind to this IP address */ |
| 2741 | int fCreate = 0; /* The --create flag */ |
| 2742 | const char *zInitPage = 0; /* Start on this page. --page option */ |
| 2743 | |
| 2744 | #if defined(_WIN32) |
| 2745 | const char *zStopperFile; /* Name of file used to terminate server */ |
| 2746 | zStopperFile = find_option("stopper", 0, 1); |
| 2747 | #endif |
| @@ -2745,21 +2785,10 @@ | |
| 2785 | } |
| 2786 | if( find_option("localhost", 0, 0)!=0 ){ |
| 2787 | flags |= HTTP_SERVER_LOCALHOST; |
| 2788 | } |
| 2789 | |
| 2790 | /* We should be done with options.. */ |
| 2791 | verify_all_options(); |
| 2792 | |
| 2793 | if( g.argc!=2 && g.argc!=3 ) usage("?REPOSITORY?"); |
| 2794 | if( isUiCmd ){ |
| 2795 |
+12
-2
| --- src/main.mk | ||
| +++ src/main.mk | ||
| @@ -15,10 +15,11 @@ | ||
| 15 | 15 | |
| 16 | 16 | TESTFLAGS := -quiet |
| 17 | 17 | |
| 18 | 18 | SRC = \ |
| 19 | 19 | $(SRCDIR)/add.c \ |
| 20 | + $(SRCDIR)/ajax.c \ | |
| 20 | 21 | $(SRCDIR)/alerts.c \ |
| 21 | 22 | $(SRCDIR)/allrepo.c \ |
| 22 | 23 | $(SRCDIR)/attach.c \ |
| 23 | 24 | $(SRCDIR)/backlink.c \ |
| 24 | 25 | $(SRCDIR)/backoffice.c \ |
| @@ -260,10 +261,11 @@ | ||
| 260 | 261 | $(SRCDIR)/useredit.js \ |
| 261 | 262 | $(SRCDIR)/wiki.wiki |
| 262 | 263 | |
| 263 | 264 | TRANS_SRC = \ |
| 264 | 265 | $(OBJDIR)/add_.c \ |
| 266 | + $(OBJDIR)/ajax_.c \ | |
| 265 | 267 | $(OBJDIR)/alerts_.c \ |
| 266 | 268 | $(OBJDIR)/allrepo_.c \ |
| 267 | 269 | $(OBJDIR)/attach_.c \ |
| 268 | 270 | $(OBJDIR)/backlink_.c \ |
| 269 | 271 | $(OBJDIR)/backoffice_.c \ |
| @@ -404,10 +406,11 @@ | ||
| 404 | 406 | $(OBJDIR)/xfersetup_.c \ |
| 405 | 407 | $(OBJDIR)/zip_.c |
| 406 | 408 | |
| 407 | 409 | OBJ = \ |
| 408 | 410 | $(OBJDIR)/add.o \ |
| 411 | + $(OBJDIR)/ajax.o \ | |
| 409 | 412 | $(OBJDIR)/alerts.o \ |
| 410 | 413 | $(OBJDIR)/allrepo.o \ |
| 411 | 414 | $(OBJDIR)/attach.o \ |
| 412 | 415 | $(OBJDIR)/backlink.o \ |
| 413 | 416 | $(OBJDIR)/backoffice.o \ |
| @@ -603,11 +606,10 @@ | ||
| 603 | 606 | -DSQLITE_DEFAULT_MEMSTATUS=0 \ |
| 604 | 607 | -DSQLITE_DEFAULT_WAL_SYNCHRONOUS=1 \ |
| 605 | 608 | -DSQLITE_LIKE_DOESNT_MATCH_BLOBS \ |
| 606 | 609 | -DSQLITE_OMIT_DECLTYPE \ |
| 607 | 610 | -DSQLITE_OMIT_DEPRECATED \ |
| 608 | - -DSQLITE_OMIT_GET_TABLE \ | |
| 609 | 611 | -DSQLITE_OMIT_PROGRESS_CALLBACK \ |
| 610 | 612 | -DSQLITE_OMIT_SHARED_CACHE \ |
| 611 | 613 | -DSQLITE_OMIT_LOAD_EXTENSION \ |
| 612 | 614 | -DSQLITE_MAX_EXPR_DEPTH=0 \ |
| 613 | 615 | -DSQLITE_USE_ALLOCA \ |
| @@ -631,11 +633,10 @@ | ||
| 631 | 633 | -DSQLITE_DEFAULT_MEMSTATUS=0 \ |
| 632 | 634 | -DSQLITE_DEFAULT_WAL_SYNCHRONOUS=1 \ |
| 633 | 635 | -DSQLITE_LIKE_DOESNT_MATCH_BLOBS \ |
| 634 | 636 | -DSQLITE_OMIT_DECLTYPE \ |
| 635 | 637 | -DSQLITE_OMIT_DEPRECATED \ |
| 636 | - -DSQLITE_OMIT_GET_TABLE \ | |
| 637 | 638 | -DSQLITE_OMIT_PROGRESS_CALLBACK \ |
| 638 | 639 | -DSQLITE_OMIT_SHARED_CACHE \ |
| 639 | 640 | -DSQLITE_OMIT_LOAD_EXTENSION \ |
| 640 | 641 | -DSQLITE_MAX_EXPR_DEPTH=0 \ |
| 641 | 642 | -DSQLITE_USE_ALLOCA \ |
| @@ -737,10 +738,11 @@ | ||
| 737 | 738 | $(OBJDIR)/builtin_data.h: $(OBJDIR)/mkbuiltin $(EXTRA_FILES) |
| 738 | 739 | $(OBJDIR)/mkbuiltin --prefix $(SRCDIR)/ $(EXTRA_FILES) >$@ |
| 739 | 740 | |
| 740 | 741 | $(OBJDIR)/headers: $(OBJDIR)/page_index.h $(OBJDIR)/builtin_data.h $(OBJDIR)/makeheaders $(OBJDIR)/VERSION.h |
| 741 | 742 | $(OBJDIR)/makeheaders $(OBJDIR)/add_.c:$(OBJDIR)/add.h \ |
| 743 | + $(OBJDIR)/ajax_.c:$(OBJDIR)/ajax.h \ | |
| 742 | 744 | $(OBJDIR)/alerts_.c:$(OBJDIR)/alerts.h \ |
| 743 | 745 | $(OBJDIR)/allrepo_.c:$(OBJDIR)/allrepo.h \ |
| 744 | 746 | $(OBJDIR)/attach_.c:$(OBJDIR)/attach.h \ |
| 745 | 747 | $(OBJDIR)/backlink_.c:$(OBJDIR)/backlink.h \ |
| 746 | 748 | $(OBJDIR)/backoffice_.c:$(OBJDIR)/backoffice.h \ |
| @@ -892,10 +894,18 @@ | ||
| 892 | 894 | |
| 893 | 895 | $(OBJDIR)/add.o: $(OBJDIR)/add_.c $(OBJDIR)/add.h $(SRCDIR)/config.h |
| 894 | 896 | $(XTCC) -o $(OBJDIR)/add.o -c $(OBJDIR)/add_.c |
| 895 | 897 | |
| 896 | 898 | $(OBJDIR)/add.h: $(OBJDIR)/headers |
| 899 | + | |
| 900 | +$(OBJDIR)/ajax_.c: $(SRCDIR)/ajax.c $(OBJDIR)/translate | |
| 901 | + $(OBJDIR)/translate $(SRCDIR)/ajax.c >$@ | |
| 902 | + | |
| 903 | +$(OBJDIR)/ajax.o: $(OBJDIR)/ajax_.c $(OBJDIR)/ajax.h $(SRCDIR)/config.h | |
| 904 | + $(XTCC) -o $(OBJDIR)/ajax.o -c $(OBJDIR)/ajax_.c | |
| 905 | + | |
| 906 | +$(OBJDIR)/ajax.h: $(OBJDIR)/headers | |
| 897 | 907 | |
| 898 | 908 | $(OBJDIR)/alerts_.c: $(SRCDIR)/alerts.c $(OBJDIR)/translate |
| 899 | 909 | $(OBJDIR)/translate $(SRCDIR)/alerts.c >$@ |
| 900 | 910 | |
| 901 | 911 | $(OBJDIR)/alerts.o: $(OBJDIR)/alerts_.c $(OBJDIR)/alerts.h $(SRCDIR)/config.h |
| 902 | 912 |
| --- src/main.mk | |
| +++ src/main.mk | |
| @@ -15,10 +15,11 @@ | |
| 15 | |
| 16 | TESTFLAGS := -quiet |
| 17 | |
| 18 | SRC = \ |
| 19 | $(SRCDIR)/add.c \ |
| 20 | $(SRCDIR)/alerts.c \ |
| 21 | $(SRCDIR)/allrepo.c \ |
| 22 | $(SRCDIR)/attach.c \ |
| 23 | $(SRCDIR)/backlink.c \ |
| 24 | $(SRCDIR)/backoffice.c \ |
| @@ -260,10 +261,11 @@ | |
| 260 | $(SRCDIR)/useredit.js \ |
| 261 | $(SRCDIR)/wiki.wiki |
| 262 | |
| 263 | TRANS_SRC = \ |
| 264 | $(OBJDIR)/add_.c \ |
| 265 | $(OBJDIR)/alerts_.c \ |
| 266 | $(OBJDIR)/allrepo_.c \ |
| 267 | $(OBJDIR)/attach_.c \ |
| 268 | $(OBJDIR)/backlink_.c \ |
| 269 | $(OBJDIR)/backoffice_.c \ |
| @@ -404,10 +406,11 @@ | |
| 404 | $(OBJDIR)/xfersetup_.c \ |
| 405 | $(OBJDIR)/zip_.c |
| 406 | |
| 407 | OBJ = \ |
| 408 | $(OBJDIR)/add.o \ |
| 409 | $(OBJDIR)/alerts.o \ |
| 410 | $(OBJDIR)/allrepo.o \ |
| 411 | $(OBJDIR)/attach.o \ |
| 412 | $(OBJDIR)/backlink.o \ |
| 413 | $(OBJDIR)/backoffice.o \ |
| @@ -603,11 +606,10 @@ | |
| 603 | -DSQLITE_DEFAULT_MEMSTATUS=0 \ |
| 604 | -DSQLITE_DEFAULT_WAL_SYNCHRONOUS=1 \ |
| 605 | -DSQLITE_LIKE_DOESNT_MATCH_BLOBS \ |
| 606 | -DSQLITE_OMIT_DECLTYPE \ |
| 607 | -DSQLITE_OMIT_DEPRECATED \ |
| 608 | -DSQLITE_OMIT_GET_TABLE \ |
| 609 | -DSQLITE_OMIT_PROGRESS_CALLBACK \ |
| 610 | -DSQLITE_OMIT_SHARED_CACHE \ |
| 611 | -DSQLITE_OMIT_LOAD_EXTENSION \ |
| 612 | -DSQLITE_MAX_EXPR_DEPTH=0 \ |
| 613 | -DSQLITE_USE_ALLOCA \ |
| @@ -631,11 +633,10 @@ | |
| 631 | -DSQLITE_DEFAULT_MEMSTATUS=0 \ |
| 632 | -DSQLITE_DEFAULT_WAL_SYNCHRONOUS=1 \ |
| 633 | -DSQLITE_LIKE_DOESNT_MATCH_BLOBS \ |
| 634 | -DSQLITE_OMIT_DECLTYPE \ |
| 635 | -DSQLITE_OMIT_DEPRECATED \ |
| 636 | -DSQLITE_OMIT_GET_TABLE \ |
| 637 | -DSQLITE_OMIT_PROGRESS_CALLBACK \ |
| 638 | -DSQLITE_OMIT_SHARED_CACHE \ |
| 639 | -DSQLITE_OMIT_LOAD_EXTENSION \ |
| 640 | -DSQLITE_MAX_EXPR_DEPTH=0 \ |
| 641 | -DSQLITE_USE_ALLOCA \ |
| @@ -737,10 +738,11 @@ | |
| 737 | $(OBJDIR)/builtin_data.h: $(OBJDIR)/mkbuiltin $(EXTRA_FILES) |
| 738 | $(OBJDIR)/mkbuiltin --prefix $(SRCDIR)/ $(EXTRA_FILES) >$@ |
| 739 | |
| 740 | $(OBJDIR)/headers: $(OBJDIR)/page_index.h $(OBJDIR)/builtin_data.h $(OBJDIR)/makeheaders $(OBJDIR)/VERSION.h |
| 741 | $(OBJDIR)/makeheaders $(OBJDIR)/add_.c:$(OBJDIR)/add.h \ |
| 742 | $(OBJDIR)/alerts_.c:$(OBJDIR)/alerts.h \ |
| 743 | $(OBJDIR)/allrepo_.c:$(OBJDIR)/allrepo.h \ |
| 744 | $(OBJDIR)/attach_.c:$(OBJDIR)/attach.h \ |
| 745 | $(OBJDIR)/backlink_.c:$(OBJDIR)/backlink.h \ |
| 746 | $(OBJDIR)/backoffice_.c:$(OBJDIR)/backoffice.h \ |
| @@ -892,10 +894,18 @@ | |
| 892 | |
| 893 | $(OBJDIR)/add.o: $(OBJDIR)/add_.c $(OBJDIR)/add.h $(SRCDIR)/config.h |
| 894 | $(XTCC) -o $(OBJDIR)/add.o -c $(OBJDIR)/add_.c |
| 895 | |
| 896 | $(OBJDIR)/add.h: $(OBJDIR)/headers |
| 897 | |
| 898 | $(OBJDIR)/alerts_.c: $(SRCDIR)/alerts.c $(OBJDIR)/translate |
| 899 | $(OBJDIR)/translate $(SRCDIR)/alerts.c >$@ |
| 900 | |
| 901 | $(OBJDIR)/alerts.o: $(OBJDIR)/alerts_.c $(OBJDIR)/alerts.h $(SRCDIR)/config.h |
| 902 |
| --- src/main.mk | |
| +++ src/main.mk | |
| @@ -15,10 +15,11 @@ | |
| 15 | |
| 16 | TESTFLAGS := -quiet |
| 17 | |
| 18 | SRC = \ |
| 19 | $(SRCDIR)/add.c \ |
| 20 | $(SRCDIR)/ajax.c \ |
| 21 | $(SRCDIR)/alerts.c \ |
| 22 | $(SRCDIR)/allrepo.c \ |
| 23 | $(SRCDIR)/attach.c \ |
| 24 | $(SRCDIR)/backlink.c \ |
| 25 | $(SRCDIR)/backoffice.c \ |
| @@ -260,10 +261,11 @@ | |
| 261 | $(SRCDIR)/useredit.js \ |
| 262 | $(SRCDIR)/wiki.wiki |
| 263 | |
| 264 | TRANS_SRC = \ |
| 265 | $(OBJDIR)/add_.c \ |
| 266 | $(OBJDIR)/ajax_.c \ |
| 267 | $(OBJDIR)/alerts_.c \ |
| 268 | $(OBJDIR)/allrepo_.c \ |
| 269 | $(OBJDIR)/attach_.c \ |
| 270 | $(OBJDIR)/backlink_.c \ |
| 271 | $(OBJDIR)/backoffice_.c \ |
| @@ -404,10 +406,11 @@ | |
| 406 | $(OBJDIR)/xfersetup_.c \ |
| 407 | $(OBJDIR)/zip_.c |
| 408 | |
| 409 | OBJ = \ |
| 410 | $(OBJDIR)/add.o \ |
| 411 | $(OBJDIR)/ajax.o \ |
| 412 | $(OBJDIR)/alerts.o \ |
| 413 | $(OBJDIR)/allrepo.o \ |
| 414 | $(OBJDIR)/attach.o \ |
| 415 | $(OBJDIR)/backlink.o \ |
| 416 | $(OBJDIR)/backoffice.o \ |
| @@ -603,11 +606,10 @@ | |
| 606 | -DSQLITE_DEFAULT_MEMSTATUS=0 \ |
| 607 | -DSQLITE_DEFAULT_WAL_SYNCHRONOUS=1 \ |
| 608 | -DSQLITE_LIKE_DOESNT_MATCH_BLOBS \ |
| 609 | -DSQLITE_OMIT_DECLTYPE \ |
| 610 | -DSQLITE_OMIT_DEPRECATED \ |
| 611 | -DSQLITE_OMIT_PROGRESS_CALLBACK \ |
| 612 | -DSQLITE_OMIT_SHARED_CACHE \ |
| 613 | -DSQLITE_OMIT_LOAD_EXTENSION \ |
| 614 | -DSQLITE_MAX_EXPR_DEPTH=0 \ |
| 615 | -DSQLITE_USE_ALLOCA \ |
| @@ -631,11 +633,10 @@ | |
| 633 | -DSQLITE_DEFAULT_MEMSTATUS=0 \ |
| 634 | -DSQLITE_DEFAULT_WAL_SYNCHRONOUS=1 \ |
| 635 | -DSQLITE_LIKE_DOESNT_MATCH_BLOBS \ |
| 636 | -DSQLITE_OMIT_DECLTYPE \ |
| 637 | -DSQLITE_OMIT_DEPRECATED \ |
| 638 | -DSQLITE_OMIT_PROGRESS_CALLBACK \ |
| 639 | -DSQLITE_OMIT_SHARED_CACHE \ |
| 640 | -DSQLITE_OMIT_LOAD_EXTENSION \ |
| 641 | -DSQLITE_MAX_EXPR_DEPTH=0 \ |
| 642 | -DSQLITE_USE_ALLOCA \ |
| @@ -737,10 +738,11 @@ | |
| 738 | $(OBJDIR)/builtin_data.h: $(OBJDIR)/mkbuiltin $(EXTRA_FILES) |
| 739 | $(OBJDIR)/mkbuiltin --prefix $(SRCDIR)/ $(EXTRA_FILES) >$@ |
| 740 | |
| 741 | $(OBJDIR)/headers: $(OBJDIR)/page_index.h $(OBJDIR)/builtin_data.h $(OBJDIR)/makeheaders $(OBJDIR)/VERSION.h |
| 742 | $(OBJDIR)/makeheaders $(OBJDIR)/add_.c:$(OBJDIR)/add.h \ |
| 743 | $(OBJDIR)/ajax_.c:$(OBJDIR)/ajax.h \ |
| 744 | $(OBJDIR)/alerts_.c:$(OBJDIR)/alerts.h \ |
| 745 | $(OBJDIR)/allrepo_.c:$(OBJDIR)/allrepo.h \ |
| 746 | $(OBJDIR)/attach_.c:$(OBJDIR)/attach.h \ |
| 747 | $(OBJDIR)/backlink_.c:$(OBJDIR)/backlink.h \ |
| 748 | $(OBJDIR)/backoffice_.c:$(OBJDIR)/backoffice.h \ |
| @@ -892,10 +894,18 @@ | |
| 894 | |
| 895 | $(OBJDIR)/add.o: $(OBJDIR)/add_.c $(OBJDIR)/add.h $(SRCDIR)/config.h |
| 896 | $(XTCC) -o $(OBJDIR)/add.o -c $(OBJDIR)/add_.c |
| 897 | |
| 898 | $(OBJDIR)/add.h: $(OBJDIR)/headers |
| 899 | |
| 900 | $(OBJDIR)/ajax_.c: $(SRCDIR)/ajax.c $(OBJDIR)/translate |
| 901 | $(OBJDIR)/translate $(SRCDIR)/ajax.c >$@ |
| 902 | |
| 903 | $(OBJDIR)/ajax.o: $(OBJDIR)/ajax_.c $(OBJDIR)/ajax.h $(SRCDIR)/config.h |
| 904 | $(XTCC) -o $(OBJDIR)/ajax.o -c $(OBJDIR)/ajax_.c |
| 905 | |
| 906 | $(OBJDIR)/ajax.h: $(OBJDIR)/headers |
| 907 | |
| 908 | $(OBJDIR)/alerts_.c: $(SRCDIR)/alerts.c $(OBJDIR)/translate |
| 909 | $(OBJDIR)/translate $(SRCDIR)/alerts.c >$@ |
| 910 | |
| 911 | $(OBJDIR)/alerts.o: $(OBJDIR)/alerts_.c $(OBJDIR)/alerts.h $(SRCDIR)/config.h |
| 912 |
+12
-2
| --- src/main.mk | ||
| +++ src/main.mk | ||
| @@ -15,10 +15,11 @@ | ||
| 15 | 15 | |
| 16 | 16 | TESTFLAGS := -quiet |
| 17 | 17 | |
| 18 | 18 | SRC = \ |
| 19 | 19 | $(SRCDIR)/add.c \ |
| 20 | + $(SRCDIR)/ajax.c \ | |
| 20 | 21 | $(SRCDIR)/alerts.c \ |
| 21 | 22 | $(SRCDIR)/allrepo.c \ |
| 22 | 23 | $(SRCDIR)/attach.c \ |
| 23 | 24 | $(SRCDIR)/backlink.c \ |
| 24 | 25 | $(SRCDIR)/backoffice.c \ |
| @@ -260,10 +261,11 @@ | ||
| 260 | 261 | $(SRCDIR)/useredit.js \ |
| 261 | 262 | $(SRCDIR)/wiki.wiki |
| 262 | 263 | |
| 263 | 264 | TRANS_SRC = \ |
| 264 | 265 | $(OBJDIR)/add_.c \ |
| 266 | + $(OBJDIR)/ajax_.c \ | |
| 265 | 267 | $(OBJDIR)/alerts_.c \ |
| 266 | 268 | $(OBJDIR)/allrepo_.c \ |
| 267 | 269 | $(OBJDIR)/attach_.c \ |
| 268 | 270 | $(OBJDIR)/backlink_.c \ |
| 269 | 271 | $(OBJDIR)/backoffice_.c \ |
| @@ -404,10 +406,11 @@ | ||
| 404 | 406 | $(OBJDIR)/xfersetup_.c \ |
| 405 | 407 | $(OBJDIR)/zip_.c |
| 406 | 408 | |
| 407 | 409 | OBJ = \ |
| 408 | 410 | $(OBJDIR)/add.o \ |
| 411 | + $(OBJDIR)/ajax.o \ | |
| 409 | 412 | $(OBJDIR)/alerts.o \ |
| 410 | 413 | $(OBJDIR)/allrepo.o \ |
| 411 | 414 | $(OBJDIR)/attach.o \ |
| 412 | 415 | $(OBJDIR)/backlink.o \ |
| 413 | 416 | $(OBJDIR)/backoffice.o \ |
| @@ -603,11 +606,10 @@ | ||
| 603 | 606 | -DSQLITE_DEFAULT_MEMSTATUS=0 \ |
| 604 | 607 | -DSQLITE_DEFAULT_WAL_SYNCHRONOUS=1 \ |
| 605 | 608 | -DSQLITE_LIKE_DOESNT_MATCH_BLOBS \ |
| 606 | 609 | -DSQLITE_OMIT_DECLTYPE \ |
| 607 | 610 | -DSQLITE_OMIT_DEPRECATED \ |
| 608 | - -DSQLITE_OMIT_GET_TABLE \ | |
| 609 | 611 | -DSQLITE_OMIT_PROGRESS_CALLBACK \ |
| 610 | 612 | -DSQLITE_OMIT_SHARED_CACHE \ |
| 611 | 613 | -DSQLITE_OMIT_LOAD_EXTENSION \ |
| 612 | 614 | -DSQLITE_MAX_EXPR_DEPTH=0 \ |
| 613 | 615 | -DSQLITE_USE_ALLOCA \ |
| @@ -631,11 +633,10 @@ | ||
| 631 | 633 | -DSQLITE_DEFAULT_MEMSTATUS=0 \ |
| 632 | 634 | -DSQLITE_DEFAULT_WAL_SYNCHRONOUS=1 \ |
| 633 | 635 | -DSQLITE_LIKE_DOESNT_MATCH_BLOBS \ |
| 634 | 636 | -DSQLITE_OMIT_DECLTYPE \ |
| 635 | 637 | -DSQLITE_OMIT_DEPRECATED \ |
| 636 | - -DSQLITE_OMIT_GET_TABLE \ | |
| 637 | 638 | -DSQLITE_OMIT_PROGRESS_CALLBACK \ |
| 638 | 639 | -DSQLITE_OMIT_SHARED_CACHE \ |
| 639 | 640 | -DSQLITE_OMIT_LOAD_EXTENSION \ |
| 640 | 641 | -DSQLITE_MAX_EXPR_DEPTH=0 \ |
| 641 | 642 | -DSQLITE_USE_ALLOCA \ |
| @@ -737,10 +738,11 @@ | ||
| 737 | 738 | $(OBJDIR)/builtin_data.h: $(OBJDIR)/mkbuiltin $(EXTRA_FILES) |
| 738 | 739 | $(OBJDIR)/mkbuiltin --prefix $(SRCDIR)/ $(EXTRA_FILES) >$@ |
| 739 | 740 | |
| 740 | 741 | $(OBJDIR)/headers: $(OBJDIR)/page_index.h $(OBJDIR)/builtin_data.h $(OBJDIR)/makeheaders $(OBJDIR)/VERSION.h |
| 741 | 742 | $(OBJDIR)/makeheaders $(OBJDIR)/add_.c:$(OBJDIR)/add.h \ |
| 743 | + $(OBJDIR)/ajax_.c:$(OBJDIR)/ajax.h \ | |
| 742 | 744 | $(OBJDIR)/alerts_.c:$(OBJDIR)/alerts.h \ |
| 743 | 745 | $(OBJDIR)/allrepo_.c:$(OBJDIR)/allrepo.h \ |
| 744 | 746 | $(OBJDIR)/attach_.c:$(OBJDIR)/attach.h \ |
| 745 | 747 | $(OBJDIR)/backlink_.c:$(OBJDIR)/backlink.h \ |
| 746 | 748 | $(OBJDIR)/backoffice_.c:$(OBJDIR)/backoffice.h \ |
| @@ -892,10 +894,18 @@ | ||
| 892 | 894 | |
| 893 | 895 | $(OBJDIR)/add.o: $(OBJDIR)/add_.c $(OBJDIR)/add.h $(SRCDIR)/config.h |
| 894 | 896 | $(XTCC) -o $(OBJDIR)/add.o -c $(OBJDIR)/add_.c |
| 895 | 897 | |
| 896 | 898 | $(OBJDIR)/add.h: $(OBJDIR)/headers |
| 899 | + | |
| 900 | +$(OBJDIR)/ajax_.c: $(SRCDIR)/ajax.c $(OBJDIR)/translate | |
| 901 | + $(OBJDIR)/translate $(SRCDIR)/ajax.c >$@ | |
| 902 | + | |
| 903 | +$(OBJDIR)/ajax.o: $(OBJDIR)/ajax_.c $(OBJDIR)/ajax.h $(SRCDIR)/config.h | |
| 904 | + $(XTCC) -o $(OBJDIR)/ajax.o -c $(OBJDIR)/ajax_.c | |
| 905 | + | |
| 906 | +$(OBJDIR)/ajax.h: $(OBJDIR)/headers | |
| 897 | 907 | |
| 898 | 908 | $(OBJDIR)/alerts_.c: $(SRCDIR)/alerts.c $(OBJDIR)/translate |
| 899 | 909 | $(OBJDIR)/translate $(SRCDIR)/alerts.c >$@ |
| 900 | 910 | |
| 901 | 911 | $(OBJDIR)/alerts.o: $(OBJDIR)/alerts_.c $(OBJDIR)/alerts.h $(SRCDIR)/config.h |
| 902 | 912 |
| --- src/main.mk | |
| +++ src/main.mk | |
| @@ -15,10 +15,11 @@ | |
| 15 | |
| 16 | TESTFLAGS := -quiet |
| 17 | |
| 18 | SRC = \ |
| 19 | $(SRCDIR)/add.c \ |
| 20 | $(SRCDIR)/alerts.c \ |
| 21 | $(SRCDIR)/allrepo.c \ |
| 22 | $(SRCDIR)/attach.c \ |
| 23 | $(SRCDIR)/backlink.c \ |
| 24 | $(SRCDIR)/backoffice.c \ |
| @@ -260,10 +261,11 @@ | |
| 260 | $(SRCDIR)/useredit.js \ |
| 261 | $(SRCDIR)/wiki.wiki |
| 262 | |
| 263 | TRANS_SRC = \ |
| 264 | $(OBJDIR)/add_.c \ |
| 265 | $(OBJDIR)/alerts_.c \ |
| 266 | $(OBJDIR)/allrepo_.c \ |
| 267 | $(OBJDIR)/attach_.c \ |
| 268 | $(OBJDIR)/backlink_.c \ |
| 269 | $(OBJDIR)/backoffice_.c \ |
| @@ -404,10 +406,11 @@ | |
| 404 | $(OBJDIR)/xfersetup_.c \ |
| 405 | $(OBJDIR)/zip_.c |
| 406 | |
| 407 | OBJ = \ |
| 408 | $(OBJDIR)/add.o \ |
| 409 | $(OBJDIR)/alerts.o \ |
| 410 | $(OBJDIR)/allrepo.o \ |
| 411 | $(OBJDIR)/attach.o \ |
| 412 | $(OBJDIR)/backlink.o \ |
| 413 | $(OBJDIR)/backoffice.o \ |
| @@ -603,11 +606,10 @@ | |
| 603 | -DSQLITE_DEFAULT_MEMSTATUS=0 \ |
| 604 | -DSQLITE_DEFAULT_WAL_SYNCHRONOUS=1 \ |
| 605 | -DSQLITE_LIKE_DOESNT_MATCH_BLOBS \ |
| 606 | -DSQLITE_OMIT_DECLTYPE \ |
| 607 | -DSQLITE_OMIT_DEPRECATED \ |
| 608 | -DSQLITE_OMIT_GET_TABLE \ |
| 609 | -DSQLITE_OMIT_PROGRESS_CALLBACK \ |
| 610 | -DSQLITE_OMIT_SHARED_CACHE \ |
| 611 | -DSQLITE_OMIT_LOAD_EXTENSION \ |
| 612 | -DSQLITE_MAX_EXPR_DEPTH=0 \ |
| 613 | -DSQLITE_USE_ALLOCA \ |
| @@ -631,11 +633,10 @@ | |
| 631 | -DSQLITE_DEFAULT_MEMSTATUS=0 \ |
| 632 | -DSQLITE_DEFAULT_WAL_SYNCHRONOUS=1 \ |
| 633 | -DSQLITE_LIKE_DOESNT_MATCH_BLOBS \ |
| 634 | -DSQLITE_OMIT_DECLTYPE \ |
| 635 | -DSQLITE_OMIT_DEPRECATED \ |
| 636 | -DSQLITE_OMIT_GET_TABLE \ |
| 637 | -DSQLITE_OMIT_PROGRESS_CALLBACK \ |
| 638 | -DSQLITE_OMIT_SHARED_CACHE \ |
| 639 | -DSQLITE_OMIT_LOAD_EXTENSION \ |
| 640 | -DSQLITE_MAX_EXPR_DEPTH=0 \ |
| 641 | -DSQLITE_USE_ALLOCA \ |
| @@ -737,10 +738,11 @@ | |
| 737 | $(OBJDIR)/builtin_data.h: $(OBJDIR)/mkbuiltin $(EXTRA_FILES) |
| 738 | $(OBJDIR)/mkbuiltin --prefix $(SRCDIR)/ $(EXTRA_FILES) >$@ |
| 739 | |
| 740 | $(OBJDIR)/headers: $(OBJDIR)/page_index.h $(OBJDIR)/builtin_data.h $(OBJDIR)/makeheaders $(OBJDIR)/VERSION.h |
| 741 | $(OBJDIR)/makeheaders $(OBJDIR)/add_.c:$(OBJDIR)/add.h \ |
| 742 | $(OBJDIR)/alerts_.c:$(OBJDIR)/alerts.h \ |
| 743 | $(OBJDIR)/allrepo_.c:$(OBJDIR)/allrepo.h \ |
| 744 | $(OBJDIR)/attach_.c:$(OBJDIR)/attach.h \ |
| 745 | $(OBJDIR)/backlink_.c:$(OBJDIR)/backlink.h \ |
| 746 | $(OBJDIR)/backoffice_.c:$(OBJDIR)/backoffice.h \ |
| @@ -892,10 +894,18 @@ | |
| 892 | |
| 893 | $(OBJDIR)/add.o: $(OBJDIR)/add_.c $(OBJDIR)/add.h $(SRCDIR)/config.h |
| 894 | $(XTCC) -o $(OBJDIR)/add.o -c $(OBJDIR)/add_.c |
| 895 | |
| 896 | $(OBJDIR)/add.h: $(OBJDIR)/headers |
| 897 | |
| 898 | $(OBJDIR)/alerts_.c: $(SRCDIR)/alerts.c $(OBJDIR)/translate |
| 899 | $(OBJDIR)/translate $(SRCDIR)/alerts.c >$@ |
| 900 | |
| 901 | $(OBJDIR)/alerts.o: $(OBJDIR)/alerts_.c $(OBJDIR)/alerts.h $(SRCDIR)/config.h |
| 902 |
| --- src/main.mk | |
| +++ src/main.mk | |
| @@ -15,10 +15,11 @@ | |
| 15 | |
| 16 | TESTFLAGS := -quiet |
| 17 | |
| 18 | SRC = \ |
| 19 | $(SRCDIR)/add.c \ |
| 20 | $(SRCDIR)/ajax.c \ |
| 21 | $(SRCDIR)/alerts.c \ |
| 22 | $(SRCDIR)/allrepo.c \ |
| 23 | $(SRCDIR)/attach.c \ |
| 24 | $(SRCDIR)/backlink.c \ |
| 25 | $(SRCDIR)/backoffice.c \ |
| @@ -260,10 +261,11 @@ | |
| 261 | $(SRCDIR)/useredit.js \ |
| 262 | $(SRCDIR)/wiki.wiki |
| 263 | |
| 264 | TRANS_SRC = \ |
| 265 | $(OBJDIR)/add_.c \ |
| 266 | $(OBJDIR)/ajax_.c \ |
| 267 | $(OBJDIR)/alerts_.c \ |
| 268 | $(OBJDIR)/allrepo_.c \ |
| 269 | $(OBJDIR)/attach_.c \ |
| 270 | $(OBJDIR)/backlink_.c \ |
| 271 | $(OBJDIR)/backoffice_.c \ |
| @@ -404,10 +406,11 @@ | |
| 406 | $(OBJDIR)/xfersetup_.c \ |
| 407 | $(OBJDIR)/zip_.c |
| 408 | |
| 409 | OBJ = \ |
| 410 | $(OBJDIR)/add.o \ |
| 411 | $(OBJDIR)/ajax.o \ |
| 412 | $(OBJDIR)/alerts.o \ |
| 413 | $(OBJDIR)/allrepo.o \ |
| 414 | $(OBJDIR)/attach.o \ |
| 415 | $(OBJDIR)/backlink.o \ |
| 416 | $(OBJDIR)/backoffice.o \ |
| @@ -603,11 +606,10 @@ | |
| 606 | -DSQLITE_DEFAULT_MEMSTATUS=0 \ |
| 607 | -DSQLITE_DEFAULT_WAL_SYNCHRONOUS=1 \ |
| 608 | -DSQLITE_LIKE_DOESNT_MATCH_BLOBS \ |
| 609 | -DSQLITE_OMIT_DECLTYPE \ |
| 610 | -DSQLITE_OMIT_DEPRECATED \ |
| 611 | -DSQLITE_OMIT_PROGRESS_CALLBACK \ |
| 612 | -DSQLITE_OMIT_SHARED_CACHE \ |
| 613 | -DSQLITE_OMIT_LOAD_EXTENSION \ |
| 614 | -DSQLITE_MAX_EXPR_DEPTH=0 \ |
| 615 | -DSQLITE_USE_ALLOCA \ |
| @@ -631,11 +633,10 @@ | |
| 633 | -DSQLITE_DEFAULT_MEMSTATUS=0 \ |
| 634 | -DSQLITE_DEFAULT_WAL_SYNCHRONOUS=1 \ |
| 635 | -DSQLITE_LIKE_DOESNT_MATCH_BLOBS \ |
| 636 | -DSQLITE_OMIT_DECLTYPE \ |
| 637 | -DSQLITE_OMIT_DEPRECATED \ |
| 638 | -DSQLITE_OMIT_PROGRESS_CALLBACK \ |
| 639 | -DSQLITE_OMIT_SHARED_CACHE \ |
| 640 | -DSQLITE_OMIT_LOAD_EXTENSION \ |
| 641 | -DSQLITE_MAX_EXPR_DEPTH=0 \ |
| 642 | -DSQLITE_USE_ALLOCA \ |
| @@ -737,10 +738,11 @@ | |
| 738 | $(OBJDIR)/builtin_data.h: $(OBJDIR)/mkbuiltin $(EXTRA_FILES) |
| 739 | $(OBJDIR)/mkbuiltin --prefix $(SRCDIR)/ $(EXTRA_FILES) >$@ |
| 740 | |
| 741 | $(OBJDIR)/headers: $(OBJDIR)/page_index.h $(OBJDIR)/builtin_data.h $(OBJDIR)/makeheaders $(OBJDIR)/VERSION.h |
| 742 | $(OBJDIR)/makeheaders $(OBJDIR)/add_.c:$(OBJDIR)/add.h \ |
| 743 | $(OBJDIR)/ajax_.c:$(OBJDIR)/ajax.h \ |
| 744 | $(OBJDIR)/alerts_.c:$(OBJDIR)/alerts.h \ |
| 745 | $(OBJDIR)/allrepo_.c:$(OBJDIR)/allrepo.h \ |
| 746 | $(OBJDIR)/attach_.c:$(OBJDIR)/attach.h \ |
| 747 | $(OBJDIR)/backlink_.c:$(OBJDIR)/backlink.h \ |
| 748 | $(OBJDIR)/backoffice_.c:$(OBJDIR)/backoffice.h \ |
| @@ -892,10 +894,18 @@ | |
| 894 | |
| 895 | $(OBJDIR)/add.o: $(OBJDIR)/add_.c $(OBJDIR)/add.h $(SRCDIR)/config.h |
| 896 | $(XTCC) -o $(OBJDIR)/add.o -c $(OBJDIR)/add_.c |
| 897 | |
| 898 | $(OBJDIR)/add.h: $(OBJDIR)/headers |
| 899 | |
| 900 | $(OBJDIR)/ajax_.c: $(SRCDIR)/ajax.c $(OBJDIR)/translate |
| 901 | $(OBJDIR)/translate $(SRCDIR)/ajax.c >$@ |
| 902 | |
| 903 | $(OBJDIR)/ajax.o: $(OBJDIR)/ajax_.c $(OBJDIR)/ajax.h $(SRCDIR)/config.h |
| 904 | $(XTCC) -o $(OBJDIR)/ajax.o -c $(OBJDIR)/ajax_.c |
| 905 | |
| 906 | $(OBJDIR)/ajax.h: $(OBJDIR)/headers |
| 907 | |
| 908 | $(OBJDIR)/alerts_.c: $(SRCDIR)/alerts.c $(OBJDIR)/translate |
| 909 | $(OBJDIR)/translate $(SRCDIR)/alerts.c >$@ |
| 910 | |
| 911 | $(OBJDIR)/alerts.o: $(OBJDIR)/alerts_.c $(OBJDIR)/alerts.h $(SRCDIR)/config.h |
| 912 |
+200
-154
| --- src/makemake.tcl | ||
| +++ src/makemake.tcl | ||
| @@ -26,10 +26,11 @@ | ||
| 26 | 26 | # Set the separate extra_files variable further down for how to add non-C |
| 27 | 27 | # files, such as string and BLOB resources. |
| 28 | 28 | # |
| 29 | 29 | set src { |
| 30 | 30 | add |
| 31 | + ajax | |
| 31 | 32 | alerts |
| 32 | 33 | allrepo |
| 33 | 34 | attach |
| 34 | 35 | backlink |
| 35 | 36 | backoffice |
| @@ -193,11 +194,10 @@ | ||
| 193 | 194 | -DSQLITE_DEFAULT_MEMSTATUS=0 |
| 194 | 195 | -DSQLITE_DEFAULT_WAL_SYNCHRONOUS=1 |
| 195 | 196 | -DSQLITE_LIKE_DOESNT_MATCH_BLOBS |
| 196 | 197 | -DSQLITE_OMIT_DECLTYPE |
| 197 | 198 | -DSQLITE_OMIT_DEPRECATED |
| 198 | - -DSQLITE_OMIT_GET_TABLE | |
| 199 | 199 | -DSQLITE_OMIT_PROGRESS_CALLBACK |
| 200 | 200 | -DSQLITE_OMIT_SHARED_CACHE |
| 201 | 201 | -DSQLITE_OMIT_LOAD_EXTENSION |
| 202 | 202 | -DSQLITE_MAX_EXPR_DEPTH=0 |
| 203 | 203 | -DSQLITE_USE_ALLOCA |
| @@ -475,10 +475,11 @@ | ||
| 475 | 475 | writeln "\$(OBJDIR)/headers:\t\$(OBJDIR)/page_index.h \$(OBJDIR)/builtin_data.h \$(OBJDIR)/makeheaders \$(OBJDIR)/VERSION.h" |
| 476 | 476 | writeln "\t\$(OBJDIR)/makeheaders $mhargs" |
| 477 | 477 | writeln "\ttouch \$(OBJDIR)/headers" |
| 478 | 478 | writeln "\$(OBJDIR)/headers: Makefile" |
| 479 | 479 | writeln "\$(OBJDIR)/json.o \$(OBJDIR)/json_artifact.o \$(OBJDIR)/json_branch.o \$(OBJDIR)/json_config.o \$(OBJDIR)/json_diff.o \$(OBJDIR)/json_dir.o \$(OBJDIR)/json_finfo.o \$(OBJDIR)/json_login.o \$(OBJDIR)/json_query.o \$(OBJDIR)/json_report.o \$(OBJDIR)/json_status.o \$(OBJDIR)/json_tag.o \$(OBJDIR)/json_timeline.o \$(OBJDIR)/json_user.o \$(OBJDIR)/json_wiki.o : \$(SRCDIR)/json_detail.h" |
| 480 | + | |
| 480 | 481 | writeln "Makefile:" |
| 481 | 482 | set extra_h(dispatch) " \$(OBJDIR)/page_index.h " |
| 482 | 483 | set extra_h(builtin) " \$(OBJDIR)/builtin_data.h " |
| 483 | 484 | |
| 484 | 485 | foreach s [lsort $src] { |
| @@ -1423,11 +1424,10 @@ | ||
| 1423 | 1424 | $(OBJDIR)\json_tag$O : $(SRCDIR)\json_detail.h |
| 1424 | 1425 | $(OBJDIR)\json_timeline$O : $(SRCDIR)\json_detail.h |
| 1425 | 1426 | $(OBJDIR)\json_user$O : $(SRCDIR)\json_detail.h |
| 1426 | 1427 | $(OBJDIR)\json_wiki$O : $(SRCDIR)\json_detail.h |
| 1427 | 1428 | |
| 1428 | - | |
| 1429 | 1429 | } |
| 1430 | 1430 | foreach s [lsort $src] { |
| 1431 | 1431 | writeln "\$(OBJDIR)\\$s\$O : ${s}_.c ${s}.h" |
| 1432 | 1432 | writeln "\t\$(TCC) -o\$@ -c ${s}_.c\n" |
| 1433 | 1433 | writeln "${s}_.c : \$(SRCDIR)\\$s.c" |
| @@ -1456,39 +1456,52 @@ | ||
| 1456 | 1456 | writeln {# |
| 1457 | 1457 | ############################################################################## |
| 1458 | 1458 | # WARNING: DO NOT EDIT, AUTOMATICALLY GENERATED FILE (SEE "src/makemake.tcl") |
| 1459 | 1459 | ############################################################################## |
| 1460 | 1460 | # |
| 1461 | -# This Makefile will only function correctly if used from a sub-directory | |
| 1462 | -# that is a direct child of the top-level directory for this project. | |
| 1463 | -# | |
| 1464 | -!if !exist("..\.fossil-settings") | |
| 1465 | -!error "Please change the current directory to the one containing this file." | |
| 1466 | -!endif | |
| 1467 | - | |
| 1468 | 1461 | # |
| 1469 | 1462 | # This file is automatically generated. Instead of editing this |
| 1470 | 1463 | # file, edit "makemake.tcl" then run "tclsh makemake.tcl" |
| 1471 | 1464 | # to regenerate this file. |
| 1472 | 1465 | # |
| 1473 | 1466 | B = .. |
| 1474 | -SRCDIR = $B\src | |
| 1475 | -OBJDIR = . | |
| 1476 | -OX = . | |
| 1467 | +SRCDIR = $(B)\src | |
| 1468 | +T = . | |
| 1469 | +OBJDIR = $(T) | |
| 1470 | +OX = $(OBJDIR) | |
| 1477 | 1471 | O = .obj |
| 1478 | 1472 | E = .exe |
| 1479 | 1473 | P = .pdb |
| 1480 | 1474 | |
| 1481 | -# Perl is only necessary if OpenSSL support is enabled and it must | |
| 1482 | -# be built from source code. The PERLDIR variable should point to | |
| 1483 | -# the directory containing the main Perl binary (i.e. "perl.exe"). | |
| 1484 | -PERLDIR = C:\Perl\bin | |
| 1475 | +INSTALLDIR = . | |
| 1476 | +!ifdef DESTDIR | |
| 1477 | +INSTALLDIR = $(DESTDIR)\$(INSTALLDIR) | |
| 1478 | +!endif | |
| 1479 | + | |
| 1480 | +# When building out of source, this Makefile needs to know the path to the base | |
| 1481 | +# top-level directory for this project. Pass it on NMAKE command line via make | |
| 1482 | +# variable B: | |
| 1483 | +# NMAKE /f "path\to\this\Makefile" B="path/to/fossil/root" | |
| 1484 | +# | |
| 1485 | +# NOTE: Make sure B path has no trailing backslash, UNIX-style path is OK too. | |
| 1486 | +# | |
| 1487 | +!if !exist("$(B)\.fossil-settings") | |
| 1488 | +!error Please specify path to project base directory: B="path/to/fossil" | |
| 1489 | +!endif | |
| 1490 | + | |
| 1491 | +# Perl is only necessary if OpenSSL support is enabled and it is built from | |
| 1492 | +# source code. The PERLDIR environment variable, if it exists, should point | |
| 1493 | +# to the directory containing the main Perl executable specified here (i.e. | |
| 1494 | +# "perl.exe"). | |
| 1485 | 1495 | PERL = perl.exe |
| 1486 | 1496 | |
| 1487 | 1497 | # Enable debugging symbols? |
| 1488 | 1498 | !ifndef DEBUG |
| 1489 | 1499 | DEBUG = 0 |
| 1500 | +!endif | |
| 1501 | +!ifdef FOSSIL_DEBUG | |
| 1502 | +DEBUG = 1 | |
| 1490 | 1503 | !endif |
| 1491 | 1504 | |
| 1492 | 1505 | # Build the OpenSSL libraries? |
| 1493 | 1506 | !ifndef FOSSIL_BUILD_SSL |
| 1494 | 1507 | FOSSIL_BUILD_SSL = 0 |
| @@ -1605,27 +1618,30 @@ | ||
| 1605 | 1618 | ZLIB = zdll.lib |
| 1606 | 1619 | !else |
| 1607 | 1620 | ZLIB = zlib.lib |
| 1608 | 1621 | !endif |
| 1609 | 1622 | |
| 1610 | -INCL = /I. /I$(SRCDIR) /I$B\win\include | |
| 1623 | +INCL = /I. /I"$(OX)" /I"$(SRCDIR)" /I"$(B)\win\include" | |
| 1611 | 1624 | |
| 1612 | 1625 | !if $(FOSSIL_ENABLE_MINIZ)==0 |
| 1613 | -INCL = $(INCL) /I$(ZINCDIR) | |
| 1626 | +INCL = $(INCL) /I"$(ZINCDIR)" | |
| 1614 | 1627 | !endif |
| 1615 | 1628 | |
| 1616 | 1629 | !if $(FOSSIL_ENABLE_SSL)!=0 |
| 1617 | -INCL = $(INCL) /I$(SSLINCDIR) | |
| 1630 | +INCL = $(INCL) /I"$(SSLINCDIR)" | |
| 1618 | 1631 | !endif |
| 1619 | 1632 | |
| 1620 | 1633 | !if $(FOSSIL_ENABLE_TCL)!=0 |
| 1621 | -INCL = $(INCL) /I$(TCLINCDIR) | |
| 1634 | +INCL = $(INCL) /I"$(TCLINCDIR)" | |
| 1622 | 1635 | !endif |
| 1623 | 1636 | |
| 1624 | 1637 | CFLAGS = /nologo |
| 1625 | 1638 | LDFLAGS = |
| 1626 | 1639 | |
| 1640 | +CFLAGS = $(CFLAGS) /D_CRT_SECURE_NO_DEPRECATE /D_CRT_SECURE_NO_WARNINGS | |
| 1641 | +CFLAGS = $(CFLAGS) /D_CRT_NONSTDC_NO_DEPRECATE /D_CRT_NONSTDC_NO_WARNINGS | |
| 1642 | + | |
| 1627 | 1643 | !if $(FOSSIL_DYNAMIC_BUILD)!=0 |
| 1628 | 1644 | LDFLAGS = $(LDFLAGS) /MANIFEST |
| 1629 | 1645 | !else |
| 1630 | 1646 | LDFLAGS = $(LDFLAGS) /NODEFAULTLIB:msvcrt /MANIFEST:NO |
| 1631 | 1647 | !endif |
| @@ -1654,11 +1670,11 @@ | ||
| 1654 | 1670 | CRTFLAGS = /MT |
| 1655 | 1671 | !endif |
| 1656 | 1672 | !endif |
| 1657 | 1673 | |
| 1658 | 1674 | !if $(DEBUG)!=0 |
| 1659 | -CFLAGS = $(CFLAGS) /Zi $(CRTFLAGS) /Od | |
| 1675 | +CFLAGS = $(CFLAGS) /Zi $(CRTFLAGS) /Od /DFOSSIL_DEBUG | |
| 1660 | 1676 | LDFLAGS = $(LDFLAGS) /DEBUG |
| 1661 | 1677 | !else |
| 1662 | 1678 | CFLAGS = $(CFLAGS) $(CRTFLAGS) /O2 |
| 1663 | 1679 | !endif |
| 1664 | 1680 | |
| @@ -1674,11 +1690,11 @@ | ||
| 1674 | 1690 | RCC = $(RCC) /DFOSSIL_DYNAMIC_BUILD=1 |
| 1675 | 1691 | !endif |
| 1676 | 1692 | |
| 1677 | 1693 | !if $(FOSSIL_ENABLE_MINIZ)==0 |
| 1678 | 1694 | LIBS = $(LIBS) $(ZLIB) |
| 1679 | -LIBDIR = $(LIBDIR) /LIBPATH:$(ZLIBDIR) | |
| 1695 | +LIBDIR = $(LIBDIR) /LIBPATH:"$(ZLIBDIR)" | |
| 1680 | 1696 | !endif |
| 1681 | 1697 | |
| 1682 | 1698 | !if $(FOSSIL_ENABLE_MINIZ)!=0 |
| 1683 | 1699 | TCC = $(TCC) /DFOSSIL_ENABLE_MINIZ=1 |
| 1684 | 1700 | RCC = $(RCC) /DFOSSIL_ENABLE_MINIZ=1 |
| @@ -1691,11 +1707,11 @@ | ||
| 1691 | 1707 | |
| 1692 | 1708 | !if $(FOSSIL_ENABLE_SSL)!=0 |
| 1693 | 1709 | TCC = $(TCC) /DFOSSIL_ENABLE_SSL=1 |
| 1694 | 1710 | RCC = $(RCC) /DFOSSIL_ENABLE_SSL=1 |
| 1695 | 1711 | LIBS = $(LIBS) $(SSLLIB) |
| 1696 | -LIBDIR = $(LIBDIR) /LIBPATH:$(SSLLIBDIR) | |
| 1712 | +LIBDIR = $(LIBDIR) /LIBPATH:"$(SSLLIBDIR)" | |
| 1697 | 1713 | !endif |
| 1698 | 1714 | |
| 1699 | 1715 | !if $(FOSSIL_ENABLE_EXEC_REL_PATHS)!=0 |
| 1700 | 1716 | TCC = $(TCC) /DFOSSIL_ENABLE_EXEC_REL_PATHS=1 |
| 1701 | 1717 | RCC = $(RCC) /DFOSSIL_ENABLE_EXEC_REL_PATHS=1 |
| @@ -1749,11 +1765,11 @@ | ||
| 1749 | 1765 | foreach s [lsort $src] { |
| 1750 | 1766 | if {$i > 0} { |
| 1751 | 1767 | writeln " \\" |
| 1752 | 1768 | writeln -nonewline " " |
| 1753 | 1769 | } |
| 1754 | - writeln -nonewline "${s}_.c"; incr i | |
| 1770 | + writeln -nonewline "\"\$(OX)\\${s}_.c\""; incr i | |
| 1755 | 1771 | } |
| 1756 | 1772 | writeln "\n" |
| 1757 | 1773 | writeln -nonewline "EXTRA_FILES = " |
| 1758 | 1774 | set i 0 |
| 1759 | 1775 | foreach s [lsort $extra_files] { |
| @@ -1760,11 +1776,11 @@ | ||
| 1760 | 1776 | if {$i > 0} { |
| 1761 | 1777 | writeln " \\" |
| 1762 | 1778 | writeln -nonewline " " |
| 1763 | 1779 | } |
| 1764 | 1780 | set s [regsub -all / $s \\] |
| 1765 | - writeln -nonewline "\$(SRCDIR)\\${s}"; incr i | |
| 1781 | + writeln -nonewline "\"\$(SRCDIR)\\${s}\""; incr i | |
| 1766 | 1782 | } |
| 1767 | 1783 | writeln "\n" |
| 1768 | 1784 | set AdditionalObj [list shell sqlite3 th th_lang th_tcl cson_amalgamation] |
| 1769 | 1785 | writeln -nonewline "OBJ = " |
| 1770 | 1786 | set i 0 |
| @@ -1771,51 +1787,71 @@ | ||
| 1771 | 1787 | foreach s [lsort [concat $src $AdditionalObj]] { |
| 1772 | 1788 | if {$i > 0} { |
| 1773 | 1789 | writeln " \\" |
| 1774 | 1790 | writeln -nonewline " " |
| 1775 | 1791 | } |
| 1776 | - writeln -nonewline "\$(OX)\\$s\$O"; incr i | |
| 1792 | + writeln -nonewline "\"\$(OX)\\$s\$O\""; incr i | |
| 1777 | 1793 | } |
| 1778 | 1794 | if {$i > 0} { |
| 1779 | 1795 | writeln " \\" |
| 1780 | 1796 | } |
| 1781 | 1797 | writeln "!if \$(FOSSIL_ENABLE_MINIZ)!=0" |
| 1782 | 1798 | writeln -nonewline " " |
| 1783 | -writeln "\$(OX)\\miniz\$O \\"; incr i | |
| 1799 | +writeln "\"\$(OX)\\miniz\$O\" \\"; incr i | |
| 1784 | 1800 | writeln "!endif" |
| 1785 | -writeln -nonewline " \$(OX)\\fossil.res\n\n" | |
| 1801 | +writeln -nonewline " \"\$(OX)\\fossil.res\"\n\n" | |
| 1786 | 1802 | writeln [string map [list <<<NEXT_LINE>>> \\] { |
| 1787 | 1803 | !ifndef BASEAPPNAME |
| 1788 | 1804 | BASEAPPNAME = fossil |
| 1789 | 1805 | !endif |
| 1790 | 1806 | |
| 1791 | 1807 | APPNAME = $(OX)\$(BASEAPPNAME)$(E) |
| 1792 | 1808 | PDBNAME = $(OX)\$(BASEAPPNAME)$(P) |
| 1793 | 1809 | APPTARGETS = |
| 1794 | 1810 | |
| 1795 | -all: $(OX) $(APPNAME) | |
| 1811 | +all: "$(OX)" "$(APPNAME)" | |
| 1812 | + | |
| 1813 | +$(BASEAPPNAME): "$(APPNAME)" | |
| 1814 | + | |
| 1815 | +$(BASEAPPNAME)$(E): "$(APPNAME)" | |
| 1816 | + | |
| 1817 | +install: "$(APPNAME)" | |
| 1818 | + echo F | xcopy /Y "$(APPNAME)" "$(INSTALLDIR)"\* | |
| 1819 | +!if $(DEBUG)!=0 | |
| 1820 | + echo F | xcopy /Y "$(PDBNAME)" "$(INSTALLDIR)"\* | |
| 1821 | +!endif | |
| 1822 | + | |
| 1823 | +$(OX): | |
| 1824 | + @-mkdir $@ | |
| 1796 | 1825 | |
| 1797 | 1826 | zlib: |
| 1798 | 1827 | @echo Building zlib from "$(ZLIBDIR)"... |
| 1799 | 1828 | !if $(FOSSIL_ENABLE_WINXP)!=0 |
| 1800 | 1829 | @pushd "$(ZLIBDIR)" && $(MAKE) /f win32\Makefile.msc $(ZLIB) "CC=cl $(XPCFLAGS)" "LD=link $(XPLDFLAGS)" && popd |
| 1801 | 1830 | !else |
| 1802 | 1831 | @pushd "$(ZLIBDIR)" && $(MAKE) /f win32\Makefile.msc $(ZLIB) && popd |
| 1803 | 1832 | !endif |
| 1804 | 1833 | |
| 1834 | +clean-zlib: | |
| 1835 | + @pushd "$(ZLIBDIR)" && $(MAKE) /f win32\Makefile.msc clean && popd | |
| 1836 | + | |
| 1805 | 1837 | !if $(FOSSIL_ENABLE_SSL)!=0 |
| 1806 | 1838 | openssl: |
| 1807 | 1839 | @echo Building OpenSSL from "$(SSLDIR)"... |
| 1808 | -!if "$(PERLDIR)" != "" | |
| 1809 | - @set PATH=$(PERLDIR);$(PATH) | |
| 1840 | +!ifdef PERLDIR | |
| 1841 | + @pushd "$(SSLDIR)" && "$(PERLDIR)\$(PERL)" Configure $(SSLCONFIG) && popd | |
| 1842 | +!else | |
| 1843 | + @pushd "$(SSLDIR)" && "$(PERL)" Configure $(SSLCONFIG) && popd | |
| 1810 | 1844 | !endif |
| 1811 | - @pushd "$(SSLDIR)" && $(PERL) Configure $(SSLCONFIG) && popd | |
| 1812 | 1845 | !if $(FOSSIL_ENABLE_WINXP)!=0 |
| 1813 | 1846 | @pushd "$(SSLDIR)" && $(MAKE) "CC=cl $(XPCFLAGS)" "LFLAGS=$(XPLDFLAGS)" && popd |
| 1814 | 1847 | !else |
| 1815 | 1848 | @pushd "$(SSLDIR)" && $(MAKE) && popd |
| 1816 | 1849 | !endif |
| 1850 | + | |
| 1851 | +clean-openssl: | |
| 1852 | + @pushd "$(SSLDIR)" && $(MAKE) clean && popd | |
| 1817 | 1853 | !endif |
| 1818 | 1854 | |
| 1819 | 1855 | !if $(FOSSIL_ENABLE_MINIZ)==0 |
| 1820 | 1856 | !if $(FOSSIL_BUILD_ZLIB)!=0 |
| 1821 | 1857 | APPTARGETS = $(APPTARGETS) zlib |
| @@ -1826,49 +1862,45 @@ | ||
| 1826 | 1862 | !if $(FOSSIL_BUILD_SSL)!=0 |
| 1827 | 1863 | APPTARGETS = $(APPTARGETS) openssl |
| 1828 | 1864 | !endif |
| 1829 | 1865 | !endif |
| 1830 | 1866 | |
| 1831 | -$(APPNAME) : $(APPTARGETS) translate$E mkindex$E codecheck1$E headers $(OBJ) $(OX)\linkopts | |
| 1832 | - cd $(OX) | |
| 1833 | - codecheck1$E $(SRC) | |
| 1834 | - link $(LDFLAGS) /OUT:$@ $(LIBDIR) Wsetargv.obj fossil.res @linkopts | |
| 1835 | - if exist [email protected] <<<NEXT_LINE>>> | |
| 1836 | - $(MTC) -nologo -manifest [email protected] -outputresource:$@;1 | |
| 1837 | - | |
| 1838 | -$(OX)\linkopts: $B\win\Makefile.msc}] | |
| 1867 | +"$(APPNAME)" : $(APPTARGETS) "$(OBJDIR)\translate$E" "$(OBJDIR)\mkindex$E" "$(OBJDIR)\codecheck1$E" "$(OX)\headers" $(OBJ) "$(OX)\linkopts" | |
| 1868 | + "$(OBJDIR)\codecheck1$E" $(SRC) | |
| 1869 | + link $(LDFLAGS) /OUT:$@ /PDB:$(@D)\ $(LIBDIR) Wsetargv.obj "$(OX)\fossil.res" @"$(OX)\linkopts" | |
| 1870 | + if exist "$(B)\win\fossil.exe.manifest" <<<NEXT_LINE>>> | |
| 1871 | + $(MTC) -nologo -manifest "$(B)\win\fossil.exe.manifest" -outputresource:$@;1 | |
| 1872 | + | |
| 1873 | +"$(OX)\linkopts": "$(B)\win\Makefile.msc"}] | |
| 1839 | 1874 | set redir {>} |
| 1840 | 1875 | foreach s [lsort [concat $src $AdditionalObj]] { |
| 1841 | - writeln "\techo \$(OX)\\$s.obj $redir \$@" | |
| 1876 | + writeln "\techo \"\$(OX)\\$s.obj\" $redir \$@" | |
| 1842 | 1877 | set redir {>>} |
| 1843 | 1878 | } |
| 1844 | 1879 | set redir {>>} |
| 1845 | 1880 | writeln "!if \$(FOSSIL_ENABLE_MINIZ)!=0" |
| 1846 | -writeln "\techo \$(OX)\\miniz.obj $redir \$@" | |
| 1881 | +writeln "\techo \"\$(OX)\\miniz.obj\" $redir \$@" | |
| 1847 | 1882 | writeln "!endif" |
| 1848 | 1883 | writeln "\techo \$(LIBS) $redir \$@" |
| 1849 | 1884 | writeln { |
| 1850 | -$(OX): | |
| 1851 | - @-mkdir $@ | |
| 1852 | - | |
| 1853 | -translate$E: $(SRCDIR)\translate.c | |
| 1854 | - $(BCC) $** | |
| 1855 | - | |
| 1856 | -makeheaders$E: $(SRCDIR)\makeheaders.c | |
| 1857 | - $(BCC) $** | |
| 1858 | - | |
| 1859 | -mkindex$E: $(SRCDIR)\mkindex.c | |
| 1860 | - $(BCC) $** | |
| 1861 | - | |
| 1862 | -mkbuiltin$E: $(SRCDIR)\mkbuiltin.c | |
| 1863 | - $(BCC) $** | |
| 1864 | - | |
| 1865 | -mkversion$E: $(SRCDIR)\mkversion.c | |
| 1866 | - $(BCC) $** | |
| 1867 | - | |
| 1868 | -codecheck1$E: $(SRCDIR)\codecheck1.c | |
| 1869 | - $(BCC) $** | |
| 1885 | +"$(OBJDIR)\translate$E": "$(SRCDIR)\translate.c" | |
| 1886 | + $(BCC) /Fe$@ /Fo$(@D)\ /Fd$(@D)\ $** | |
| 1887 | + | |
| 1888 | +"$(OBJDIR)\makeheaders$E": "$(SRCDIR)\makeheaders.c" | |
| 1889 | + $(BCC) /Fe$@ /Fo$(@D)\ /Fd$(@D)\ $** | |
| 1890 | + | |
| 1891 | +"$(OBJDIR)\mkindex$E": "$(SRCDIR)\mkindex.c" | |
| 1892 | + $(BCC) /Fe$@ /Fo$(@D)\ /Fd$(@D)\ $** | |
| 1893 | + | |
| 1894 | +"$(OBJDIR)\mkbuiltin$E": "$(SRCDIR)\mkbuiltin.c" | |
| 1895 | + $(BCC) /Fe$@ /Fo$(@D)\ /Fd$(@D)\ $** | |
| 1896 | + | |
| 1897 | +"$(OBJDIR)\mkversion$E": "$(SRCDIR)\mkversion.c" | |
| 1898 | + $(BCC) /Fe$@ /Fo$(@D)\ /Fd$(@D)\ $** | |
| 1899 | + | |
| 1900 | +"$(OBJDIR)\codecheck1$E": "$(SRCDIR)\codecheck1.c" | |
| 1901 | + $(BCC) /Fe$@ /Fo$(@D)\ /Fd$(@D)\ $** | |
| 1870 | 1902 | |
| 1871 | 1903 | !if $(USE_SEE)!=0 |
| 1872 | 1904 | SEE_FLAGS = /DSQLITE_HAS_CODEC=1 /DSQLITE_SHELL_DBKEY_PROC=fossil_key |
| 1873 | 1905 | SQLITE3_SHELL_SRC = $(SRCDIR)\shell-see.c |
| 1874 | 1906 | SQLITE3_SRC = $(SRCDIR)\sqlite3-see.c |
| @@ -1876,109 +1908,123 @@ | ||
| 1876 | 1908 | SEE_FLAGS = |
| 1877 | 1909 | SQLITE3_SHELL_SRC = $(SRCDIR)\shell.c |
| 1878 | 1910 | SQLITE3_SRC = $(SRCDIR)\sqlite3.c |
| 1879 | 1911 | !endif |
| 1880 | 1912 | |
| 1881 | -$(OX)\shell$O : $(SQLITE3_SHELL_SRC) $B\win\Makefile.msc | |
| 1882 | - $(TCC) /Fo$@ $(SHELL_OPTIONS) $(SQLITE_OPTIONS) $(SHELL_CFLAGS) $(SEE_FLAGS) -c $(SQLITE3_SHELL_SRC) | |
| 1883 | - | |
| 1884 | -$(OX)\sqlite3$O : $(SQLITE3_SRC) $B\win\Makefile.msc | |
| 1885 | - $(TCC) /Fo$@ -c $(SQLITE_OPTIONS) $(SQLITE_CFLAGS) $(SEE_FLAGS) $(SQLITE3_SRC) | |
| 1886 | - | |
| 1887 | -$(OX)\th$O : $(SRCDIR)\th.c | |
| 1888 | - $(TCC) /Fo$@ -c $** | |
| 1889 | - | |
| 1890 | -$(OX)\th_lang$O : $(SRCDIR)\th_lang.c | |
| 1891 | - $(TCC) /Fo$@ -c $** | |
| 1892 | - | |
| 1893 | -$(OX)\th_tcl$O : $(SRCDIR)\th_tcl.c | |
| 1894 | - $(TCC) /Fo$@ -c $** | |
| 1895 | - | |
| 1896 | -$(OX)\miniz$O : $(SRCDIR)\miniz.c | |
| 1897 | - $(TCC) /Fo$@ -c $(MINIZ_OPTIONS) $(SRCDIR)\miniz.c | |
| 1898 | - | |
| 1899 | -VERSION.h : mkversion$E $B\manifest.uuid $B\manifest $B\VERSION | |
| 1900 | - $** > $@ | |
| 1901 | - | |
| 1902 | -$(OX)\cson_amalgamation$O : $(SRCDIR)\cson_amalgamation.c | |
| 1903 | - $(TCC) /Fo$@ /c $** | |
| 1904 | - | |
| 1905 | -page_index.h: mkindex$E $(SRC) | |
| 1906 | - $** > $@ | |
| 1907 | - | |
| 1908 | -builtin_data.h: mkbuiltin$E $(EXTRA_FILES) | |
| 1909 | - mkbuiltin$E --prefix $(SRCDIR)/ $(EXTRA_FILES) > $@ | |
| 1910 | - | |
| 1911 | -clean: | |
| 1912 | - -del $(OX)\*.obj 2>NUL | |
| 1913 | - -del *.obj 2>NUL | |
| 1914 | - -del *_.c 2>NUL | |
| 1915 | - -del *.h 2>NUL | |
| 1916 | - -del *.ilk 2>NUL | |
| 1917 | - -del *.map 2>NUL | |
| 1918 | - -del *.res 2>NUL | |
| 1919 | - -del headers 2>NUL | |
| 1920 | - -del linkopts 2>NUL | |
| 1921 | - -del vc*.pdb 2>NUL | |
| 1922 | - | |
| 1923 | -realclean: clean | |
| 1924 | - -del $(APPNAME) 2>NUL | |
| 1925 | - -del $(PDBNAME) 2>NUL | |
| 1926 | - -del translate$E 2>NUL | |
| 1927 | - -del translate$P 2>NUL | |
| 1928 | - -del mkindex$E 2>NUL | |
| 1929 | - -del mkindex$P 2>NUL | |
| 1930 | - -del makeheaders$E 2>NUL | |
| 1931 | - -del makeheaders$P 2>NUL | |
| 1932 | - -del mkversion$E 2>NUL | |
| 1933 | - -del mkversion$P 2>NUL | |
| 1934 | - -del codecheck1$E 2>NUL | |
| 1935 | - -del codecheck1$P 2>NUL | |
| 1936 | - -del mkbuiltin$E 2>NUL | |
| 1937 | - -del mkbuiltin$P 2>NUL | |
| 1938 | - | |
| 1939 | -$(OBJDIR)\json$O : $(SRCDIR)\json_detail.h | |
| 1940 | -$(OBJDIR)\json_artifact$O : $(SRCDIR)\json_detail.h | |
| 1941 | -$(OBJDIR)\json_branch$O : $(SRCDIR)\json_detail.h | |
| 1942 | -$(OBJDIR)\json_config$O : $(SRCDIR)\json_detail.h | |
| 1943 | -$(OBJDIR)\json_diff$O : $(SRCDIR)\json_detail.h | |
| 1944 | -$(OBJDIR)\json_dir$O : $(SRCDIR)\json_detail.h | |
| 1945 | -$(OBJDIR)\json_finfo$O : $(SRCDIR)\json_detail.h | |
| 1946 | -$(OBJDIR)\json_login$O : $(SRCDIR)\json_detail.h | |
| 1947 | -$(OBJDIR)\json_query$O : $(SRCDIR)\json_detail.h | |
| 1948 | -$(OBJDIR)\json_report$O : $(SRCDIR)\json_detail.h | |
| 1949 | -$(OBJDIR)\json_status$O : $(SRCDIR)\json_detail.h | |
| 1950 | -$(OBJDIR)\json_tag$O : $(SRCDIR)\json_detail.h | |
| 1951 | -$(OBJDIR)\json_timeline$O : $(SRCDIR)\json_detail.h | |
| 1952 | -$(OBJDIR)\json_user$O : $(SRCDIR)\json_detail.h | |
| 1953 | -$(OBJDIR)\json_wiki$O : $(SRCDIR)\json_detail.h | |
| 1954 | -} | |
| 1955 | -foreach s [lsort $src] { | |
| 1956 | - writeln "\$(OX)\\$s\$O : ${s}_.c ${s}.h" | |
| 1957 | - writeln "\t\$(TCC) /Fo\$@ -c ${s}_.c\n" | |
| 1958 | - writeln "${s}_.c : \$(SRCDIR)\\$s.c" | |
| 1959 | - writeln "\ttranslate\$E \$** > \$@\n" | |
| 1960 | -} | |
| 1961 | - | |
| 1962 | -writeln "fossil.res : \$B\\win\\fossil.rc" | |
| 1963 | -writeln "\t\$(RCC) /fo \$@ \$**\n" | |
| 1964 | - | |
| 1965 | -writeln "headers: makeheaders\$E page_index.h builtin_data.h VERSION.h" | |
| 1966 | -writeln -nonewline "\tmakeheaders\$E " | |
| 1913 | +"$(OX)\shell$O" : "$(SQLITE3_SHELL_SRC)" "$(B)\win\Makefile.msc" | |
| 1914 | + $(TCC) /Fo$@ /Fd$(@D)\ $(SHELL_OPTIONS) $(SQLITE_OPTIONS) $(SHELL_CFLAGS) $(SEE_FLAGS) -c "$(SQLITE3_SHELL_SRC)" | |
| 1915 | + | |
| 1916 | +"$(OX)\sqlite3$O" : "$(SQLITE3_SRC)" "$(B)\win\Makefile.msc" | |
| 1917 | + $(TCC) /Fo$@ /Fd$(@D)\ -c $(SQLITE_OPTIONS) $(SQLITE_CFLAGS) $(SEE_FLAGS) "$(SQLITE3_SRC)" | |
| 1918 | + | |
| 1919 | +"$(OX)\th$O" : "$(SRCDIR)\th.c" | |
| 1920 | + $(TCC) /Fo$@ /Fd$(@D)\ -c $** | |
| 1921 | + | |
| 1922 | +"$(OX)\th_lang$O" : "$(SRCDIR)\th_lang.c" | |
| 1923 | + $(TCC) /Fo$@ /Fd$(@D)\ -c $** | |
| 1924 | + | |
| 1925 | +"$(OX)\th_tcl$O" : "$(SRCDIR)\th_tcl.c" | |
| 1926 | + $(TCC) /Fo$@ /Fd$(@D)\ -c $** | |
| 1927 | + | |
| 1928 | +"$(OX)\miniz$O" : "$(SRCDIR)\miniz.c" | |
| 1929 | + $(TCC) /Fo$@ /Fd$(@D)\ -c $(MINIZ_OPTIONS) $** | |
| 1930 | + | |
| 1931 | +"$(OX)\VERSION.h" : "$(OBJDIR)\mkversion$E" "$(B)\manifest.uuid" "$(B)\manifest" "$(B)\VERSION" | |
| 1932 | + $** > $@ | |
| 1933 | + | |
| 1934 | +"$(OX)\cson_amalgamation$O" : "$(SRCDIR)\cson_amalgamation.c" | |
| 1935 | + $(TCC) /Fo$@ /Fd$(@D)\ -c $** | |
| 1936 | + | |
| 1937 | +"$(OX)\page_index.h": "$(OBJDIR)\mkindex$E" $(SRC) | |
| 1938 | + $** > $@ | |
| 1939 | + | |
| 1940 | +"$(OX)\builtin_data.h": "$(OBJDIR)\mkbuiltin$E" "$(OX)\builtin_data.reslist" | |
| 1941 | + "$(OBJDIR)\mkbuiltin$E" --prefix "$(SRCDIR)/" --reslist "$(OX)\builtin_data.reslist" > $@ | |
| 1942 | + | |
| 1943 | +cleanx: | |
| 1944 | + -del "$(OX)\*.obj" 2>NUL | |
| 1945 | + -del "$(OBJDIR)\*.obj" 2>NUL | |
| 1946 | + -del "$(OX)\*_.c" 2>NUL | |
| 1947 | + -del "$(OX)\*.h" 2>NUL | |
| 1948 | + -del "$(OX)\*.ilk" 2>NUL | |
| 1949 | + -del "$(OX)\*.map" 2>NUL | |
| 1950 | + -del "$(OX)\*.res" 2>NUL | |
| 1951 | + -del "$(OX)\*.reslist" 2>NUL | |
| 1952 | + -del "$(OX)\headers" 2>NUL | |
| 1953 | + -del "$(OX)\linkopts" 2>NUL | |
| 1954 | + -del "$(OX)\vc*.pdb" 2>NUL | |
| 1955 | + | |
| 1956 | +clean: cleanx | |
| 1957 | + -del "$(APPNAME)" 2>NUL | |
| 1958 | + -del "$(PDBNAME)" 2>NUL | |
| 1959 | + -del "$(OBJDIR)\translate$E" 2>NUL | |
| 1960 | + -del "$(OBJDIR)\translate$P" 2>NUL | |
| 1961 | + -del "$(OBJDIR)\mkindex$E" 2>NUL | |
| 1962 | + -del "$(OBJDIR)\mkindex$P" 2>NUL | |
| 1963 | + -del "$(OBJDIR)\makeheaders$E" 2>NUL | |
| 1964 | + -del "$(OBJDIR)\makeheaders$P" 2>NUL | |
| 1965 | + -del "$(OBJDIR)\mkversion$E" 2>NUL | |
| 1966 | + -del "$(OBJDIR)\mkversion$P" 2>NUL | |
| 1967 | + -del "$(OBJDIR)\mkcss$E" 2>NUL | |
| 1968 | + -del "$(OBJDIR)\mkcss$P" 2>NUL | |
| 1969 | + -del "$(OBJDIR)\codecheck1$E" 2>NUL | |
| 1970 | + -del "$(OBJDIR)\codecheck1$P" 2>NUL | |
| 1971 | + -del "$(OBJDIR)\mkbuiltin$E" 2>NUL | |
| 1972 | + -del "$(OBJDIR)\mkbuiltin$P" 2>NUL | |
| 1973 | + | |
| 1974 | +realclean: clean | |
| 1975 | + | |
| 1976 | +"$(OBJDIR)\json$O" : "$(SRCDIR)\json_detail.h" | |
| 1977 | +"$(OBJDIR)\json_artifact$O" : "$(SRCDIR)\json_detail.h" | |
| 1978 | +"$(OBJDIR)\json_branch$O" : "$(SRCDIR)\json_detail.h" | |
| 1979 | +"$(OBJDIR)\json_config$O" : "$(SRCDIR)\json_detail.h" | |
| 1980 | +"$(OBJDIR)\json_diff$O" : "$(SRCDIR)\json_detail.h" | |
| 1981 | +"$(OBJDIR)\json_dir$O" : "$(SRCDIR)\json_detail.h" | |
| 1982 | +"$(OBJDIR)\json_finfo$O" : "$(SRCDIR)\json_detail.h" | |
| 1983 | +"$(OBJDIR)\json_login$O" : "$(SRCDIR)\json_detail.h" | |
| 1984 | +"$(OBJDIR)\json_query$O" : "$(SRCDIR)\json_detail.h" | |
| 1985 | +"$(OBJDIR)\json_report$O" : "$(SRCDIR)\json_detail.h" | |
| 1986 | +"$(OBJDIR)\json_status$O" : "$(SRCDIR)\json_detail.h" | |
| 1987 | +"$(OBJDIR)\json_tag$O" : "$(SRCDIR)\json_detail.h" | |
| 1988 | +"$(OBJDIR)\json_timeline$O" : "$(SRCDIR)\json_detail.h" | |
| 1989 | +"$(OBJDIR)\json_user$O" : "$(SRCDIR)\json_detail.h" | |
| 1990 | +"$(OBJDIR)\json_wiki$O" : "$(SRCDIR)\json_detail.h" | |
| 1991 | +} | |
| 1992 | + | |
| 1993 | +writeln {"$(OX)\builtin_data.reslist": $(EXTRA_FILES) "$(B)\win\Makefile.msc"} | |
| 1994 | +set redir {>} | |
| 1995 | +foreach s [lsort $extra_files] { | |
| 1996 | + writeln "\techo \"\$(SRCDIR)\\${s}\" $redir \$@" | |
| 1997 | + set redir {>>} | |
| 1998 | +} | |
| 1999 | + | |
| 2000 | +writeln "" | |
| 2001 | +foreach s [lsort $src] { | |
| 2002 | + writeln "\"\$(OX)\\$s\$O\" : \"\$(OX)\\${s}_.c\" \"\$(OX)\\${s}.h\"" | |
| 2003 | + writeln "\t\$(TCC) /Fo\$@ /Fd\$(@D)\\ -c \"\$(OX)\\${s}_.c\"\n" | |
| 2004 | + writeln "\"\$(OX)\\${s}_.c\" : \"\$(SRCDIR)\\$s.c\"" | |
| 2005 | + writeln "\t\"\$(OBJDIR)\\translate\$E\" \$** > \$@\n" | |
| 2006 | +} | |
| 2007 | + | |
| 2008 | +writeln "\"\$(OX)\\fossil.res\" : \"\$(B)\\win\\fossil.rc\"" | |
| 2009 | +writeln "\t\$(RCC) /fo \$@ \$**\n" | |
| 2010 | + | |
| 2011 | +writeln "\"\$(OX)\\headers\": \"\$(OBJDIR)\\makeheaders\$E\" \"\$(OX)\\page_index.h\" \"\$(OX)\\builtin_data.h\" \"\$(OX)\\default_css.h\" \"\$(OX)\\VERSION.h\"" | |
| 2012 | +writeln -nonewline "\t\"\$(OBJDIR)\\makeheaders\$E\" " | |
| 1967 | 2013 | set i 0 |
| 1968 | 2014 | foreach s [lsort $src] { |
| 1969 | 2015 | if {$i > 0} { |
| 1970 | 2016 | writeln " \\" |
| 1971 | 2017 | writeln -nonewline "\t\t\t" |
| 1972 | 2018 | } |
| 1973 | - writeln -nonewline "${s}_.c:$s.h"; incr i | |
| 2019 | + writeln -nonewline "\"\$(OX)\\${s}_.c\":\"\$(OX)\\$s.h\""; incr i | |
| 1974 | 2020 | } |
| 1975 | -writeln " \\\n\t\t\t\$(SRCDIR)\\sqlite3.h \\" | |
| 1976 | -writeln "\t\t\t\$(SRCDIR)\\th.h \\" | |
| 1977 | -writeln "\t\t\tVERSION.h \\" | |
| 1978 | -writeln "\t\t\t\$(SRCDIR)\\cson_amalgamation.h" | |
| 1979 | -writeln "\t@copy /Y nul: headers" | |
| 2021 | +writeln " \\\n\t\t\t\"\$(SRCDIR)\\sqlite3.h\" \\" | |
| 2022 | +writeln "\t\t\t\"\$(SRCDIR)\\th.h\" \\" | |
| 2023 | +writeln "\t\t\t\"\$(OX)\\VERSION.h\" \\" | |
| 2024 | +writeln "\t\t\t\"\$(SRCDIR)\\cson_amalgamation.h\"" | |
| 2025 | +writeln "\t@copy /Y nul: $@" | |
| 1980 | 2026 | |
| 1981 | 2027 | |
| 1982 | 2028 | close $output_file |
| 1983 | 2029 | # |
| 1984 | 2030 | # End of the win/Makefile.msc output |
| 1985 | 2031 |
| --- src/makemake.tcl | |
| +++ src/makemake.tcl | |
| @@ -26,10 +26,11 @@ | |
| 26 | # Set the separate extra_files variable further down for how to add non-C |
| 27 | # files, such as string and BLOB resources. |
| 28 | # |
| 29 | set src { |
| 30 | add |
| 31 | alerts |
| 32 | allrepo |
| 33 | attach |
| 34 | backlink |
| 35 | backoffice |
| @@ -193,11 +194,10 @@ | |
| 193 | -DSQLITE_DEFAULT_MEMSTATUS=0 |
| 194 | -DSQLITE_DEFAULT_WAL_SYNCHRONOUS=1 |
| 195 | -DSQLITE_LIKE_DOESNT_MATCH_BLOBS |
| 196 | -DSQLITE_OMIT_DECLTYPE |
| 197 | -DSQLITE_OMIT_DEPRECATED |
| 198 | -DSQLITE_OMIT_GET_TABLE |
| 199 | -DSQLITE_OMIT_PROGRESS_CALLBACK |
| 200 | -DSQLITE_OMIT_SHARED_CACHE |
| 201 | -DSQLITE_OMIT_LOAD_EXTENSION |
| 202 | -DSQLITE_MAX_EXPR_DEPTH=0 |
| 203 | -DSQLITE_USE_ALLOCA |
| @@ -475,10 +475,11 @@ | |
| 475 | writeln "\$(OBJDIR)/headers:\t\$(OBJDIR)/page_index.h \$(OBJDIR)/builtin_data.h \$(OBJDIR)/makeheaders \$(OBJDIR)/VERSION.h" |
| 476 | writeln "\t\$(OBJDIR)/makeheaders $mhargs" |
| 477 | writeln "\ttouch \$(OBJDIR)/headers" |
| 478 | writeln "\$(OBJDIR)/headers: Makefile" |
| 479 | writeln "\$(OBJDIR)/json.o \$(OBJDIR)/json_artifact.o \$(OBJDIR)/json_branch.o \$(OBJDIR)/json_config.o \$(OBJDIR)/json_diff.o \$(OBJDIR)/json_dir.o \$(OBJDIR)/json_finfo.o \$(OBJDIR)/json_login.o \$(OBJDIR)/json_query.o \$(OBJDIR)/json_report.o \$(OBJDIR)/json_status.o \$(OBJDIR)/json_tag.o \$(OBJDIR)/json_timeline.o \$(OBJDIR)/json_user.o \$(OBJDIR)/json_wiki.o : \$(SRCDIR)/json_detail.h" |
| 480 | writeln "Makefile:" |
| 481 | set extra_h(dispatch) " \$(OBJDIR)/page_index.h " |
| 482 | set extra_h(builtin) " \$(OBJDIR)/builtin_data.h " |
| 483 | |
| 484 | foreach s [lsort $src] { |
| @@ -1423,11 +1424,10 @@ | |
| 1423 | $(OBJDIR)\json_tag$O : $(SRCDIR)\json_detail.h |
| 1424 | $(OBJDIR)\json_timeline$O : $(SRCDIR)\json_detail.h |
| 1425 | $(OBJDIR)\json_user$O : $(SRCDIR)\json_detail.h |
| 1426 | $(OBJDIR)\json_wiki$O : $(SRCDIR)\json_detail.h |
| 1427 | |
| 1428 | |
| 1429 | } |
| 1430 | foreach s [lsort $src] { |
| 1431 | writeln "\$(OBJDIR)\\$s\$O : ${s}_.c ${s}.h" |
| 1432 | writeln "\t\$(TCC) -o\$@ -c ${s}_.c\n" |
| 1433 | writeln "${s}_.c : \$(SRCDIR)\\$s.c" |
| @@ -1456,39 +1456,52 @@ | |
| 1456 | writeln {# |
| 1457 | ############################################################################## |
| 1458 | # WARNING: DO NOT EDIT, AUTOMATICALLY GENERATED FILE (SEE "src/makemake.tcl") |
| 1459 | ############################################################################## |
| 1460 | # |
| 1461 | # This Makefile will only function correctly if used from a sub-directory |
| 1462 | # that is a direct child of the top-level directory for this project. |
| 1463 | # |
| 1464 | !if !exist("..\.fossil-settings") |
| 1465 | !error "Please change the current directory to the one containing this file." |
| 1466 | !endif |
| 1467 | |
| 1468 | # |
| 1469 | # This file is automatically generated. Instead of editing this |
| 1470 | # file, edit "makemake.tcl" then run "tclsh makemake.tcl" |
| 1471 | # to regenerate this file. |
| 1472 | # |
| 1473 | B = .. |
| 1474 | SRCDIR = $B\src |
| 1475 | OBJDIR = . |
| 1476 | OX = . |
| 1477 | O = .obj |
| 1478 | E = .exe |
| 1479 | P = .pdb |
| 1480 | |
| 1481 | # Perl is only necessary if OpenSSL support is enabled and it must |
| 1482 | # be built from source code. The PERLDIR variable should point to |
| 1483 | # the directory containing the main Perl binary (i.e. "perl.exe"). |
| 1484 | PERLDIR = C:\Perl\bin |
| 1485 | PERL = perl.exe |
| 1486 | |
| 1487 | # Enable debugging symbols? |
| 1488 | !ifndef DEBUG |
| 1489 | DEBUG = 0 |
| 1490 | !endif |
| 1491 | |
| 1492 | # Build the OpenSSL libraries? |
| 1493 | !ifndef FOSSIL_BUILD_SSL |
| 1494 | FOSSIL_BUILD_SSL = 0 |
| @@ -1605,27 +1618,30 @@ | |
| 1605 | ZLIB = zdll.lib |
| 1606 | !else |
| 1607 | ZLIB = zlib.lib |
| 1608 | !endif |
| 1609 | |
| 1610 | INCL = /I. /I$(SRCDIR) /I$B\win\include |
| 1611 | |
| 1612 | !if $(FOSSIL_ENABLE_MINIZ)==0 |
| 1613 | INCL = $(INCL) /I$(ZINCDIR) |
| 1614 | !endif |
| 1615 | |
| 1616 | !if $(FOSSIL_ENABLE_SSL)!=0 |
| 1617 | INCL = $(INCL) /I$(SSLINCDIR) |
| 1618 | !endif |
| 1619 | |
| 1620 | !if $(FOSSIL_ENABLE_TCL)!=0 |
| 1621 | INCL = $(INCL) /I$(TCLINCDIR) |
| 1622 | !endif |
| 1623 | |
| 1624 | CFLAGS = /nologo |
| 1625 | LDFLAGS = |
| 1626 | |
| 1627 | !if $(FOSSIL_DYNAMIC_BUILD)!=0 |
| 1628 | LDFLAGS = $(LDFLAGS) /MANIFEST |
| 1629 | !else |
| 1630 | LDFLAGS = $(LDFLAGS) /NODEFAULTLIB:msvcrt /MANIFEST:NO |
| 1631 | !endif |
| @@ -1654,11 +1670,11 @@ | |
| 1654 | CRTFLAGS = /MT |
| 1655 | !endif |
| 1656 | !endif |
| 1657 | |
| 1658 | !if $(DEBUG)!=0 |
| 1659 | CFLAGS = $(CFLAGS) /Zi $(CRTFLAGS) /Od |
| 1660 | LDFLAGS = $(LDFLAGS) /DEBUG |
| 1661 | !else |
| 1662 | CFLAGS = $(CFLAGS) $(CRTFLAGS) /O2 |
| 1663 | !endif |
| 1664 | |
| @@ -1674,11 +1690,11 @@ | |
| 1674 | RCC = $(RCC) /DFOSSIL_DYNAMIC_BUILD=1 |
| 1675 | !endif |
| 1676 | |
| 1677 | !if $(FOSSIL_ENABLE_MINIZ)==0 |
| 1678 | LIBS = $(LIBS) $(ZLIB) |
| 1679 | LIBDIR = $(LIBDIR) /LIBPATH:$(ZLIBDIR) |
| 1680 | !endif |
| 1681 | |
| 1682 | !if $(FOSSIL_ENABLE_MINIZ)!=0 |
| 1683 | TCC = $(TCC) /DFOSSIL_ENABLE_MINIZ=1 |
| 1684 | RCC = $(RCC) /DFOSSIL_ENABLE_MINIZ=1 |
| @@ -1691,11 +1707,11 @@ | |
| 1691 | |
| 1692 | !if $(FOSSIL_ENABLE_SSL)!=0 |
| 1693 | TCC = $(TCC) /DFOSSIL_ENABLE_SSL=1 |
| 1694 | RCC = $(RCC) /DFOSSIL_ENABLE_SSL=1 |
| 1695 | LIBS = $(LIBS) $(SSLLIB) |
| 1696 | LIBDIR = $(LIBDIR) /LIBPATH:$(SSLLIBDIR) |
| 1697 | !endif |
| 1698 | |
| 1699 | !if $(FOSSIL_ENABLE_EXEC_REL_PATHS)!=0 |
| 1700 | TCC = $(TCC) /DFOSSIL_ENABLE_EXEC_REL_PATHS=1 |
| 1701 | RCC = $(RCC) /DFOSSIL_ENABLE_EXEC_REL_PATHS=1 |
| @@ -1749,11 +1765,11 @@ | |
| 1749 | foreach s [lsort $src] { |
| 1750 | if {$i > 0} { |
| 1751 | writeln " \\" |
| 1752 | writeln -nonewline " " |
| 1753 | } |
| 1754 | writeln -nonewline "${s}_.c"; incr i |
| 1755 | } |
| 1756 | writeln "\n" |
| 1757 | writeln -nonewline "EXTRA_FILES = " |
| 1758 | set i 0 |
| 1759 | foreach s [lsort $extra_files] { |
| @@ -1760,11 +1776,11 @@ | |
| 1760 | if {$i > 0} { |
| 1761 | writeln " \\" |
| 1762 | writeln -nonewline " " |
| 1763 | } |
| 1764 | set s [regsub -all / $s \\] |
| 1765 | writeln -nonewline "\$(SRCDIR)\\${s}"; incr i |
| 1766 | } |
| 1767 | writeln "\n" |
| 1768 | set AdditionalObj [list shell sqlite3 th th_lang th_tcl cson_amalgamation] |
| 1769 | writeln -nonewline "OBJ = " |
| 1770 | set i 0 |
| @@ -1771,51 +1787,71 @@ | |
| 1771 | foreach s [lsort [concat $src $AdditionalObj]] { |
| 1772 | if {$i > 0} { |
| 1773 | writeln " \\" |
| 1774 | writeln -nonewline " " |
| 1775 | } |
| 1776 | writeln -nonewline "\$(OX)\\$s\$O"; incr i |
| 1777 | } |
| 1778 | if {$i > 0} { |
| 1779 | writeln " \\" |
| 1780 | } |
| 1781 | writeln "!if \$(FOSSIL_ENABLE_MINIZ)!=0" |
| 1782 | writeln -nonewline " " |
| 1783 | writeln "\$(OX)\\miniz\$O \\"; incr i |
| 1784 | writeln "!endif" |
| 1785 | writeln -nonewline " \$(OX)\\fossil.res\n\n" |
| 1786 | writeln [string map [list <<<NEXT_LINE>>> \\] { |
| 1787 | !ifndef BASEAPPNAME |
| 1788 | BASEAPPNAME = fossil |
| 1789 | !endif |
| 1790 | |
| 1791 | APPNAME = $(OX)\$(BASEAPPNAME)$(E) |
| 1792 | PDBNAME = $(OX)\$(BASEAPPNAME)$(P) |
| 1793 | APPTARGETS = |
| 1794 | |
| 1795 | all: $(OX) $(APPNAME) |
| 1796 | |
| 1797 | zlib: |
| 1798 | @echo Building zlib from "$(ZLIBDIR)"... |
| 1799 | !if $(FOSSIL_ENABLE_WINXP)!=0 |
| 1800 | @pushd "$(ZLIBDIR)" && $(MAKE) /f win32\Makefile.msc $(ZLIB) "CC=cl $(XPCFLAGS)" "LD=link $(XPLDFLAGS)" && popd |
| 1801 | !else |
| 1802 | @pushd "$(ZLIBDIR)" && $(MAKE) /f win32\Makefile.msc $(ZLIB) && popd |
| 1803 | !endif |
| 1804 | |
| 1805 | !if $(FOSSIL_ENABLE_SSL)!=0 |
| 1806 | openssl: |
| 1807 | @echo Building OpenSSL from "$(SSLDIR)"... |
| 1808 | !if "$(PERLDIR)" != "" |
| 1809 | @set PATH=$(PERLDIR);$(PATH) |
| 1810 | !endif |
| 1811 | @pushd "$(SSLDIR)" && $(PERL) Configure $(SSLCONFIG) && popd |
| 1812 | !if $(FOSSIL_ENABLE_WINXP)!=0 |
| 1813 | @pushd "$(SSLDIR)" && $(MAKE) "CC=cl $(XPCFLAGS)" "LFLAGS=$(XPLDFLAGS)" && popd |
| 1814 | !else |
| 1815 | @pushd "$(SSLDIR)" && $(MAKE) && popd |
| 1816 | !endif |
| 1817 | !endif |
| 1818 | |
| 1819 | !if $(FOSSIL_ENABLE_MINIZ)==0 |
| 1820 | !if $(FOSSIL_BUILD_ZLIB)!=0 |
| 1821 | APPTARGETS = $(APPTARGETS) zlib |
| @@ -1826,49 +1862,45 @@ | |
| 1826 | !if $(FOSSIL_BUILD_SSL)!=0 |
| 1827 | APPTARGETS = $(APPTARGETS) openssl |
| 1828 | !endif |
| 1829 | !endif |
| 1830 | |
| 1831 | $(APPNAME) : $(APPTARGETS) translate$E mkindex$E codecheck1$E headers $(OBJ) $(OX)\linkopts |
| 1832 | cd $(OX) |
| 1833 | codecheck1$E $(SRC) |
| 1834 | link $(LDFLAGS) /OUT:$@ $(LIBDIR) Wsetargv.obj fossil.res @linkopts |
| 1835 | if exist [email protected] <<<NEXT_LINE>>> |
| 1836 | $(MTC) -nologo -manifest [email protected] -outputresource:$@;1 |
| 1837 | |
| 1838 | $(OX)\linkopts: $B\win\Makefile.msc}] |
| 1839 | set redir {>} |
| 1840 | foreach s [lsort [concat $src $AdditionalObj]] { |
| 1841 | writeln "\techo \$(OX)\\$s.obj $redir \$@" |
| 1842 | set redir {>>} |
| 1843 | } |
| 1844 | set redir {>>} |
| 1845 | writeln "!if \$(FOSSIL_ENABLE_MINIZ)!=0" |
| 1846 | writeln "\techo \$(OX)\\miniz.obj $redir \$@" |
| 1847 | writeln "!endif" |
| 1848 | writeln "\techo \$(LIBS) $redir \$@" |
| 1849 | writeln { |
| 1850 | $(OX): |
| 1851 | @-mkdir $@ |
| 1852 | |
| 1853 | translate$E: $(SRCDIR)\translate.c |
| 1854 | $(BCC) $** |
| 1855 | |
| 1856 | makeheaders$E: $(SRCDIR)\makeheaders.c |
| 1857 | $(BCC) $** |
| 1858 | |
| 1859 | mkindex$E: $(SRCDIR)\mkindex.c |
| 1860 | $(BCC) $** |
| 1861 | |
| 1862 | mkbuiltin$E: $(SRCDIR)\mkbuiltin.c |
| 1863 | $(BCC) $** |
| 1864 | |
| 1865 | mkversion$E: $(SRCDIR)\mkversion.c |
| 1866 | $(BCC) $** |
| 1867 | |
| 1868 | codecheck1$E: $(SRCDIR)\codecheck1.c |
| 1869 | $(BCC) $** |
| 1870 | |
| 1871 | !if $(USE_SEE)!=0 |
| 1872 | SEE_FLAGS = /DSQLITE_HAS_CODEC=1 /DSQLITE_SHELL_DBKEY_PROC=fossil_key |
| 1873 | SQLITE3_SHELL_SRC = $(SRCDIR)\shell-see.c |
| 1874 | SQLITE3_SRC = $(SRCDIR)\sqlite3-see.c |
| @@ -1876,109 +1908,123 @@ | |
| 1876 | SEE_FLAGS = |
| 1877 | SQLITE3_SHELL_SRC = $(SRCDIR)\shell.c |
| 1878 | SQLITE3_SRC = $(SRCDIR)\sqlite3.c |
| 1879 | !endif |
| 1880 | |
| 1881 | $(OX)\shell$O : $(SQLITE3_SHELL_SRC) $B\win\Makefile.msc |
| 1882 | $(TCC) /Fo$@ $(SHELL_OPTIONS) $(SQLITE_OPTIONS) $(SHELL_CFLAGS) $(SEE_FLAGS) -c $(SQLITE3_SHELL_SRC) |
| 1883 | |
| 1884 | $(OX)\sqlite3$O : $(SQLITE3_SRC) $B\win\Makefile.msc |
| 1885 | $(TCC) /Fo$@ -c $(SQLITE_OPTIONS) $(SQLITE_CFLAGS) $(SEE_FLAGS) $(SQLITE3_SRC) |
| 1886 | |
| 1887 | $(OX)\th$O : $(SRCDIR)\th.c |
| 1888 | $(TCC) /Fo$@ -c $** |
| 1889 | |
| 1890 | $(OX)\th_lang$O : $(SRCDIR)\th_lang.c |
| 1891 | $(TCC) /Fo$@ -c $** |
| 1892 | |
| 1893 | $(OX)\th_tcl$O : $(SRCDIR)\th_tcl.c |
| 1894 | $(TCC) /Fo$@ -c $** |
| 1895 | |
| 1896 | $(OX)\miniz$O : $(SRCDIR)\miniz.c |
| 1897 | $(TCC) /Fo$@ -c $(MINIZ_OPTIONS) $(SRCDIR)\miniz.c |
| 1898 | |
| 1899 | VERSION.h : mkversion$E $B\manifest.uuid $B\manifest $B\VERSION |
| 1900 | $** > $@ |
| 1901 | |
| 1902 | $(OX)\cson_amalgamation$O : $(SRCDIR)\cson_amalgamation.c |
| 1903 | $(TCC) /Fo$@ /c $** |
| 1904 | |
| 1905 | page_index.h: mkindex$E $(SRC) |
| 1906 | $** > $@ |
| 1907 | |
| 1908 | builtin_data.h: mkbuiltin$E $(EXTRA_FILES) |
| 1909 | mkbuiltin$E --prefix $(SRCDIR)/ $(EXTRA_FILES) > $@ |
| 1910 | |
| 1911 | clean: |
| 1912 | -del $(OX)\*.obj 2>NUL |
| 1913 | -del *.obj 2>NUL |
| 1914 | -del *_.c 2>NUL |
| 1915 | -del *.h 2>NUL |
| 1916 | -del *.ilk 2>NUL |
| 1917 | -del *.map 2>NUL |
| 1918 | -del *.res 2>NUL |
| 1919 | -del headers 2>NUL |
| 1920 | -del linkopts 2>NUL |
| 1921 | -del vc*.pdb 2>NUL |
| 1922 | |
| 1923 | realclean: clean |
| 1924 | -del $(APPNAME) 2>NUL |
| 1925 | -del $(PDBNAME) 2>NUL |
| 1926 | -del translate$E 2>NUL |
| 1927 | -del translate$P 2>NUL |
| 1928 | -del mkindex$E 2>NUL |
| 1929 | -del mkindex$P 2>NUL |
| 1930 | -del makeheaders$E 2>NUL |
| 1931 | -del makeheaders$P 2>NUL |
| 1932 | -del mkversion$E 2>NUL |
| 1933 | -del mkversion$P 2>NUL |
| 1934 | -del codecheck1$E 2>NUL |
| 1935 | -del codecheck1$P 2>NUL |
| 1936 | -del mkbuiltin$E 2>NUL |
| 1937 | -del mkbuiltin$P 2>NUL |
| 1938 | |
| 1939 | $(OBJDIR)\json$O : $(SRCDIR)\json_detail.h |
| 1940 | $(OBJDIR)\json_artifact$O : $(SRCDIR)\json_detail.h |
| 1941 | $(OBJDIR)\json_branch$O : $(SRCDIR)\json_detail.h |
| 1942 | $(OBJDIR)\json_config$O : $(SRCDIR)\json_detail.h |
| 1943 | $(OBJDIR)\json_diff$O : $(SRCDIR)\json_detail.h |
| 1944 | $(OBJDIR)\json_dir$O : $(SRCDIR)\json_detail.h |
| 1945 | $(OBJDIR)\json_finfo$O : $(SRCDIR)\json_detail.h |
| 1946 | $(OBJDIR)\json_login$O : $(SRCDIR)\json_detail.h |
| 1947 | $(OBJDIR)\json_query$O : $(SRCDIR)\json_detail.h |
| 1948 | $(OBJDIR)\json_report$O : $(SRCDIR)\json_detail.h |
| 1949 | $(OBJDIR)\json_status$O : $(SRCDIR)\json_detail.h |
| 1950 | $(OBJDIR)\json_tag$O : $(SRCDIR)\json_detail.h |
| 1951 | $(OBJDIR)\json_timeline$O : $(SRCDIR)\json_detail.h |
| 1952 | $(OBJDIR)\json_user$O : $(SRCDIR)\json_detail.h |
| 1953 | $(OBJDIR)\json_wiki$O : $(SRCDIR)\json_detail.h |
| 1954 | } |
| 1955 | foreach s [lsort $src] { |
| 1956 | writeln "\$(OX)\\$s\$O : ${s}_.c ${s}.h" |
| 1957 | writeln "\t\$(TCC) /Fo\$@ -c ${s}_.c\n" |
| 1958 | writeln "${s}_.c : \$(SRCDIR)\\$s.c" |
| 1959 | writeln "\ttranslate\$E \$** > \$@\n" |
| 1960 | } |
| 1961 | |
| 1962 | writeln "fossil.res : \$B\\win\\fossil.rc" |
| 1963 | writeln "\t\$(RCC) /fo \$@ \$**\n" |
| 1964 | |
| 1965 | writeln "headers: makeheaders\$E page_index.h builtin_data.h VERSION.h" |
| 1966 | writeln -nonewline "\tmakeheaders\$E " |
| 1967 | set i 0 |
| 1968 | foreach s [lsort $src] { |
| 1969 | if {$i > 0} { |
| 1970 | writeln " \\" |
| 1971 | writeln -nonewline "\t\t\t" |
| 1972 | } |
| 1973 | writeln -nonewline "${s}_.c:$s.h"; incr i |
| 1974 | } |
| 1975 | writeln " \\\n\t\t\t\$(SRCDIR)\\sqlite3.h \\" |
| 1976 | writeln "\t\t\t\$(SRCDIR)\\th.h \\" |
| 1977 | writeln "\t\t\tVERSION.h \\" |
| 1978 | writeln "\t\t\t\$(SRCDIR)\\cson_amalgamation.h" |
| 1979 | writeln "\t@copy /Y nul: headers" |
| 1980 | |
| 1981 | |
| 1982 | close $output_file |
| 1983 | # |
| 1984 | # End of the win/Makefile.msc output |
| 1985 |
| --- src/makemake.tcl | |
| +++ src/makemake.tcl | |
| @@ -26,10 +26,11 @@ | |
| 26 | # Set the separate extra_files variable further down for how to add non-C |
| 27 | # files, such as string and BLOB resources. |
| 28 | # |
| 29 | set src { |
| 30 | add |
| 31 | ajax |
| 32 | alerts |
| 33 | allrepo |
| 34 | attach |
| 35 | backlink |
| 36 | backoffice |
| @@ -193,11 +194,10 @@ | |
| 194 | -DSQLITE_DEFAULT_MEMSTATUS=0 |
| 195 | -DSQLITE_DEFAULT_WAL_SYNCHRONOUS=1 |
| 196 | -DSQLITE_LIKE_DOESNT_MATCH_BLOBS |
| 197 | -DSQLITE_OMIT_DECLTYPE |
| 198 | -DSQLITE_OMIT_DEPRECATED |
| 199 | -DSQLITE_OMIT_PROGRESS_CALLBACK |
| 200 | -DSQLITE_OMIT_SHARED_CACHE |
| 201 | -DSQLITE_OMIT_LOAD_EXTENSION |
| 202 | -DSQLITE_MAX_EXPR_DEPTH=0 |
| 203 | -DSQLITE_USE_ALLOCA |
| @@ -475,10 +475,11 @@ | |
| 475 | writeln "\$(OBJDIR)/headers:\t\$(OBJDIR)/page_index.h \$(OBJDIR)/builtin_data.h \$(OBJDIR)/makeheaders \$(OBJDIR)/VERSION.h" |
| 476 | writeln "\t\$(OBJDIR)/makeheaders $mhargs" |
| 477 | writeln "\ttouch \$(OBJDIR)/headers" |
| 478 | writeln "\$(OBJDIR)/headers: Makefile" |
| 479 | writeln "\$(OBJDIR)/json.o \$(OBJDIR)/json_artifact.o \$(OBJDIR)/json_branch.o \$(OBJDIR)/json_config.o \$(OBJDIR)/json_diff.o \$(OBJDIR)/json_dir.o \$(OBJDIR)/json_finfo.o \$(OBJDIR)/json_login.o \$(OBJDIR)/json_query.o \$(OBJDIR)/json_report.o \$(OBJDIR)/json_status.o \$(OBJDIR)/json_tag.o \$(OBJDIR)/json_timeline.o \$(OBJDIR)/json_user.o \$(OBJDIR)/json_wiki.o : \$(SRCDIR)/json_detail.h" |
| 480 | |
| 481 | writeln "Makefile:" |
| 482 | set extra_h(dispatch) " \$(OBJDIR)/page_index.h " |
| 483 | set extra_h(builtin) " \$(OBJDIR)/builtin_data.h " |
| 484 | |
| 485 | foreach s [lsort $src] { |
| @@ -1423,11 +1424,10 @@ | |
| 1424 | $(OBJDIR)\json_tag$O : $(SRCDIR)\json_detail.h |
| 1425 | $(OBJDIR)\json_timeline$O : $(SRCDIR)\json_detail.h |
| 1426 | $(OBJDIR)\json_user$O : $(SRCDIR)\json_detail.h |
| 1427 | $(OBJDIR)\json_wiki$O : $(SRCDIR)\json_detail.h |
| 1428 | |
| 1429 | } |
| 1430 | foreach s [lsort $src] { |
| 1431 | writeln "\$(OBJDIR)\\$s\$O : ${s}_.c ${s}.h" |
| 1432 | writeln "\t\$(TCC) -o\$@ -c ${s}_.c\n" |
| 1433 | writeln "${s}_.c : \$(SRCDIR)\\$s.c" |
| @@ -1456,39 +1456,52 @@ | |
| 1456 | writeln {# |
| 1457 | ############################################################################## |
| 1458 | # WARNING: DO NOT EDIT, AUTOMATICALLY GENERATED FILE (SEE "src/makemake.tcl") |
| 1459 | ############################################################################## |
| 1460 | # |
| 1461 | # |
| 1462 | # This file is automatically generated. Instead of editing this |
| 1463 | # file, edit "makemake.tcl" then run "tclsh makemake.tcl" |
| 1464 | # to regenerate this file. |
| 1465 | # |
| 1466 | B = .. |
| 1467 | SRCDIR = $(B)\src |
| 1468 | T = . |
| 1469 | OBJDIR = $(T) |
| 1470 | OX = $(OBJDIR) |
| 1471 | O = .obj |
| 1472 | E = .exe |
| 1473 | P = .pdb |
| 1474 | |
| 1475 | INSTALLDIR = . |
| 1476 | !ifdef DESTDIR |
| 1477 | INSTALLDIR = $(DESTDIR)\$(INSTALLDIR) |
| 1478 | !endif |
| 1479 | |
| 1480 | # When building out of source, this Makefile needs to know the path to the base |
| 1481 | # top-level directory for this project. Pass it on NMAKE command line via make |
| 1482 | # variable B: |
| 1483 | # NMAKE /f "path\to\this\Makefile" B="path/to/fossil/root" |
| 1484 | # |
| 1485 | # NOTE: Make sure B path has no trailing backslash, UNIX-style path is OK too. |
| 1486 | # |
| 1487 | !if !exist("$(B)\.fossil-settings") |
| 1488 | !error Please specify path to project base directory: B="path/to/fossil" |
| 1489 | !endif |
| 1490 | |
| 1491 | # Perl is only necessary if OpenSSL support is enabled and it is built from |
| 1492 | # source code. The PERLDIR environment variable, if it exists, should point |
| 1493 | # to the directory containing the main Perl executable specified here (i.e. |
| 1494 | # "perl.exe"). |
| 1495 | PERL = perl.exe |
| 1496 | |
| 1497 | # Enable debugging symbols? |
| 1498 | !ifndef DEBUG |
| 1499 | DEBUG = 0 |
| 1500 | !endif |
| 1501 | !ifdef FOSSIL_DEBUG |
| 1502 | DEBUG = 1 |
| 1503 | !endif |
| 1504 | |
| 1505 | # Build the OpenSSL libraries? |
| 1506 | !ifndef FOSSIL_BUILD_SSL |
| 1507 | FOSSIL_BUILD_SSL = 0 |
| @@ -1605,27 +1618,30 @@ | |
| 1618 | ZLIB = zdll.lib |
| 1619 | !else |
| 1620 | ZLIB = zlib.lib |
| 1621 | !endif |
| 1622 | |
| 1623 | INCL = /I. /I"$(OX)" /I"$(SRCDIR)" /I"$(B)\win\include" |
| 1624 | |
| 1625 | !if $(FOSSIL_ENABLE_MINIZ)==0 |
| 1626 | INCL = $(INCL) /I"$(ZINCDIR)" |
| 1627 | !endif |
| 1628 | |
| 1629 | !if $(FOSSIL_ENABLE_SSL)!=0 |
| 1630 | INCL = $(INCL) /I"$(SSLINCDIR)" |
| 1631 | !endif |
| 1632 | |
| 1633 | !if $(FOSSIL_ENABLE_TCL)!=0 |
| 1634 | INCL = $(INCL) /I"$(TCLINCDIR)" |
| 1635 | !endif |
| 1636 | |
| 1637 | CFLAGS = /nologo |
| 1638 | LDFLAGS = |
| 1639 | |
| 1640 | CFLAGS = $(CFLAGS) /D_CRT_SECURE_NO_DEPRECATE /D_CRT_SECURE_NO_WARNINGS |
| 1641 | CFLAGS = $(CFLAGS) /D_CRT_NONSTDC_NO_DEPRECATE /D_CRT_NONSTDC_NO_WARNINGS |
| 1642 | |
| 1643 | !if $(FOSSIL_DYNAMIC_BUILD)!=0 |
| 1644 | LDFLAGS = $(LDFLAGS) /MANIFEST |
| 1645 | !else |
| 1646 | LDFLAGS = $(LDFLAGS) /NODEFAULTLIB:msvcrt /MANIFEST:NO |
| 1647 | !endif |
| @@ -1654,11 +1670,11 @@ | |
| 1670 | CRTFLAGS = /MT |
| 1671 | !endif |
| 1672 | !endif |
| 1673 | |
| 1674 | !if $(DEBUG)!=0 |
| 1675 | CFLAGS = $(CFLAGS) /Zi $(CRTFLAGS) /Od /DFOSSIL_DEBUG |
| 1676 | LDFLAGS = $(LDFLAGS) /DEBUG |
| 1677 | !else |
| 1678 | CFLAGS = $(CFLAGS) $(CRTFLAGS) /O2 |
| 1679 | !endif |
| 1680 | |
| @@ -1674,11 +1690,11 @@ | |
| 1690 | RCC = $(RCC) /DFOSSIL_DYNAMIC_BUILD=1 |
| 1691 | !endif |
| 1692 | |
| 1693 | !if $(FOSSIL_ENABLE_MINIZ)==0 |
| 1694 | LIBS = $(LIBS) $(ZLIB) |
| 1695 | LIBDIR = $(LIBDIR) /LIBPATH:"$(ZLIBDIR)" |
| 1696 | !endif |
| 1697 | |
| 1698 | !if $(FOSSIL_ENABLE_MINIZ)!=0 |
| 1699 | TCC = $(TCC) /DFOSSIL_ENABLE_MINIZ=1 |
| 1700 | RCC = $(RCC) /DFOSSIL_ENABLE_MINIZ=1 |
| @@ -1691,11 +1707,11 @@ | |
| 1707 | |
| 1708 | !if $(FOSSIL_ENABLE_SSL)!=0 |
| 1709 | TCC = $(TCC) /DFOSSIL_ENABLE_SSL=1 |
| 1710 | RCC = $(RCC) /DFOSSIL_ENABLE_SSL=1 |
| 1711 | LIBS = $(LIBS) $(SSLLIB) |
| 1712 | LIBDIR = $(LIBDIR) /LIBPATH:"$(SSLLIBDIR)" |
| 1713 | !endif |
| 1714 | |
| 1715 | !if $(FOSSIL_ENABLE_EXEC_REL_PATHS)!=0 |
| 1716 | TCC = $(TCC) /DFOSSIL_ENABLE_EXEC_REL_PATHS=1 |
| 1717 | RCC = $(RCC) /DFOSSIL_ENABLE_EXEC_REL_PATHS=1 |
| @@ -1749,11 +1765,11 @@ | |
| 1765 | foreach s [lsort $src] { |
| 1766 | if {$i > 0} { |
| 1767 | writeln " \\" |
| 1768 | writeln -nonewline " " |
| 1769 | } |
| 1770 | writeln -nonewline "\"\$(OX)\\${s}_.c\""; incr i |
| 1771 | } |
| 1772 | writeln "\n" |
| 1773 | writeln -nonewline "EXTRA_FILES = " |
| 1774 | set i 0 |
| 1775 | foreach s [lsort $extra_files] { |
| @@ -1760,11 +1776,11 @@ | |
| 1776 | if {$i > 0} { |
| 1777 | writeln " \\" |
| 1778 | writeln -nonewline " " |
| 1779 | } |
| 1780 | set s [regsub -all / $s \\] |
| 1781 | writeln -nonewline "\"\$(SRCDIR)\\${s}\""; incr i |
| 1782 | } |
| 1783 | writeln "\n" |
| 1784 | set AdditionalObj [list shell sqlite3 th th_lang th_tcl cson_amalgamation] |
| 1785 | writeln -nonewline "OBJ = " |
| 1786 | set i 0 |
| @@ -1771,51 +1787,71 @@ | |
| 1787 | foreach s [lsort [concat $src $AdditionalObj]] { |
| 1788 | if {$i > 0} { |
| 1789 | writeln " \\" |
| 1790 | writeln -nonewline " " |
| 1791 | } |
| 1792 | writeln -nonewline "\"\$(OX)\\$s\$O\""; incr i |
| 1793 | } |
| 1794 | if {$i > 0} { |
| 1795 | writeln " \\" |
| 1796 | } |
| 1797 | writeln "!if \$(FOSSIL_ENABLE_MINIZ)!=0" |
| 1798 | writeln -nonewline " " |
| 1799 | writeln "\"\$(OX)\\miniz\$O\" \\"; incr i |
| 1800 | writeln "!endif" |
| 1801 | writeln -nonewline " \"\$(OX)\\fossil.res\"\n\n" |
| 1802 | writeln [string map [list <<<NEXT_LINE>>> \\] { |
| 1803 | !ifndef BASEAPPNAME |
| 1804 | BASEAPPNAME = fossil |
| 1805 | !endif |
| 1806 | |
| 1807 | APPNAME = $(OX)\$(BASEAPPNAME)$(E) |
| 1808 | PDBNAME = $(OX)\$(BASEAPPNAME)$(P) |
| 1809 | APPTARGETS = |
| 1810 | |
| 1811 | all: "$(OX)" "$(APPNAME)" |
| 1812 | |
| 1813 | $(BASEAPPNAME): "$(APPNAME)" |
| 1814 | |
| 1815 | $(BASEAPPNAME)$(E): "$(APPNAME)" |
| 1816 | |
| 1817 | install: "$(APPNAME)" |
| 1818 | echo F | xcopy /Y "$(APPNAME)" "$(INSTALLDIR)"\* |
| 1819 | !if $(DEBUG)!=0 |
| 1820 | echo F | xcopy /Y "$(PDBNAME)" "$(INSTALLDIR)"\* |
| 1821 | !endif |
| 1822 | |
| 1823 | $(OX): |
| 1824 | @-mkdir $@ |
| 1825 | |
| 1826 | zlib: |
| 1827 | @echo Building zlib from "$(ZLIBDIR)"... |
| 1828 | !if $(FOSSIL_ENABLE_WINXP)!=0 |
| 1829 | @pushd "$(ZLIBDIR)" && $(MAKE) /f win32\Makefile.msc $(ZLIB) "CC=cl $(XPCFLAGS)" "LD=link $(XPLDFLAGS)" && popd |
| 1830 | !else |
| 1831 | @pushd "$(ZLIBDIR)" && $(MAKE) /f win32\Makefile.msc $(ZLIB) && popd |
| 1832 | !endif |
| 1833 | |
| 1834 | clean-zlib: |
| 1835 | @pushd "$(ZLIBDIR)" && $(MAKE) /f win32\Makefile.msc clean && popd |
| 1836 | |
| 1837 | !if $(FOSSIL_ENABLE_SSL)!=0 |
| 1838 | openssl: |
| 1839 | @echo Building OpenSSL from "$(SSLDIR)"... |
| 1840 | !ifdef PERLDIR |
| 1841 | @pushd "$(SSLDIR)" && "$(PERLDIR)\$(PERL)" Configure $(SSLCONFIG) && popd |
| 1842 | !else |
| 1843 | @pushd "$(SSLDIR)" && "$(PERL)" Configure $(SSLCONFIG) && popd |
| 1844 | !endif |
| 1845 | !if $(FOSSIL_ENABLE_WINXP)!=0 |
| 1846 | @pushd "$(SSLDIR)" && $(MAKE) "CC=cl $(XPCFLAGS)" "LFLAGS=$(XPLDFLAGS)" && popd |
| 1847 | !else |
| 1848 | @pushd "$(SSLDIR)" && $(MAKE) && popd |
| 1849 | !endif |
| 1850 | |
| 1851 | clean-openssl: |
| 1852 | @pushd "$(SSLDIR)" && $(MAKE) clean && popd |
| 1853 | !endif |
| 1854 | |
| 1855 | !if $(FOSSIL_ENABLE_MINIZ)==0 |
| 1856 | !if $(FOSSIL_BUILD_ZLIB)!=0 |
| 1857 | APPTARGETS = $(APPTARGETS) zlib |
| @@ -1826,49 +1862,45 @@ | |
| 1862 | !if $(FOSSIL_BUILD_SSL)!=0 |
| 1863 | APPTARGETS = $(APPTARGETS) openssl |
| 1864 | !endif |
| 1865 | !endif |
| 1866 | |
| 1867 | "$(APPNAME)" : $(APPTARGETS) "$(OBJDIR)\translate$E" "$(OBJDIR)\mkindex$E" "$(OBJDIR)\codecheck1$E" "$(OX)\headers" $(OBJ) "$(OX)\linkopts" |
| 1868 | "$(OBJDIR)\codecheck1$E" $(SRC) |
| 1869 | link $(LDFLAGS) /OUT:$@ /PDB:$(@D)\ $(LIBDIR) Wsetargv.obj "$(OX)\fossil.res" @"$(OX)\linkopts" |
| 1870 | if exist "$(B)\win\fossil.exe.manifest" <<<NEXT_LINE>>> |
| 1871 | $(MTC) -nologo -manifest "$(B)\win\fossil.exe.manifest" -outputresource:$@;1 |
| 1872 | |
| 1873 | "$(OX)\linkopts": "$(B)\win\Makefile.msc"}] |
| 1874 | set redir {>} |
| 1875 | foreach s [lsort [concat $src $AdditionalObj]] { |
| 1876 | writeln "\techo \"\$(OX)\\$s.obj\" $redir \$@" |
| 1877 | set redir {>>} |
| 1878 | } |
| 1879 | set redir {>>} |
| 1880 | writeln "!if \$(FOSSIL_ENABLE_MINIZ)!=0" |
| 1881 | writeln "\techo \"\$(OX)\\miniz.obj\" $redir \$@" |
| 1882 | writeln "!endif" |
| 1883 | writeln "\techo \$(LIBS) $redir \$@" |
| 1884 | writeln { |
| 1885 | "$(OBJDIR)\translate$E": "$(SRCDIR)\translate.c" |
| 1886 | $(BCC) /Fe$@ /Fo$(@D)\ /Fd$(@D)\ $** |
| 1887 | |
| 1888 | "$(OBJDIR)\makeheaders$E": "$(SRCDIR)\makeheaders.c" |
| 1889 | $(BCC) /Fe$@ /Fo$(@D)\ /Fd$(@D)\ $** |
| 1890 | |
| 1891 | "$(OBJDIR)\mkindex$E": "$(SRCDIR)\mkindex.c" |
| 1892 | $(BCC) /Fe$@ /Fo$(@D)\ /Fd$(@D)\ $** |
| 1893 | |
| 1894 | "$(OBJDIR)\mkbuiltin$E": "$(SRCDIR)\mkbuiltin.c" |
| 1895 | $(BCC) /Fe$@ /Fo$(@D)\ /Fd$(@D)\ $** |
| 1896 | |
| 1897 | "$(OBJDIR)\mkversion$E": "$(SRCDIR)\mkversion.c" |
| 1898 | $(BCC) /Fe$@ /Fo$(@D)\ /Fd$(@D)\ $** |
| 1899 | |
| 1900 | "$(OBJDIR)\codecheck1$E": "$(SRCDIR)\codecheck1.c" |
| 1901 | $(BCC) /Fe$@ /Fo$(@D)\ /Fd$(@D)\ $** |
| 1902 | |
| 1903 | !if $(USE_SEE)!=0 |
| 1904 | SEE_FLAGS = /DSQLITE_HAS_CODEC=1 /DSQLITE_SHELL_DBKEY_PROC=fossil_key |
| 1905 | SQLITE3_SHELL_SRC = $(SRCDIR)\shell-see.c |
| 1906 | SQLITE3_SRC = $(SRCDIR)\sqlite3-see.c |
| @@ -1876,109 +1908,123 @@ | |
| 1908 | SEE_FLAGS = |
| 1909 | SQLITE3_SHELL_SRC = $(SRCDIR)\shell.c |
| 1910 | SQLITE3_SRC = $(SRCDIR)\sqlite3.c |
| 1911 | !endif |
| 1912 | |
| 1913 | "$(OX)\shell$O" : "$(SQLITE3_SHELL_SRC)" "$(B)\win\Makefile.msc" |
| 1914 | $(TCC) /Fo$@ /Fd$(@D)\ $(SHELL_OPTIONS) $(SQLITE_OPTIONS) $(SHELL_CFLAGS) $(SEE_FLAGS) -c "$(SQLITE3_SHELL_SRC)" |
| 1915 | |
| 1916 | "$(OX)\sqlite3$O" : "$(SQLITE3_SRC)" "$(B)\win\Makefile.msc" |
| 1917 | $(TCC) /Fo$@ /Fd$(@D)\ -c $(SQLITE_OPTIONS) $(SQLITE_CFLAGS) $(SEE_FLAGS) "$(SQLITE3_SRC)" |
| 1918 | |
| 1919 | "$(OX)\th$O" : "$(SRCDIR)\th.c" |
| 1920 | $(TCC) /Fo$@ /Fd$(@D)\ -c $** |
| 1921 | |
| 1922 | "$(OX)\th_lang$O" : "$(SRCDIR)\th_lang.c" |
| 1923 | $(TCC) /Fo$@ /Fd$(@D)\ -c $** |
| 1924 | |
| 1925 | "$(OX)\th_tcl$O" : "$(SRCDIR)\th_tcl.c" |
| 1926 | $(TCC) /Fo$@ /Fd$(@D)\ -c $** |
| 1927 | |
| 1928 | "$(OX)\miniz$O" : "$(SRCDIR)\miniz.c" |
| 1929 | $(TCC) /Fo$@ /Fd$(@D)\ -c $(MINIZ_OPTIONS) $** |
| 1930 | |
| 1931 | "$(OX)\VERSION.h" : "$(OBJDIR)\mkversion$E" "$(B)\manifest.uuid" "$(B)\manifest" "$(B)\VERSION" |
| 1932 | $** > $@ |
| 1933 | |
| 1934 | "$(OX)\cson_amalgamation$O" : "$(SRCDIR)\cson_amalgamation.c" |
| 1935 | $(TCC) /Fo$@ /Fd$(@D)\ -c $** |
| 1936 | |
| 1937 | "$(OX)\page_index.h": "$(OBJDIR)\mkindex$E" $(SRC) |
| 1938 | $** > $@ |
| 1939 | |
| 1940 | "$(OX)\builtin_data.h": "$(OBJDIR)\mkbuiltin$E" "$(OX)\builtin_data.reslist" |
| 1941 | "$(OBJDIR)\mkbuiltin$E" --prefix "$(SRCDIR)/" --reslist "$(OX)\builtin_data.reslist" > $@ |
| 1942 | |
| 1943 | cleanx: |
| 1944 | -del "$(OX)\*.obj" 2>NUL |
| 1945 | -del "$(OBJDIR)\*.obj" 2>NUL |
| 1946 | -del "$(OX)\*_.c" 2>NUL |
| 1947 | -del "$(OX)\*.h" 2>NUL |
| 1948 | -del "$(OX)\*.ilk" 2>NUL |
| 1949 | -del "$(OX)\*.map" 2>NUL |
| 1950 | -del "$(OX)\*.res" 2>NUL |
| 1951 | -del "$(OX)\*.reslist" 2>NUL |
| 1952 | -del "$(OX)\headers" 2>NUL |
| 1953 | -del "$(OX)\linkopts" 2>NUL |
| 1954 | -del "$(OX)\vc*.pdb" 2>NUL |
| 1955 | |
| 1956 | clean: cleanx |
| 1957 | -del "$(APPNAME)" 2>NUL |
| 1958 | -del "$(PDBNAME)" 2>NUL |
| 1959 | -del "$(OBJDIR)\translate$E" 2>NUL |
| 1960 | -del "$(OBJDIR)\translate$P" 2>NUL |
| 1961 | -del "$(OBJDIR)\mkindex$E" 2>NUL |
| 1962 | -del "$(OBJDIR)\mkindex$P" 2>NUL |
| 1963 | -del "$(OBJDIR)\makeheaders$E" 2>NUL |
| 1964 | -del "$(OBJDIR)\makeheaders$P" 2>NUL |
| 1965 | -del "$(OBJDIR)\mkversion$E" 2>NUL |
| 1966 | -del "$(OBJDIR)\mkversion$P" 2>NUL |
| 1967 | -del "$(OBJDIR)\mkcss$E" 2>NUL |
| 1968 | -del "$(OBJDIR)\mkcss$P" 2>NUL |
| 1969 | -del "$(OBJDIR)\codecheck1$E" 2>NUL |
| 1970 | -del "$(OBJDIR)\codecheck1$P" 2>NUL |
| 1971 | -del "$(OBJDIR)\mkbuiltin$E" 2>NUL |
| 1972 | -del "$(OBJDIR)\mkbuiltin$P" 2>NUL |
| 1973 | |
| 1974 | realclean: clean |
| 1975 | |
| 1976 | "$(OBJDIR)\json$O" : "$(SRCDIR)\json_detail.h" |
| 1977 | "$(OBJDIR)\json_artifact$O" : "$(SRCDIR)\json_detail.h" |
| 1978 | "$(OBJDIR)\json_branch$O" : "$(SRCDIR)\json_detail.h" |
| 1979 | "$(OBJDIR)\json_config$O" : "$(SRCDIR)\json_detail.h" |
| 1980 | "$(OBJDIR)\json_diff$O" : "$(SRCDIR)\json_detail.h" |
| 1981 | "$(OBJDIR)\json_dir$O" : "$(SRCDIR)\json_detail.h" |
| 1982 | "$(OBJDIR)\json_finfo$O" : "$(SRCDIR)\json_detail.h" |
| 1983 | "$(OBJDIR)\json_login$O" : "$(SRCDIR)\json_detail.h" |
| 1984 | "$(OBJDIR)\json_query$O" : "$(SRCDIR)\json_detail.h" |
| 1985 | "$(OBJDIR)\json_report$O" : "$(SRCDIR)\json_detail.h" |
| 1986 | "$(OBJDIR)\json_status$O" : "$(SRCDIR)\json_detail.h" |
| 1987 | "$(OBJDIR)\json_tag$O" : "$(SRCDIR)\json_detail.h" |
| 1988 | "$(OBJDIR)\json_timeline$O" : "$(SRCDIR)\json_detail.h" |
| 1989 | "$(OBJDIR)\json_user$O" : "$(SRCDIR)\json_detail.h" |
| 1990 | "$(OBJDIR)\json_wiki$O" : "$(SRCDIR)\json_detail.h" |
| 1991 | } |
| 1992 | |
| 1993 | writeln {"$(OX)\builtin_data.reslist": $(EXTRA_FILES) "$(B)\win\Makefile.msc"} |
| 1994 | set redir {>} |
| 1995 | foreach s [lsort $extra_files] { |
| 1996 | writeln "\techo \"\$(SRCDIR)\\${s}\" $redir \$@" |
| 1997 | set redir {>>} |
| 1998 | } |
| 1999 | |
| 2000 | writeln "" |
| 2001 | foreach s [lsort $src] { |
| 2002 | writeln "\"\$(OX)\\$s\$O\" : \"\$(OX)\\${s}_.c\" \"\$(OX)\\${s}.h\"" |
| 2003 | writeln "\t\$(TCC) /Fo\$@ /Fd\$(@D)\\ -c \"\$(OX)\\${s}_.c\"\n" |
| 2004 | writeln "\"\$(OX)\\${s}_.c\" : \"\$(SRCDIR)\\$s.c\"" |
| 2005 | writeln "\t\"\$(OBJDIR)\\translate\$E\" \$** > \$@\n" |
| 2006 | } |
| 2007 | |
| 2008 | writeln "\"\$(OX)\\fossil.res\" : \"\$(B)\\win\\fossil.rc\"" |
| 2009 | writeln "\t\$(RCC) /fo \$@ \$**\n" |
| 2010 | |
| 2011 | writeln "\"\$(OX)\\headers\": \"\$(OBJDIR)\\makeheaders\$E\" \"\$(OX)\\page_index.h\" \"\$(OX)\\builtin_data.h\" \"\$(OX)\\default_css.h\" \"\$(OX)\\VERSION.h\"" |
| 2012 | writeln -nonewline "\t\"\$(OBJDIR)\\makeheaders\$E\" " |
| 2013 | set i 0 |
| 2014 | foreach s [lsort $src] { |
| 2015 | if {$i > 0} { |
| 2016 | writeln " \\" |
| 2017 | writeln -nonewline "\t\t\t" |
| 2018 | } |
| 2019 | writeln -nonewline "\"\$(OX)\\${s}_.c\":\"\$(OX)\\$s.h\""; incr i |
| 2020 | } |
| 2021 | writeln " \\\n\t\t\t\"\$(SRCDIR)\\sqlite3.h\" \\" |
| 2022 | writeln "\t\t\t\"\$(SRCDIR)\\th.h\" \\" |
| 2023 | writeln "\t\t\t\"\$(OX)\\VERSION.h\" \\" |
| 2024 | writeln "\t\t\t\"\$(SRCDIR)\\cson_amalgamation.h\"" |
| 2025 | writeln "\t@copy /Y nul: $@" |
| 2026 | |
| 2027 | |
| 2028 | close $output_file |
| 2029 | # |
| 2030 | # End of the win/Makefile.msc output |
| 2031 |
+200
-154
| --- src/makemake.tcl | ||
| +++ src/makemake.tcl | ||
| @@ -26,10 +26,11 @@ | ||
| 26 | 26 | # Set the separate extra_files variable further down for how to add non-C |
| 27 | 27 | # files, such as string and BLOB resources. |
| 28 | 28 | # |
| 29 | 29 | set src { |
| 30 | 30 | add |
| 31 | + ajax | |
| 31 | 32 | alerts |
| 32 | 33 | allrepo |
| 33 | 34 | attach |
| 34 | 35 | backlink |
| 35 | 36 | backoffice |
| @@ -193,11 +194,10 @@ | ||
| 193 | 194 | -DSQLITE_DEFAULT_MEMSTATUS=0 |
| 194 | 195 | -DSQLITE_DEFAULT_WAL_SYNCHRONOUS=1 |
| 195 | 196 | -DSQLITE_LIKE_DOESNT_MATCH_BLOBS |
| 196 | 197 | -DSQLITE_OMIT_DECLTYPE |
| 197 | 198 | -DSQLITE_OMIT_DEPRECATED |
| 198 | - -DSQLITE_OMIT_GET_TABLE | |
| 199 | 199 | -DSQLITE_OMIT_PROGRESS_CALLBACK |
| 200 | 200 | -DSQLITE_OMIT_SHARED_CACHE |
| 201 | 201 | -DSQLITE_OMIT_LOAD_EXTENSION |
| 202 | 202 | -DSQLITE_MAX_EXPR_DEPTH=0 |
| 203 | 203 | -DSQLITE_USE_ALLOCA |
| @@ -475,10 +475,11 @@ | ||
| 475 | 475 | writeln "\$(OBJDIR)/headers:\t\$(OBJDIR)/page_index.h \$(OBJDIR)/builtin_data.h \$(OBJDIR)/makeheaders \$(OBJDIR)/VERSION.h" |
| 476 | 476 | writeln "\t\$(OBJDIR)/makeheaders $mhargs" |
| 477 | 477 | writeln "\ttouch \$(OBJDIR)/headers" |
| 478 | 478 | writeln "\$(OBJDIR)/headers: Makefile" |
| 479 | 479 | writeln "\$(OBJDIR)/json.o \$(OBJDIR)/json_artifact.o \$(OBJDIR)/json_branch.o \$(OBJDIR)/json_config.o \$(OBJDIR)/json_diff.o \$(OBJDIR)/json_dir.o \$(OBJDIR)/json_finfo.o \$(OBJDIR)/json_login.o \$(OBJDIR)/json_query.o \$(OBJDIR)/json_report.o \$(OBJDIR)/json_status.o \$(OBJDIR)/json_tag.o \$(OBJDIR)/json_timeline.o \$(OBJDIR)/json_user.o \$(OBJDIR)/json_wiki.o : \$(SRCDIR)/json_detail.h" |
| 480 | + | |
| 480 | 481 | writeln "Makefile:" |
| 481 | 482 | set extra_h(dispatch) " \$(OBJDIR)/page_index.h " |
| 482 | 483 | set extra_h(builtin) " \$(OBJDIR)/builtin_data.h " |
| 483 | 484 | |
| 484 | 485 | foreach s [lsort $src] { |
| @@ -1423,11 +1424,10 @@ | ||
| 1423 | 1424 | $(OBJDIR)\json_tag$O : $(SRCDIR)\json_detail.h |
| 1424 | 1425 | $(OBJDIR)\json_timeline$O : $(SRCDIR)\json_detail.h |
| 1425 | 1426 | $(OBJDIR)\json_user$O : $(SRCDIR)\json_detail.h |
| 1426 | 1427 | $(OBJDIR)\json_wiki$O : $(SRCDIR)\json_detail.h |
| 1427 | 1428 | |
| 1428 | - | |
| 1429 | 1429 | } |
| 1430 | 1430 | foreach s [lsort $src] { |
| 1431 | 1431 | writeln "\$(OBJDIR)\\$s\$O : ${s}_.c ${s}.h" |
| 1432 | 1432 | writeln "\t\$(TCC) -o\$@ -c ${s}_.c\n" |
| 1433 | 1433 | writeln "${s}_.c : \$(SRCDIR)\\$s.c" |
| @@ -1456,39 +1456,52 @@ | ||
| 1456 | 1456 | writeln {# |
| 1457 | 1457 | ############################################################################## |
| 1458 | 1458 | # WARNING: DO NOT EDIT, AUTOMATICALLY GENERATED FILE (SEE "src/makemake.tcl") |
| 1459 | 1459 | ############################################################################## |
| 1460 | 1460 | # |
| 1461 | -# This Makefile will only function correctly if used from a sub-directory | |
| 1462 | -# that is a direct child of the top-level directory for this project. | |
| 1463 | -# | |
| 1464 | -!if !exist("..\.fossil-settings") | |
| 1465 | -!error "Please change the current directory to the one containing this file." | |
| 1466 | -!endif | |
| 1467 | - | |
| 1468 | 1461 | # |
| 1469 | 1462 | # This file is automatically generated. Instead of editing this |
| 1470 | 1463 | # file, edit "makemake.tcl" then run "tclsh makemake.tcl" |
| 1471 | 1464 | # to regenerate this file. |
| 1472 | 1465 | # |
| 1473 | 1466 | B = .. |
| 1474 | -SRCDIR = $B\src | |
| 1475 | -OBJDIR = . | |
| 1476 | -OX = . | |
| 1467 | +SRCDIR = $(B)\src | |
| 1468 | +T = . | |
| 1469 | +OBJDIR = $(T) | |
| 1470 | +OX = $(OBJDIR) | |
| 1477 | 1471 | O = .obj |
| 1478 | 1472 | E = .exe |
| 1479 | 1473 | P = .pdb |
| 1480 | 1474 | |
| 1481 | -# Perl is only necessary if OpenSSL support is enabled and it must | |
| 1482 | -# be built from source code. The PERLDIR variable should point to | |
| 1483 | -# the directory containing the main Perl binary (i.e. "perl.exe"). | |
| 1484 | -PERLDIR = C:\Perl\bin | |
| 1475 | +INSTALLDIR = . | |
| 1476 | +!ifdef DESTDIR | |
| 1477 | +INSTALLDIR = $(DESTDIR)\$(INSTALLDIR) | |
| 1478 | +!endif | |
| 1479 | + | |
| 1480 | +# When building out of source, this Makefile needs to know the path to the base | |
| 1481 | +# top-level directory for this project. Pass it on NMAKE command line via make | |
| 1482 | +# variable B: | |
| 1483 | +# NMAKE /f "path\to\this\Makefile" B="path/to/fossil/root" | |
| 1484 | +# | |
| 1485 | +# NOTE: Make sure B path has no trailing backslash, UNIX-style path is OK too. | |
| 1486 | +# | |
| 1487 | +!if !exist("$(B)\.fossil-settings") | |
| 1488 | +!error Please specify path to project base directory: B="path/to/fossil" | |
| 1489 | +!endif | |
| 1490 | + | |
| 1491 | +# Perl is only necessary if OpenSSL support is enabled and it is built from | |
| 1492 | +# source code. The PERLDIR environment variable, if it exists, should point | |
| 1493 | +# to the directory containing the main Perl executable specified here (i.e. | |
| 1494 | +# "perl.exe"). | |
| 1485 | 1495 | PERL = perl.exe |
| 1486 | 1496 | |
| 1487 | 1497 | # Enable debugging symbols? |
| 1488 | 1498 | !ifndef DEBUG |
| 1489 | 1499 | DEBUG = 0 |
| 1500 | +!endif | |
| 1501 | +!ifdef FOSSIL_DEBUG | |
| 1502 | +DEBUG = 1 | |
| 1490 | 1503 | !endif |
| 1491 | 1504 | |
| 1492 | 1505 | # Build the OpenSSL libraries? |
| 1493 | 1506 | !ifndef FOSSIL_BUILD_SSL |
| 1494 | 1507 | FOSSIL_BUILD_SSL = 0 |
| @@ -1605,27 +1618,30 @@ | ||
| 1605 | 1618 | ZLIB = zdll.lib |
| 1606 | 1619 | !else |
| 1607 | 1620 | ZLIB = zlib.lib |
| 1608 | 1621 | !endif |
| 1609 | 1622 | |
| 1610 | -INCL = /I. /I$(SRCDIR) /I$B\win\include | |
| 1623 | +INCL = /I. /I"$(OX)" /I"$(SRCDIR)" /I"$(B)\win\include" | |
| 1611 | 1624 | |
| 1612 | 1625 | !if $(FOSSIL_ENABLE_MINIZ)==0 |
| 1613 | -INCL = $(INCL) /I$(ZINCDIR) | |
| 1626 | +INCL = $(INCL) /I"$(ZINCDIR)" | |
| 1614 | 1627 | !endif |
| 1615 | 1628 | |
| 1616 | 1629 | !if $(FOSSIL_ENABLE_SSL)!=0 |
| 1617 | -INCL = $(INCL) /I$(SSLINCDIR) | |
| 1630 | +INCL = $(INCL) /I"$(SSLINCDIR)" | |
| 1618 | 1631 | !endif |
| 1619 | 1632 | |
| 1620 | 1633 | !if $(FOSSIL_ENABLE_TCL)!=0 |
| 1621 | -INCL = $(INCL) /I$(TCLINCDIR) | |
| 1634 | +INCL = $(INCL) /I"$(TCLINCDIR)" | |
| 1622 | 1635 | !endif |
| 1623 | 1636 | |
| 1624 | 1637 | CFLAGS = /nologo |
| 1625 | 1638 | LDFLAGS = |
| 1626 | 1639 | |
| 1640 | +CFLAGS = $(CFLAGS) /D_CRT_SECURE_NO_DEPRECATE /D_CRT_SECURE_NO_WARNINGS | |
| 1641 | +CFLAGS = $(CFLAGS) /D_CRT_NONSTDC_NO_DEPRECATE /D_CRT_NONSTDC_NO_WARNINGS | |
| 1642 | + | |
| 1627 | 1643 | !if $(FOSSIL_DYNAMIC_BUILD)!=0 |
| 1628 | 1644 | LDFLAGS = $(LDFLAGS) /MANIFEST |
| 1629 | 1645 | !else |
| 1630 | 1646 | LDFLAGS = $(LDFLAGS) /NODEFAULTLIB:msvcrt /MANIFEST:NO |
| 1631 | 1647 | !endif |
| @@ -1654,11 +1670,11 @@ | ||
| 1654 | 1670 | CRTFLAGS = /MT |
| 1655 | 1671 | !endif |
| 1656 | 1672 | !endif |
| 1657 | 1673 | |
| 1658 | 1674 | !if $(DEBUG)!=0 |
| 1659 | -CFLAGS = $(CFLAGS) /Zi $(CRTFLAGS) /Od | |
| 1675 | +CFLAGS = $(CFLAGS) /Zi $(CRTFLAGS) /Od /DFOSSIL_DEBUG | |
| 1660 | 1676 | LDFLAGS = $(LDFLAGS) /DEBUG |
| 1661 | 1677 | !else |
| 1662 | 1678 | CFLAGS = $(CFLAGS) $(CRTFLAGS) /O2 |
| 1663 | 1679 | !endif |
| 1664 | 1680 | |
| @@ -1674,11 +1690,11 @@ | ||
| 1674 | 1690 | RCC = $(RCC) /DFOSSIL_DYNAMIC_BUILD=1 |
| 1675 | 1691 | !endif |
| 1676 | 1692 | |
| 1677 | 1693 | !if $(FOSSIL_ENABLE_MINIZ)==0 |
| 1678 | 1694 | LIBS = $(LIBS) $(ZLIB) |
| 1679 | -LIBDIR = $(LIBDIR) /LIBPATH:$(ZLIBDIR) | |
| 1695 | +LIBDIR = $(LIBDIR) /LIBPATH:"$(ZLIBDIR)" | |
| 1680 | 1696 | !endif |
| 1681 | 1697 | |
| 1682 | 1698 | !if $(FOSSIL_ENABLE_MINIZ)!=0 |
| 1683 | 1699 | TCC = $(TCC) /DFOSSIL_ENABLE_MINIZ=1 |
| 1684 | 1700 | RCC = $(RCC) /DFOSSIL_ENABLE_MINIZ=1 |
| @@ -1691,11 +1707,11 @@ | ||
| 1691 | 1707 | |
| 1692 | 1708 | !if $(FOSSIL_ENABLE_SSL)!=0 |
| 1693 | 1709 | TCC = $(TCC) /DFOSSIL_ENABLE_SSL=1 |
| 1694 | 1710 | RCC = $(RCC) /DFOSSIL_ENABLE_SSL=1 |
| 1695 | 1711 | LIBS = $(LIBS) $(SSLLIB) |
| 1696 | -LIBDIR = $(LIBDIR) /LIBPATH:$(SSLLIBDIR) | |
| 1712 | +LIBDIR = $(LIBDIR) /LIBPATH:"$(SSLLIBDIR)" | |
| 1697 | 1713 | !endif |
| 1698 | 1714 | |
| 1699 | 1715 | !if $(FOSSIL_ENABLE_EXEC_REL_PATHS)!=0 |
| 1700 | 1716 | TCC = $(TCC) /DFOSSIL_ENABLE_EXEC_REL_PATHS=1 |
| 1701 | 1717 | RCC = $(RCC) /DFOSSIL_ENABLE_EXEC_REL_PATHS=1 |
| @@ -1749,11 +1765,11 @@ | ||
| 1749 | 1765 | foreach s [lsort $src] { |
| 1750 | 1766 | if {$i > 0} { |
| 1751 | 1767 | writeln " \\" |
| 1752 | 1768 | writeln -nonewline " " |
| 1753 | 1769 | } |
| 1754 | - writeln -nonewline "${s}_.c"; incr i | |
| 1770 | + writeln -nonewline "\"\$(OX)\\${s}_.c\""; incr i | |
| 1755 | 1771 | } |
| 1756 | 1772 | writeln "\n" |
| 1757 | 1773 | writeln -nonewline "EXTRA_FILES = " |
| 1758 | 1774 | set i 0 |
| 1759 | 1775 | foreach s [lsort $extra_files] { |
| @@ -1760,11 +1776,11 @@ | ||
| 1760 | 1776 | if {$i > 0} { |
| 1761 | 1777 | writeln " \\" |
| 1762 | 1778 | writeln -nonewline " " |
| 1763 | 1779 | } |
| 1764 | 1780 | set s [regsub -all / $s \\] |
| 1765 | - writeln -nonewline "\$(SRCDIR)\\${s}"; incr i | |
| 1781 | + writeln -nonewline "\"\$(SRCDIR)\\${s}\""; incr i | |
| 1766 | 1782 | } |
| 1767 | 1783 | writeln "\n" |
| 1768 | 1784 | set AdditionalObj [list shell sqlite3 th th_lang th_tcl cson_amalgamation] |
| 1769 | 1785 | writeln -nonewline "OBJ = " |
| 1770 | 1786 | set i 0 |
| @@ -1771,51 +1787,71 @@ | ||
| 1771 | 1787 | foreach s [lsort [concat $src $AdditionalObj]] { |
| 1772 | 1788 | if {$i > 0} { |
| 1773 | 1789 | writeln " \\" |
| 1774 | 1790 | writeln -nonewline " " |
| 1775 | 1791 | } |
| 1776 | - writeln -nonewline "\$(OX)\\$s\$O"; incr i | |
| 1792 | + writeln -nonewline "\"\$(OX)\\$s\$O\""; incr i | |
| 1777 | 1793 | } |
| 1778 | 1794 | if {$i > 0} { |
| 1779 | 1795 | writeln " \\" |
| 1780 | 1796 | } |
| 1781 | 1797 | writeln "!if \$(FOSSIL_ENABLE_MINIZ)!=0" |
| 1782 | 1798 | writeln -nonewline " " |
| 1783 | -writeln "\$(OX)\\miniz\$O \\"; incr i | |
| 1799 | +writeln "\"\$(OX)\\miniz\$O\" \\"; incr i | |
| 1784 | 1800 | writeln "!endif" |
| 1785 | -writeln -nonewline " \$(OX)\\fossil.res\n\n" | |
| 1801 | +writeln -nonewline " \"\$(OX)\\fossil.res\"\n\n" | |
| 1786 | 1802 | writeln [string map [list <<<NEXT_LINE>>> \\] { |
| 1787 | 1803 | !ifndef BASEAPPNAME |
| 1788 | 1804 | BASEAPPNAME = fossil |
| 1789 | 1805 | !endif |
| 1790 | 1806 | |
| 1791 | 1807 | APPNAME = $(OX)\$(BASEAPPNAME)$(E) |
| 1792 | 1808 | PDBNAME = $(OX)\$(BASEAPPNAME)$(P) |
| 1793 | 1809 | APPTARGETS = |
| 1794 | 1810 | |
| 1795 | -all: $(OX) $(APPNAME) | |
| 1811 | +all: "$(OX)" "$(APPNAME)" | |
| 1812 | + | |
| 1813 | +$(BASEAPPNAME): "$(APPNAME)" | |
| 1814 | + | |
| 1815 | +$(BASEAPPNAME)$(E): "$(APPNAME)" | |
| 1816 | + | |
| 1817 | +install: "$(APPNAME)" | |
| 1818 | + echo F | xcopy /Y "$(APPNAME)" "$(INSTALLDIR)"\* | |
| 1819 | +!if $(DEBUG)!=0 | |
| 1820 | + echo F | xcopy /Y "$(PDBNAME)" "$(INSTALLDIR)"\* | |
| 1821 | +!endif | |
| 1822 | + | |
| 1823 | +$(OX): | |
| 1824 | + @-mkdir $@ | |
| 1796 | 1825 | |
| 1797 | 1826 | zlib: |
| 1798 | 1827 | @echo Building zlib from "$(ZLIBDIR)"... |
| 1799 | 1828 | !if $(FOSSIL_ENABLE_WINXP)!=0 |
| 1800 | 1829 | @pushd "$(ZLIBDIR)" && $(MAKE) /f win32\Makefile.msc $(ZLIB) "CC=cl $(XPCFLAGS)" "LD=link $(XPLDFLAGS)" && popd |
| 1801 | 1830 | !else |
| 1802 | 1831 | @pushd "$(ZLIBDIR)" && $(MAKE) /f win32\Makefile.msc $(ZLIB) && popd |
| 1803 | 1832 | !endif |
| 1804 | 1833 | |
| 1834 | +clean-zlib: | |
| 1835 | + @pushd "$(ZLIBDIR)" && $(MAKE) /f win32\Makefile.msc clean && popd | |
| 1836 | + | |
| 1805 | 1837 | !if $(FOSSIL_ENABLE_SSL)!=0 |
| 1806 | 1838 | openssl: |
| 1807 | 1839 | @echo Building OpenSSL from "$(SSLDIR)"... |
| 1808 | -!if "$(PERLDIR)" != "" | |
| 1809 | - @set PATH=$(PERLDIR);$(PATH) | |
| 1840 | +!ifdef PERLDIR | |
| 1841 | + @pushd "$(SSLDIR)" && "$(PERLDIR)\$(PERL)" Configure $(SSLCONFIG) && popd | |
| 1842 | +!else | |
| 1843 | + @pushd "$(SSLDIR)" && "$(PERL)" Configure $(SSLCONFIG) && popd | |
| 1810 | 1844 | !endif |
| 1811 | - @pushd "$(SSLDIR)" && $(PERL) Configure $(SSLCONFIG) && popd | |
| 1812 | 1845 | !if $(FOSSIL_ENABLE_WINXP)!=0 |
| 1813 | 1846 | @pushd "$(SSLDIR)" && $(MAKE) "CC=cl $(XPCFLAGS)" "LFLAGS=$(XPLDFLAGS)" && popd |
| 1814 | 1847 | !else |
| 1815 | 1848 | @pushd "$(SSLDIR)" && $(MAKE) && popd |
| 1816 | 1849 | !endif |
| 1850 | + | |
| 1851 | +clean-openssl: | |
| 1852 | + @pushd "$(SSLDIR)" && $(MAKE) clean && popd | |
| 1817 | 1853 | !endif |
| 1818 | 1854 | |
| 1819 | 1855 | !if $(FOSSIL_ENABLE_MINIZ)==0 |
| 1820 | 1856 | !if $(FOSSIL_BUILD_ZLIB)!=0 |
| 1821 | 1857 | APPTARGETS = $(APPTARGETS) zlib |
| @@ -1826,49 +1862,45 @@ | ||
| 1826 | 1862 | !if $(FOSSIL_BUILD_SSL)!=0 |
| 1827 | 1863 | APPTARGETS = $(APPTARGETS) openssl |
| 1828 | 1864 | !endif |
| 1829 | 1865 | !endif |
| 1830 | 1866 | |
| 1831 | -$(APPNAME) : $(APPTARGETS) translate$E mkindex$E codecheck1$E headers $(OBJ) $(OX)\linkopts | |
| 1832 | - cd $(OX) | |
| 1833 | - codecheck1$E $(SRC) | |
| 1834 | - link $(LDFLAGS) /OUT:$@ $(LIBDIR) Wsetargv.obj fossil.res @linkopts | |
| 1835 | - if exist [email protected] <<<NEXT_LINE>>> | |
| 1836 | - $(MTC) -nologo -manifest [email protected] -outputresource:$@;1 | |
| 1837 | - | |
| 1838 | -$(OX)\linkopts: $B\win\Makefile.msc}] | |
| 1867 | +"$(APPNAME)" : $(APPTARGETS) "$(OBJDIR)\translate$E" "$(OBJDIR)\mkindex$E" "$(OBJDIR)\codecheck1$E" "$(OX)\headers" $(OBJ) "$(OX)\linkopts" | |
| 1868 | + "$(OBJDIR)\codecheck1$E" $(SRC) | |
| 1869 | + link $(LDFLAGS) /OUT:$@ /PDB:$(@D)\ $(LIBDIR) Wsetargv.obj "$(OX)\fossil.res" @"$(OX)\linkopts" | |
| 1870 | + if exist "$(B)\win\fossil.exe.manifest" <<<NEXT_LINE>>> | |
| 1871 | + $(MTC) -nologo -manifest "$(B)\win\fossil.exe.manifest" -outputresource:$@;1 | |
| 1872 | + | |
| 1873 | +"$(OX)\linkopts": "$(B)\win\Makefile.msc"}] | |
| 1839 | 1874 | set redir {>} |
| 1840 | 1875 | foreach s [lsort [concat $src $AdditionalObj]] { |
| 1841 | - writeln "\techo \$(OX)\\$s.obj $redir \$@" | |
| 1876 | + writeln "\techo \"\$(OX)\\$s.obj\" $redir \$@" | |
| 1842 | 1877 | set redir {>>} |
| 1843 | 1878 | } |
| 1844 | 1879 | set redir {>>} |
| 1845 | 1880 | writeln "!if \$(FOSSIL_ENABLE_MINIZ)!=0" |
| 1846 | -writeln "\techo \$(OX)\\miniz.obj $redir \$@" | |
| 1881 | +writeln "\techo \"\$(OX)\\miniz.obj\" $redir \$@" | |
| 1847 | 1882 | writeln "!endif" |
| 1848 | 1883 | writeln "\techo \$(LIBS) $redir \$@" |
| 1849 | 1884 | writeln { |
| 1850 | -$(OX): | |
| 1851 | - @-mkdir $@ | |
| 1852 | - | |
| 1853 | -translate$E: $(SRCDIR)\translate.c | |
| 1854 | - $(BCC) $** | |
| 1855 | - | |
| 1856 | -makeheaders$E: $(SRCDIR)\makeheaders.c | |
| 1857 | - $(BCC) $** | |
| 1858 | - | |
| 1859 | -mkindex$E: $(SRCDIR)\mkindex.c | |
| 1860 | - $(BCC) $** | |
| 1861 | - | |
| 1862 | -mkbuiltin$E: $(SRCDIR)\mkbuiltin.c | |
| 1863 | - $(BCC) $** | |
| 1864 | - | |
| 1865 | -mkversion$E: $(SRCDIR)\mkversion.c | |
| 1866 | - $(BCC) $** | |
| 1867 | - | |
| 1868 | -codecheck1$E: $(SRCDIR)\codecheck1.c | |
| 1869 | - $(BCC) $** | |
| 1885 | +"$(OBJDIR)\translate$E": "$(SRCDIR)\translate.c" | |
| 1886 | + $(BCC) /Fe$@ /Fo$(@D)\ /Fd$(@D)\ $** | |
| 1887 | + | |
| 1888 | +"$(OBJDIR)\makeheaders$E": "$(SRCDIR)\makeheaders.c" | |
| 1889 | + $(BCC) /Fe$@ /Fo$(@D)\ /Fd$(@D)\ $** | |
| 1890 | + | |
| 1891 | +"$(OBJDIR)\mkindex$E": "$(SRCDIR)\mkindex.c" | |
| 1892 | + $(BCC) /Fe$@ /Fo$(@D)\ /Fd$(@D)\ $** | |
| 1893 | + | |
| 1894 | +"$(OBJDIR)\mkbuiltin$E": "$(SRCDIR)\mkbuiltin.c" | |
| 1895 | + $(BCC) /Fe$@ /Fo$(@D)\ /Fd$(@D)\ $** | |
| 1896 | + | |
| 1897 | +"$(OBJDIR)\mkversion$E": "$(SRCDIR)\mkversion.c" | |
| 1898 | + $(BCC) /Fe$@ /Fo$(@D)\ /Fd$(@D)\ $** | |
| 1899 | + | |
| 1900 | +"$(OBJDIR)\codecheck1$E": "$(SRCDIR)\codecheck1.c" | |
| 1901 | + $(BCC) /Fe$@ /Fo$(@D)\ /Fd$(@D)\ $** | |
| 1870 | 1902 | |
| 1871 | 1903 | !if $(USE_SEE)!=0 |
| 1872 | 1904 | SEE_FLAGS = /DSQLITE_HAS_CODEC=1 /DSQLITE_SHELL_DBKEY_PROC=fossil_key |
| 1873 | 1905 | SQLITE3_SHELL_SRC = $(SRCDIR)\shell-see.c |
| 1874 | 1906 | SQLITE3_SRC = $(SRCDIR)\sqlite3-see.c |
| @@ -1876,109 +1908,123 @@ | ||
| 1876 | 1908 | SEE_FLAGS = |
| 1877 | 1909 | SQLITE3_SHELL_SRC = $(SRCDIR)\shell.c |
| 1878 | 1910 | SQLITE3_SRC = $(SRCDIR)\sqlite3.c |
| 1879 | 1911 | !endif |
| 1880 | 1912 | |
| 1881 | -$(OX)\shell$O : $(SQLITE3_SHELL_SRC) $B\win\Makefile.msc | |
| 1882 | - $(TCC) /Fo$@ $(SHELL_OPTIONS) $(SQLITE_OPTIONS) $(SHELL_CFLAGS) $(SEE_FLAGS) -c $(SQLITE3_SHELL_SRC) | |
| 1883 | - | |
| 1884 | -$(OX)\sqlite3$O : $(SQLITE3_SRC) $B\win\Makefile.msc | |
| 1885 | - $(TCC) /Fo$@ -c $(SQLITE_OPTIONS) $(SQLITE_CFLAGS) $(SEE_FLAGS) $(SQLITE3_SRC) | |
| 1886 | - | |
| 1887 | -$(OX)\th$O : $(SRCDIR)\th.c | |
| 1888 | - $(TCC) /Fo$@ -c $** | |
| 1889 | - | |
| 1890 | -$(OX)\th_lang$O : $(SRCDIR)\th_lang.c | |
| 1891 | - $(TCC) /Fo$@ -c $** | |
| 1892 | - | |
| 1893 | -$(OX)\th_tcl$O : $(SRCDIR)\th_tcl.c | |
| 1894 | - $(TCC) /Fo$@ -c $** | |
| 1895 | - | |
| 1896 | -$(OX)\miniz$O : $(SRCDIR)\miniz.c | |
| 1897 | - $(TCC) /Fo$@ -c $(MINIZ_OPTIONS) $(SRCDIR)\miniz.c | |
| 1898 | - | |
| 1899 | -VERSION.h : mkversion$E $B\manifest.uuid $B\manifest $B\VERSION | |
| 1900 | - $** > $@ | |
| 1901 | - | |
| 1902 | -$(OX)\cson_amalgamation$O : $(SRCDIR)\cson_amalgamation.c | |
| 1903 | - $(TCC) /Fo$@ /c $** | |
| 1904 | - | |
| 1905 | -page_index.h: mkindex$E $(SRC) | |
| 1906 | - $** > $@ | |
| 1907 | - | |
| 1908 | -builtin_data.h: mkbuiltin$E $(EXTRA_FILES) | |
| 1909 | - mkbuiltin$E --prefix $(SRCDIR)/ $(EXTRA_FILES) > $@ | |
| 1910 | - | |
| 1911 | -clean: | |
| 1912 | - -del $(OX)\*.obj 2>NUL | |
| 1913 | - -del *.obj 2>NUL | |
| 1914 | - -del *_.c 2>NUL | |
| 1915 | - -del *.h 2>NUL | |
| 1916 | - -del *.ilk 2>NUL | |
| 1917 | - -del *.map 2>NUL | |
| 1918 | - -del *.res 2>NUL | |
| 1919 | - -del headers 2>NUL | |
| 1920 | - -del linkopts 2>NUL | |
| 1921 | - -del vc*.pdb 2>NUL | |
| 1922 | - | |
| 1923 | -realclean: clean | |
| 1924 | - -del $(APPNAME) 2>NUL | |
| 1925 | - -del $(PDBNAME) 2>NUL | |
| 1926 | - -del translate$E 2>NUL | |
| 1927 | - -del translate$P 2>NUL | |
| 1928 | - -del mkindex$E 2>NUL | |
| 1929 | - -del mkindex$P 2>NUL | |
| 1930 | - -del makeheaders$E 2>NUL | |
| 1931 | - -del makeheaders$P 2>NUL | |
| 1932 | - -del mkversion$E 2>NUL | |
| 1933 | - -del mkversion$P 2>NUL | |
| 1934 | - -del codecheck1$E 2>NUL | |
| 1935 | - -del codecheck1$P 2>NUL | |
| 1936 | - -del mkbuiltin$E 2>NUL | |
| 1937 | - -del mkbuiltin$P 2>NUL | |
| 1938 | - | |
| 1939 | -$(OBJDIR)\json$O : $(SRCDIR)\json_detail.h | |
| 1940 | -$(OBJDIR)\json_artifact$O : $(SRCDIR)\json_detail.h | |
| 1941 | -$(OBJDIR)\json_branch$O : $(SRCDIR)\json_detail.h | |
| 1942 | -$(OBJDIR)\json_config$O : $(SRCDIR)\json_detail.h | |
| 1943 | -$(OBJDIR)\json_diff$O : $(SRCDIR)\json_detail.h | |
| 1944 | -$(OBJDIR)\json_dir$O : $(SRCDIR)\json_detail.h | |
| 1945 | -$(OBJDIR)\json_finfo$O : $(SRCDIR)\json_detail.h | |
| 1946 | -$(OBJDIR)\json_login$O : $(SRCDIR)\json_detail.h | |
| 1947 | -$(OBJDIR)\json_query$O : $(SRCDIR)\json_detail.h | |
| 1948 | -$(OBJDIR)\json_report$O : $(SRCDIR)\json_detail.h | |
| 1949 | -$(OBJDIR)\json_status$O : $(SRCDIR)\json_detail.h | |
| 1950 | -$(OBJDIR)\json_tag$O : $(SRCDIR)\json_detail.h | |
| 1951 | -$(OBJDIR)\json_timeline$O : $(SRCDIR)\json_detail.h | |
| 1952 | -$(OBJDIR)\json_user$O : $(SRCDIR)\json_detail.h | |
| 1953 | -$(OBJDIR)\json_wiki$O : $(SRCDIR)\json_detail.h | |
| 1954 | -} | |
| 1955 | -foreach s [lsort $src] { | |
| 1956 | - writeln "\$(OX)\\$s\$O : ${s}_.c ${s}.h" | |
| 1957 | - writeln "\t\$(TCC) /Fo\$@ -c ${s}_.c\n" | |
| 1958 | - writeln "${s}_.c : \$(SRCDIR)\\$s.c" | |
| 1959 | - writeln "\ttranslate\$E \$** > \$@\n" | |
| 1960 | -} | |
| 1961 | - | |
| 1962 | -writeln "fossil.res : \$B\\win\\fossil.rc" | |
| 1963 | -writeln "\t\$(RCC) /fo \$@ \$**\n" | |
| 1964 | - | |
| 1965 | -writeln "headers: makeheaders\$E page_index.h builtin_data.h VERSION.h" | |
| 1966 | -writeln -nonewline "\tmakeheaders\$E " | |
| 1913 | +"$(OX)\shell$O" : "$(SQLITE3_SHELL_SRC)" "$(B)\win\Makefile.msc" | |
| 1914 | + $(TCC) /Fo$@ /Fd$(@D)\ $(SHELL_OPTIONS) $(SQLITE_OPTIONS) $(SHELL_CFLAGS) $(SEE_FLAGS) -c "$(SQLITE3_SHELL_SRC)" | |
| 1915 | + | |
| 1916 | +"$(OX)\sqlite3$O" : "$(SQLITE3_SRC)" "$(B)\win\Makefile.msc" | |
| 1917 | + $(TCC) /Fo$@ /Fd$(@D)\ -c $(SQLITE_OPTIONS) $(SQLITE_CFLAGS) $(SEE_FLAGS) "$(SQLITE3_SRC)" | |
| 1918 | + | |
| 1919 | +"$(OX)\th$O" : "$(SRCDIR)\th.c" | |
| 1920 | + $(TCC) /Fo$@ /Fd$(@D)\ -c $** | |
| 1921 | + | |
| 1922 | +"$(OX)\th_lang$O" : "$(SRCDIR)\th_lang.c" | |
| 1923 | + $(TCC) /Fo$@ /Fd$(@D)\ -c $** | |
| 1924 | + | |
| 1925 | +"$(OX)\th_tcl$O" : "$(SRCDIR)\th_tcl.c" | |
| 1926 | + $(TCC) /Fo$@ /Fd$(@D)\ -c $** | |
| 1927 | + | |
| 1928 | +"$(OX)\miniz$O" : "$(SRCDIR)\miniz.c" | |
| 1929 | + $(TCC) /Fo$@ /Fd$(@D)\ -c $(MINIZ_OPTIONS) $** | |
| 1930 | + | |
| 1931 | +"$(OX)\VERSION.h" : "$(OBJDIR)\mkversion$E" "$(B)\manifest.uuid" "$(B)\manifest" "$(B)\VERSION" | |
| 1932 | + $** > $@ | |
| 1933 | + | |
| 1934 | +"$(OX)\cson_amalgamation$O" : "$(SRCDIR)\cson_amalgamation.c" | |
| 1935 | + $(TCC) /Fo$@ /Fd$(@D)\ -c $** | |
| 1936 | + | |
| 1937 | +"$(OX)\page_index.h": "$(OBJDIR)\mkindex$E" $(SRC) | |
| 1938 | + $** > $@ | |
| 1939 | + | |
| 1940 | +"$(OX)\builtin_data.h": "$(OBJDIR)\mkbuiltin$E" "$(OX)\builtin_data.reslist" | |
| 1941 | + "$(OBJDIR)\mkbuiltin$E" --prefix "$(SRCDIR)/" --reslist "$(OX)\builtin_data.reslist" > $@ | |
| 1942 | + | |
| 1943 | +cleanx: | |
| 1944 | + -del "$(OX)\*.obj" 2>NUL | |
| 1945 | + -del "$(OBJDIR)\*.obj" 2>NUL | |
| 1946 | + -del "$(OX)\*_.c" 2>NUL | |
| 1947 | + -del "$(OX)\*.h" 2>NUL | |
| 1948 | + -del "$(OX)\*.ilk" 2>NUL | |
| 1949 | + -del "$(OX)\*.map" 2>NUL | |
| 1950 | + -del "$(OX)\*.res" 2>NUL | |
| 1951 | + -del "$(OX)\*.reslist" 2>NUL | |
| 1952 | + -del "$(OX)\headers" 2>NUL | |
| 1953 | + -del "$(OX)\linkopts" 2>NUL | |
| 1954 | + -del "$(OX)\vc*.pdb" 2>NUL | |
| 1955 | + | |
| 1956 | +clean: cleanx | |
| 1957 | + -del "$(APPNAME)" 2>NUL | |
| 1958 | + -del "$(PDBNAME)" 2>NUL | |
| 1959 | + -del "$(OBJDIR)\translate$E" 2>NUL | |
| 1960 | + -del "$(OBJDIR)\translate$P" 2>NUL | |
| 1961 | + -del "$(OBJDIR)\mkindex$E" 2>NUL | |
| 1962 | + -del "$(OBJDIR)\mkindex$P" 2>NUL | |
| 1963 | + -del "$(OBJDIR)\makeheaders$E" 2>NUL | |
| 1964 | + -del "$(OBJDIR)\makeheaders$P" 2>NUL | |
| 1965 | + -del "$(OBJDIR)\mkversion$E" 2>NUL | |
| 1966 | + -del "$(OBJDIR)\mkversion$P" 2>NUL | |
| 1967 | + -del "$(OBJDIR)\mkcss$E" 2>NUL | |
| 1968 | + -del "$(OBJDIR)\mkcss$P" 2>NUL | |
| 1969 | + -del "$(OBJDIR)\codecheck1$E" 2>NUL | |
| 1970 | + -del "$(OBJDIR)\codecheck1$P" 2>NUL | |
| 1971 | + -del "$(OBJDIR)\mkbuiltin$E" 2>NUL | |
| 1972 | + -del "$(OBJDIR)\mkbuiltin$P" 2>NUL | |
| 1973 | + | |
| 1974 | +realclean: clean | |
| 1975 | + | |
| 1976 | +"$(OBJDIR)\json$O" : "$(SRCDIR)\json_detail.h" | |
| 1977 | +"$(OBJDIR)\json_artifact$O" : "$(SRCDIR)\json_detail.h" | |
| 1978 | +"$(OBJDIR)\json_branch$O" : "$(SRCDIR)\json_detail.h" | |
| 1979 | +"$(OBJDIR)\json_config$O" : "$(SRCDIR)\json_detail.h" | |
| 1980 | +"$(OBJDIR)\json_diff$O" : "$(SRCDIR)\json_detail.h" | |
| 1981 | +"$(OBJDIR)\json_dir$O" : "$(SRCDIR)\json_detail.h" | |
| 1982 | +"$(OBJDIR)\json_finfo$O" : "$(SRCDIR)\json_detail.h" | |
| 1983 | +"$(OBJDIR)\json_login$O" : "$(SRCDIR)\json_detail.h" | |
| 1984 | +"$(OBJDIR)\json_query$O" : "$(SRCDIR)\json_detail.h" | |
| 1985 | +"$(OBJDIR)\json_report$O" : "$(SRCDIR)\json_detail.h" | |
| 1986 | +"$(OBJDIR)\json_status$O" : "$(SRCDIR)\json_detail.h" | |
| 1987 | +"$(OBJDIR)\json_tag$O" : "$(SRCDIR)\json_detail.h" | |
| 1988 | +"$(OBJDIR)\json_timeline$O" : "$(SRCDIR)\json_detail.h" | |
| 1989 | +"$(OBJDIR)\json_user$O" : "$(SRCDIR)\json_detail.h" | |
| 1990 | +"$(OBJDIR)\json_wiki$O" : "$(SRCDIR)\json_detail.h" | |
| 1991 | +} | |
| 1992 | + | |
| 1993 | +writeln {"$(OX)\builtin_data.reslist": $(EXTRA_FILES) "$(B)\win\Makefile.msc"} | |
| 1994 | +set redir {>} | |
| 1995 | +foreach s [lsort $extra_files] { | |
| 1996 | + writeln "\techo \"\$(SRCDIR)\\${s}\" $redir \$@" | |
| 1997 | + set redir {>>} | |
| 1998 | +} | |
| 1999 | + | |
| 2000 | +writeln "" | |
| 2001 | +foreach s [lsort $src] { | |
| 2002 | + writeln "\"\$(OX)\\$s\$O\" : \"\$(OX)\\${s}_.c\" \"\$(OX)\\${s}.h\"" | |
| 2003 | + writeln "\t\$(TCC) /Fo\$@ /Fd\$(@D)\\ -c \"\$(OX)\\${s}_.c\"\n" | |
| 2004 | + writeln "\"\$(OX)\\${s}_.c\" : \"\$(SRCDIR)\\$s.c\"" | |
| 2005 | + writeln "\t\"\$(OBJDIR)\\translate\$E\" \$** > \$@\n" | |
| 2006 | +} | |
| 2007 | + | |
| 2008 | +writeln "\"\$(OX)\\fossil.res\" : \"\$(B)\\win\\fossil.rc\"" | |
| 2009 | +writeln "\t\$(RCC) /fo \$@ \$**\n" | |
| 2010 | + | |
| 2011 | +writeln "\"\$(OX)\\headers\": \"\$(OBJDIR)\\makeheaders\$E\" \"\$(OX)\\page_index.h\" \"\$(OX)\\builtin_data.h\" \"\$(OX)\\default_css.h\" \"\$(OX)\\VERSION.h\"" | |
| 2012 | +writeln -nonewline "\t\"\$(OBJDIR)\\makeheaders\$E\" " | |
| 1967 | 2013 | set i 0 |
| 1968 | 2014 | foreach s [lsort $src] { |
| 1969 | 2015 | if {$i > 0} { |
| 1970 | 2016 | writeln " \\" |
| 1971 | 2017 | writeln -nonewline "\t\t\t" |
| 1972 | 2018 | } |
| 1973 | - writeln -nonewline "${s}_.c:$s.h"; incr i | |
| 2019 | + writeln -nonewline "\"\$(OX)\\${s}_.c\":\"\$(OX)\\$s.h\""; incr i | |
| 1974 | 2020 | } |
| 1975 | -writeln " \\\n\t\t\t\$(SRCDIR)\\sqlite3.h \\" | |
| 1976 | -writeln "\t\t\t\$(SRCDIR)\\th.h \\" | |
| 1977 | -writeln "\t\t\tVERSION.h \\" | |
| 1978 | -writeln "\t\t\t\$(SRCDIR)\\cson_amalgamation.h" | |
| 1979 | -writeln "\t@copy /Y nul: headers" | |
| 2021 | +writeln " \\\n\t\t\t\"\$(SRCDIR)\\sqlite3.h\" \\" | |
| 2022 | +writeln "\t\t\t\"\$(SRCDIR)\\th.h\" \\" | |
| 2023 | +writeln "\t\t\t\"\$(OX)\\VERSION.h\" \\" | |
| 2024 | +writeln "\t\t\t\"\$(SRCDIR)\\cson_amalgamation.h\"" | |
| 2025 | +writeln "\t@copy /Y nul: $@" | |
| 1980 | 2026 | |
| 1981 | 2027 | |
| 1982 | 2028 | close $output_file |
| 1983 | 2029 | # |
| 1984 | 2030 | # End of the win/Makefile.msc output |
| 1985 | 2031 |
| --- src/makemake.tcl | |
| +++ src/makemake.tcl | |
| @@ -26,10 +26,11 @@ | |
| 26 | # Set the separate extra_files variable further down for how to add non-C |
| 27 | # files, such as string and BLOB resources. |
| 28 | # |
| 29 | set src { |
| 30 | add |
| 31 | alerts |
| 32 | allrepo |
| 33 | attach |
| 34 | backlink |
| 35 | backoffice |
| @@ -193,11 +194,10 @@ | |
| 193 | -DSQLITE_DEFAULT_MEMSTATUS=0 |
| 194 | -DSQLITE_DEFAULT_WAL_SYNCHRONOUS=1 |
| 195 | -DSQLITE_LIKE_DOESNT_MATCH_BLOBS |
| 196 | -DSQLITE_OMIT_DECLTYPE |
| 197 | -DSQLITE_OMIT_DEPRECATED |
| 198 | -DSQLITE_OMIT_GET_TABLE |
| 199 | -DSQLITE_OMIT_PROGRESS_CALLBACK |
| 200 | -DSQLITE_OMIT_SHARED_CACHE |
| 201 | -DSQLITE_OMIT_LOAD_EXTENSION |
| 202 | -DSQLITE_MAX_EXPR_DEPTH=0 |
| 203 | -DSQLITE_USE_ALLOCA |
| @@ -475,10 +475,11 @@ | |
| 475 | writeln "\$(OBJDIR)/headers:\t\$(OBJDIR)/page_index.h \$(OBJDIR)/builtin_data.h \$(OBJDIR)/makeheaders \$(OBJDIR)/VERSION.h" |
| 476 | writeln "\t\$(OBJDIR)/makeheaders $mhargs" |
| 477 | writeln "\ttouch \$(OBJDIR)/headers" |
| 478 | writeln "\$(OBJDIR)/headers: Makefile" |
| 479 | writeln "\$(OBJDIR)/json.o \$(OBJDIR)/json_artifact.o \$(OBJDIR)/json_branch.o \$(OBJDIR)/json_config.o \$(OBJDIR)/json_diff.o \$(OBJDIR)/json_dir.o \$(OBJDIR)/json_finfo.o \$(OBJDIR)/json_login.o \$(OBJDIR)/json_query.o \$(OBJDIR)/json_report.o \$(OBJDIR)/json_status.o \$(OBJDIR)/json_tag.o \$(OBJDIR)/json_timeline.o \$(OBJDIR)/json_user.o \$(OBJDIR)/json_wiki.o : \$(SRCDIR)/json_detail.h" |
| 480 | writeln "Makefile:" |
| 481 | set extra_h(dispatch) " \$(OBJDIR)/page_index.h " |
| 482 | set extra_h(builtin) " \$(OBJDIR)/builtin_data.h " |
| 483 | |
| 484 | foreach s [lsort $src] { |
| @@ -1423,11 +1424,10 @@ | |
| 1423 | $(OBJDIR)\json_tag$O : $(SRCDIR)\json_detail.h |
| 1424 | $(OBJDIR)\json_timeline$O : $(SRCDIR)\json_detail.h |
| 1425 | $(OBJDIR)\json_user$O : $(SRCDIR)\json_detail.h |
| 1426 | $(OBJDIR)\json_wiki$O : $(SRCDIR)\json_detail.h |
| 1427 | |
| 1428 | |
| 1429 | } |
| 1430 | foreach s [lsort $src] { |
| 1431 | writeln "\$(OBJDIR)\\$s\$O : ${s}_.c ${s}.h" |
| 1432 | writeln "\t\$(TCC) -o\$@ -c ${s}_.c\n" |
| 1433 | writeln "${s}_.c : \$(SRCDIR)\\$s.c" |
| @@ -1456,39 +1456,52 @@ | |
| 1456 | writeln {# |
| 1457 | ############################################################################## |
| 1458 | # WARNING: DO NOT EDIT, AUTOMATICALLY GENERATED FILE (SEE "src/makemake.tcl") |
| 1459 | ############################################################################## |
| 1460 | # |
| 1461 | # This Makefile will only function correctly if used from a sub-directory |
| 1462 | # that is a direct child of the top-level directory for this project. |
| 1463 | # |
| 1464 | !if !exist("..\.fossil-settings") |
| 1465 | !error "Please change the current directory to the one containing this file." |
| 1466 | !endif |
| 1467 | |
| 1468 | # |
| 1469 | # This file is automatically generated. Instead of editing this |
| 1470 | # file, edit "makemake.tcl" then run "tclsh makemake.tcl" |
| 1471 | # to regenerate this file. |
| 1472 | # |
| 1473 | B = .. |
| 1474 | SRCDIR = $B\src |
| 1475 | OBJDIR = . |
| 1476 | OX = . |
| 1477 | O = .obj |
| 1478 | E = .exe |
| 1479 | P = .pdb |
| 1480 | |
| 1481 | # Perl is only necessary if OpenSSL support is enabled and it must |
| 1482 | # be built from source code. The PERLDIR variable should point to |
| 1483 | # the directory containing the main Perl binary (i.e. "perl.exe"). |
| 1484 | PERLDIR = C:\Perl\bin |
| 1485 | PERL = perl.exe |
| 1486 | |
| 1487 | # Enable debugging symbols? |
| 1488 | !ifndef DEBUG |
| 1489 | DEBUG = 0 |
| 1490 | !endif |
| 1491 | |
| 1492 | # Build the OpenSSL libraries? |
| 1493 | !ifndef FOSSIL_BUILD_SSL |
| 1494 | FOSSIL_BUILD_SSL = 0 |
| @@ -1605,27 +1618,30 @@ | |
| 1605 | ZLIB = zdll.lib |
| 1606 | !else |
| 1607 | ZLIB = zlib.lib |
| 1608 | !endif |
| 1609 | |
| 1610 | INCL = /I. /I$(SRCDIR) /I$B\win\include |
| 1611 | |
| 1612 | !if $(FOSSIL_ENABLE_MINIZ)==0 |
| 1613 | INCL = $(INCL) /I$(ZINCDIR) |
| 1614 | !endif |
| 1615 | |
| 1616 | !if $(FOSSIL_ENABLE_SSL)!=0 |
| 1617 | INCL = $(INCL) /I$(SSLINCDIR) |
| 1618 | !endif |
| 1619 | |
| 1620 | !if $(FOSSIL_ENABLE_TCL)!=0 |
| 1621 | INCL = $(INCL) /I$(TCLINCDIR) |
| 1622 | !endif |
| 1623 | |
| 1624 | CFLAGS = /nologo |
| 1625 | LDFLAGS = |
| 1626 | |
| 1627 | !if $(FOSSIL_DYNAMIC_BUILD)!=0 |
| 1628 | LDFLAGS = $(LDFLAGS) /MANIFEST |
| 1629 | !else |
| 1630 | LDFLAGS = $(LDFLAGS) /NODEFAULTLIB:msvcrt /MANIFEST:NO |
| 1631 | !endif |
| @@ -1654,11 +1670,11 @@ | |
| 1654 | CRTFLAGS = /MT |
| 1655 | !endif |
| 1656 | !endif |
| 1657 | |
| 1658 | !if $(DEBUG)!=0 |
| 1659 | CFLAGS = $(CFLAGS) /Zi $(CRTFLAGS) /Od |
| 1660 | LDFLAGS = $(LDFLAGS) /DEBUG |
| 1661 | !else |
| 1662 | CFLAGS = $(CFLAGS) $(CRTFLAGS) /O2 |
| 1663 | !endif |
| 1664 | |
| @@ -1674,11 +1690,11 @@ | |
| 1674 | RCC = $(RCC) /DFOSSIL_DYNAMIC_BUILD=1 |
| 1675 | !endif |
| 1676 | |
| 1677 | !if $(FOSSIL_ENABLE_MINIZ)==0 |
| 1678 | LIBS = $(LIBS) $(ZLIB) |
| 1679 | LIBDIR = $(LIBDIR) /LIBPATH:$(ZLIBDIR) |
| 1680 | !endif |
| 1681 | |
| 1682 | !if $(FOSSIL_ENABLE_MINIZ)!=0 |
| 1683 | TCC = $(TCC) /DFOSSIL_ENABLE_MINIZ=1 |
| 1684 | RCC = $(RCC) /DFOSSIL_ENABLE_MINIZ=1 |
| @@ -1691,11 +1707,11 @@ | |
| 1691 | |
| 1692 | !if $(FOSSIL_ENABLE_SSL)!=0 |
| 1693 | TCC = $(TCC) /DFOSSIL_ENABLE_SSL=1 |
| 1694 | RCC = $(RCC) /DFOSSIL_ENABLE_SSL=1 |
| 1695 | LIBS = $(LIBS) $(SSLLIB) |
| 1696 | LIBDIR = $(LIBDIR) /LIBPATH:$(SSLLIBDIR) |
| 1697 | !endif |
| 1698 | |
| 1699 | !if $(FOSSIL_ENABLE_EXEC_REL_PATHS)!=0 |
| 1700 | TCC = $(TCC) /DFOSSIL_ENABLE_EXEC_REL_PATHS=1 |
| 1701 | RCC = $(RCC) /DFOSSIL_ENABLE_EXEC_REL_PATHS=1 |
| @@ -1749,11 +1765,11 @@ | |
| 1749 | foreach s [lsort $src] { |
| 1750 | if {$i > 0} { |
| 1751 | writeln " \\" |
| 1752 | writeln -nonewline " " |
| 1753 | } |
| 1754 | writeln -nonewline "${s}_.c"; incr i |
| 1755 | } |
| 1756 | writeln "\n" |
| 1757 | writeln -nonewline "EXTRA_FILES = " |
| 1758 | set i 0 |
| 1759 | foreach s [lsort $extra_files] { |
| @@ -1760,11 +1776,11 @@ | |
| 1760 | if {$i > 0} { |
| 1761 | writeln " \\" |
| 1762 | writeln -nonewline " " |
| 1763 | } |
| 1764 | set s [regsub -all / $s \\] |
| 1765 | writeln -nonewline "\$(SRCDIR)\\${s}"; incr i |
| 1766 | } |
| 1767 | writeln "\n" |
| 1768 | set AdditionalObj [list shell sqlite3 th th_lang th_tcl cson_amalgamation] |
| 1769 | writeln -nonewline "OBJ = " |
| 1770 | set i 0 |
| @@ -1771,51 +1787,71 @@ | |
| 1771 | foreach s [lsort [concat $src $AdditionalObj]] { |
| 1772 | if {$i > 0} { |
| 1773 | writeln " \\" |
| 1774 | writeln -nonewline " " |
| 1775 | } |
| 1776 | writeln -nonewline "\$(OX)\\$s\$O"; incr i |
| 1777 | } |
| 1778 | if {$i > 0} { |
| 1779 | writeln " \\" |
| 1780 | } |
| 1781 | writeln "!if \$(FOSSIL_ENABLE_MINIZ)!=0" |
| 1782 | writeln -nonewline " " |
| 1783 | writeln "\$(OX)\\miniz\$O \\"; incr i |
| 1784 | writeln "!endif" |
| 1785 | writeln -nonewline " \$(OX)\\fossil.res\n\n" |
| 1786 | writeln [string map [list <<<NEXT_LINE>>> \\] { |
| 1787 | !ifndef BASEAPPNAME |
| 1788 | BASEAPPNAME = fossil |
| 1789 | !endif |
| 1790 | |
| 1791 | APPNAME = $(OX)\$(BASEAPPNAME)$(E) |
| 1792 | PDBNAME = $(OX)\$(BASEAPPNAME)$(P) |
| 1793 | APPTARGETS = |
| 1794 | |
| 1795 | all: $(OX) $(APPNAME) |
| 1796 | |
| 1797 | zlib: |
| 1798 | @echo Building zlib from "$(ZLIBDIR)"... |
| 1799 | !if $(FOSSIL_ENABLE_WINXP)!=0 |
| 1800 | @pushd "$(ZLIBDIR)" && $(MAKE) /f win32\Makefile.msc $(ZLIB) "CC=cl $(XPCFLAGS)" "LD=link $(XPLDFLAGS)" && popd |
| 1801 | !else |
| 1802 | @pushd "$(ZLIBDIR)" && $(MAKE) /f win32\Makefile.msc $(ZLIB) && popd |
| 1803 | !endif |
| 1804 | |
| 1805 | !if $(FOSSIL_ENABLE_SSL)!=0 |
| 1806 | openssl: |
| 1807 | @echo Building OpenSSL from "$(SSLDIR)"... |
| 1808 | !if "$(PERLDIR)" != "" |
| 1809 | @set PATH=$(PERLDIR);$(PATH) |
| 1810 | !endif |
| 1811 | @pushd "$(SSLDIR)" && $(PERL) Configure $(SSLCONFIG) && popd |
| 1812 | !if $(FOSSIL_ENABLE_WINXP)!=0 |
| 1813 | @pushd "$(SSLDIR)" && $(MAKE) "CC=cl $(XPCFLAGS)" "LFLAGS=$(XPLDFLAGS)" && popd |
| 1814 | !else |
| 1815 | @pushd "$(SSLDIR)" && $(MAKE) && popd |
| 1816 | !endif |
| 1817 | !endif |
| 1818 | |
| 1819 | !if $(FOSSIL_ENABLE_MINIZ)==0 |
| 1820 | !if $(FOSSIL_BUILD_ZLIB)!=0 |
| 1821 | APPTARGETS = $(APPTARGETS) zlib |
| @@ -1826,49 +1862,45 @@ | |
| 1826 | !if $(FOSSIL_BUILD_SSL)!=0 |
| 1827 | APPTARGETS = $(APPTARGETS) openssl |
| 1828 | !endif |
| 1829 | !endif |
| 1830 | |
| 1831 | $(APPNAME) : $(APPTARGETS) translate$E mkindex$E codecheck1$E headers $(OBJ) $(OX)\linkopts |
| 1832 | cd $(OX) |
| 1833 | codecheck1$E $(SRC) |
| 1834 | link $(LDFLAGS) /OUT:$@ $(LIBDIR) Wsetargv.obj fossil.res @linkopts |
| 1835 | if exist [email protected] <<<NEXT_LINE>>> |
| 1836 | $(MTC) -nologo -manifest [email protected] -outputresource:$@;1 |
| 1837 | |
| 1838 | $(OX)\linkopts: $B\win\Makefile.msc}] |
| 1839 | set redir {>} |
| 1840 | foreach s [lsort [concat $src $AdditionalObj]] { |
| 1841 | writeln "\techo \$(OX)\\$s.obj $redir \$@" |
| 1842 | set redir {>>} |
| 1843 | } |
| 1844 | set redir {>>} |
| 1845 | writeln "!if \$(FOSSIL_ENABLE_MINIZ)!=0" |
| 1846 | writeln "\techo \$(OX)\\miniz.obj $redir \$@" |
| 1847 | writeln "!endif" |
| 1848 | writeln "\techo \$(LIBS) $redir \$@" |
| 1849 | writeln { |
| 1850 | $(OX): |
| 1851 | @-mkdir $@ |
| 1852 | |
| 1853 | translate$E: $(SRCDIR)\translate.c |
| 1854 | $(BCC) $** |
| 1855 | |
| 1856 | makeheaders$E: $(SRCDIR)\makeheaders.c |
| 1857 | $(BCC) $** |
| 1858 | |
| 1859 | mkindex$E: $(SRCDIR)\mkindex.c |
| 1860 | $(BCC) $** |
| 1861 | |
| 1862 | mkbuiltin$E: $(SRCDIR)\mkbuiltin.c |
| 1863 | $(BCC) $** |
| 1864 | |
| 1865 | mkversion$E: $(SRCDIR)\mkversion.c |
| 1866 | $(BCC) $** |
| 1867 | |
| 1868 | codecheck1$E: $(SRCDIR)\codecheck1.c |
| 1869 | $(BCC) $** |
| 1870 | |
| 1871 | !if $(USE_SEE)!=0 |
| 1872 | SEE_FLAGS = /DSQLITE_HAS_CODEC=1 /DSQLITE_SHELL_DBKEY_PROC=fossil_key |
| 1873 | SQLITE3_SHELL_SRC = $(SRCDIR)\shell-see.c |
| 1874 | SQLITE3_SRC = $(SRCDIR)\sqlite3-see.c |
| @@ -1876,109 +1908,123 @@ | |
| 1876 | SEE_FLAGS = |
| 1877 | SQLITE3_SHELL_SRC = $(SRCDIR)\shell.c |
| 1878 | SQLITE3_SRC = $(SRCDIR)\sqlite3.c |
| 1879 | !endif |
| 1880 | |
| 1881 | $(OX)\shell$O : $(SQLITE3_SHELL_SRC) $B\win\Makefile.msc |
| 1882 | $(TCC) /Fo$@ $(SHELL_OPTIONS) $(SQLITE_OPTIONS) $(SHELL_CFLAGS) $(SEE_FLAGS) -c $(SQLITE3_SHELL_SRC) |
| 1883 | |
| 1884 | $(OX)\sqlite3$O : $(SQLITE3_SRC) $B\win\Makefile.msc |
| 1885 | $(TCC) /Fo$@ -c $(SQLITE_OPTIONS) $(SQLITE_CFLAGS) $(SEE_FLAGS) $(SQLITE3_SRC) |
| 1886 | |
| 1887 | $(OX)\th$O : $(SRCDIR)\th.c |
| 1888 | $(TCC) /Fo$@ -c $** |
| 1889 | |
| 1890 | $(OX)\th_lang$O : $(SRCDIR)\th_lang.c |
| 1891 | $(TCC) /Fo$@ -c $** |
| 1892 | |
| 1893 | $(OX)\th_tcl$O : $(SRCDIR)\th_tcl.c |
| 1894 | $(TCC) /Fo$@ -c $** |
| 1895 | |
| 1896 | $(OX)\miniz$O : $(SRCDIR)\miniz.c |
| 1897 | $(TCC) /Fo$@ -c $(MINIZ_OPTIONS) $(SRCDIR)\miniz.c |
| 1898 | |
| 1899 | VERSION.h : mkversion$E $B\manifest.uuid $B\manifest $B\VERSION |
| 1900 | $** > $@ |
| 1901 | |
| 1902 | $(OX)\cson_amalgamation$O : $(SRCDIR)\cson_amalgamation.c |
| 1903 | $(TCC) /Fo$@ /c $** |
| 1904 | |
| 1905 | page_index.h: mkindex$E $(SRC) |
| 1906 | $** > $@ |
| 1907 | |
| 1908 | builtin_data.h: mkbuiltin$E $(EXTRA_FILES) |
| 1909 | mkbuiltin$E --prefix $(SRCDIR)/ $(EXTRA_FILES) > $@ |
| 1910 | |
| 1911 | clean: |
| 1912 | -del $(OX)\*.obj 2>NUL |
| 1913 | -del *.obj 2>NUL |
| 1914 | -del *_.c 2>NUL |
| 1915 | -del *.h 2>NUL |
| 1916 | -del *.ilk 2>NUL |
| 1917 | -del *.map 2>NUL |
| 1918 | -del *.res 2>NUL |
| 1919 | -del headers 2>NUL |
| 1920 | -del linkopts 2>NUL |
| 1921 | -del vc*.pdb 2>NUL |
| 1922 | |
| 1923 | realclean: clean |
| 1924 | -del $(APPNAME) 2>NUL |
| 1925 | -del $(PDBNAME) 2>NUL |
| 1926 | -del translate$E 2>NUL |
| 1927 | -del translate$P 2>NUL |
| 1928 | -del mkindex$E 2>NUL |
| 1929 | -del mkindex$P 2>NUL |
| 1930 | -del makeheaders$E 2>NUL |
| 1931 | -del makeheaders$P 2>NUL |
| 1932 | -del mkversion$E 2>NUL |
| 1933 | -del mkversion$P 2>NUL |
| 1934 | -del codecheck1$E 2>NUL |
| 1935 | -del codecheck1$P 2>NUL |
| 1936 | -del mkbuiltin$E 2>NUL |
| 1937 | -del mkbuiltin$P 2>NUL |
| 1938 | |
| 1939 | $(OBJDIR)\json$O : $(SRCDIR)\json_detail.h |
| 1940 | $(OBJDIR)\json_artifact$O : $(SRCDIR)\json_detail.h |
| 1941 | $(OBJDIR)\json_branch$O : $(SRCDIR)\json_detail.h |
| 1942 | $(OBJDIR)\json_config$O : $(SRCDIR)\json_detail.h |
| 1943 | $(OBJDIR)\json_diff$O : $(SRCDIR)\json_detail.h |
| 1944 | $(OBJDIR)\json_dir$O : $(SRCDIR)\json_detail.h |
| 1945 | $(OBJDIR)\json_finfo$O : $(SRCDIR)\json_detail.h |
| 1946 | $(OBJDIR)\json_login$O : $(SRCDIR)\json_detail.h |
| 1947 | $(OBJDIR)\json_query$O : $(SRCDIR)\json_detail.h |
| 1948 | $(OBJDIR)\json_report$O : $(SRCDIR)\json_detail.h |
| 1949 | $(OBJDIR)\json_status$O : $(SRCDIR)\json_detail.h |
| 1950 | $(OBJDIR)\json_tag$O : $(SRCDIR)\json_detail.h |
| 1951 | $(OBJDIR)\json_timeline$O : $(SRCDIR)\json_detail.h |
| 1952 | $(OBJDIR)\json_user$O : $(SRCDIR)\json_detail.h |
| 1953 | $(OBJDIR)\json_wiki$O : $(SRCDIR)\json_detail.h |
| 1954 | } |
| 1955 | foreach s [lsort $src] { |
| 1956 | writeln "\$(OX)\\$s\$O : ${s}_.c ${s}.h" |
| 1957 | writeln "\t\$(TCC) /Fo\$@ -c ${s}_.c\n" |
| 1958 | writeln "${s}_.c : \$(SRCDIR)\\$s.c" |
| 1959 | writeln "\ttranslate\$E \$** > \$@\n" |
| 1960 | } |
| 1961 | |
| 1962 | writeln "fossil.res : \$B\\win\\fossil.rc" |
| 1963 | writeln "\t\$(RCC) /fo \$@ \$**\n" |
| 1964 | |
| 1965 | writeln "headers: makeheaders\$E page_index.h builtin_data.h VERSION.h" |
| 1966 | writeln -nonewline "\tmakeheaders\$E " |
| 1967 | set i 0 |
| 1968 | foreach s [lsort $src] { |
| 1969 | if {$i > 0} { |
| 1970 | writeln " \\" |
| 1971 | writeln -nonewline "\t\t\t" |
| 1972 | } |
| 1973 | writeln -nonewline "${s}_.c:$s.h"; incr i |
| 1974 | } |
| 1975 | writeln " \\\n\t\t\t\$(SRCDIR)\\sqlite3.h \\" |
| 1976 | writeln "\t\t\t\$(SRCDIR)\\th.h \\" |
| 1977 | writeln "\t\t\tVERSION.h \\" |
| 1978 | writeln "\t\t\t\$(SRCDIR)\\cson_amalgamation.h" |
| 1979 | writeln "\t@copy /Y nul: headers" |
| 1980 | |
| 1981 | |
| 1982 | close $output_file |
| 1983 | # |
| 1984 | # End of the win/Makefile.msc output |
| 1985 |
| --- src/makemake.tcl | |
| +++ src/makemake.tcl | |
| @@ -26,10 +26,11 @@ | |
| 26 | # Set the separate extra_files variable further down for how to add non-C |
| 27 | # files, such as string and BLOB resources. |
| 28 | # |
| 29 | set src { |
| 30 | add |
| 31 | ajax |
| 32 | alerts |
| 33 | allrepo |
| 34 | attach |
| 35 | backlink |
| 36 | backoffice |
| @@ -193,11 +194,10 @@ | |
| 194 | -DSQLITE_DEFAULT_MEMSTATUS=0 |
| 195 | -DSQLITE_DEFAULT_WAL_SYNCHRONOUS=1 |
| 196 | -DSQLITE_LIKE_DOESNT_MATCH_BLOBS |
| 197 | -DSQLITE_OMIT_DECLTYPE |
| 198 | -DSQLITE_OMIT_DEPRECATED |
| 199 | -DSQLITE_OMIT_PROGRESS_CALLBACK |
| 200 | -DSQLITE_OMIT_SHARED_CACHE |
| 201 | -DSQLITE_OMIT_LOAD_EXTENSION |
| 202 | -DSQLITE_MAX_EXPR_DEPTH=0 |
| 203 | -DSQLITE_USE_ALLOCA |
| @@ -475,10 +475,11 @@ | |
| 475 | writeln "\$(OBJDIR)/headers:\t\$(OBJDIR)/page_index.h \$(OBJDIR)/builtin_data.h \$(OBJDIR)/makeheaders \$(OBJDIR)/VERSION.h" |
| 476 | writeln "\t\$(OBJDIR)/makeheaders $mhargs" |
| 477 | writeln "\ttouch \$(OBJDIR)/headers" |
| 478 | writeln "\$(OBJDIR)/headers: Makefile" |
| 479 | writeln "\$(OBJDIR)/json.o \$(OBJDIR)/json_artifact.o \$(OBJDIR)/json_branch.o \$(OBJDIR)/json_config.o \$(OBJDIR)/json_diff.o \$(OBJDIR)/json_dir.o \$(OBJDIR)/json_finfo.o \$(OBJDIR)/json_login.o \$(OBJDIR)/json_query.o \$(OBJDIR)/json_report.o \$(OBJDIR)/json_status.o \$(OBJDIR)/json_tag.o \$(OBJDIR)/json_timeline.o \$(OBJDIR)/json_user.o \$(OBJDIR)/json_wiki.o : \$(SRCDIR)/json_detail.h" |
| 480 | |
| 481 | writeln "Makefile:" |
| 482 | set extra_h(dispatch) " \$(OBJDIR)/page_index.h " |
| 483 | set extra_h(builtin) " \$(OBJDIR)/builtin_data.h " |
| 484 | |
| 485 | foreach s [lsort $src] { |
| @@ -1423,11 +1424,10 @@ | |
| 1424 | $(OBJDIR)\json_tag$O : $(SRCDIR)\json_detail.h |
| 1425 | $(OBJDIR)\json_timeline$O : $(SRCDIR)\json_detail.h |
| 1426 | $(OBJDIR)\json_user$O : $(SRCDIR)\json_detail.h |
| 1427 | $(OBJDIR)\json_wiki$O : $(SRCDIR)\json_detail.h |
| 1428 | |
| 1429 | } |
| 1430 | foreach s [lsort $src] { |
| 1431 | writeln "\$(OBJDIR)\\$s\$O : ${s}_.c ${s}.h" |
| 1432 | writeln "\t\$(TCC) -o\$@ -c ${s}_.c\n" |
| 1433 | writeln "${s}_.c : \$(SRCDIR)\\$s.c" |
| @@ -1456,39 +1456,52 @@ | |
| 1456 | writeln {# |
| 1457 | ############################################################################## |
| 1458 | # WARNING: DO NOT EDIT, AUTOMATICALLY GENERATED FILE (SEE "src/makemake.tcl") |
| 1459 | ############################################################################## |
| 1460 | # |
| 1461 | # |
| 1462 | # This file is automatically generated. Instead of editing this |
| 1463 | # file, edit "makemake.tcl" then run "tclsh makemake.tcl" |
| 1464 | # to regenerate this file. |
| 1465 | # |
| 1466 | B = .. |
| 1467 | SRCDIR = $(B)\src |
| 1468 | T = . |
| 1469 | OBJDIR = $(T) |
| 1470 | OX = $(OBJDIR) |
| 1471 | O = .obj |
| 1472 | E = .exe |
| 1473 | P = .pdb |
| 1474 | |
| 1475 | INSTALLDIR = . |
| 1476 | !ifdef DESTDIR |
| 1477 | INSTALLDIR = $(DESTDIR)\$(INSTALLDIR) |
| 1478 | !endif |
| 1479 | |
| 1480 | # When building out of source, this Makefile needs to know the path to the base |
| 1481 | # top-level directory for this project. Pass it on NMAKE command line via make |
| 1482 | # variable B: |
| 1483 | # NMAKE /f "path\to\this\Makefile" B="path/to/fossil/root" |
| 1484 | # |
| 1485 | # NOTE: Make sure B path has no trailing backslash, UNIX-style path is OK too. |
| 1486 | # |
| 1487 | !if !exist("$(B)\.fossil-settings") |
| 1488 | !error Please specify path to project base directory: B="path/to/fossil" |
| 1489 | !endif |
| 1490 | |
| 1491 | # Perl is only necessary if OpenSSL support is enabled and it is built from |
| 1492 | # source code. The PERLDIR environment variable, if it exists, should point |
| 1493 | # to the directory containing the main Perl executable specified here (i.e. |
| 1494 | # "perl.exe"). |
| 1495 | PERL = perl.exe |
| 1496 | |
| 1497 | # Enable debugging symbols? |
| 1498 | !ifndef DEBUG |
| 1499 | DEBUG = 0 |
| 1500 | !endif |
| 1501 | !ifdef FOSSIL_DEBUG |
| 1502 | DEBUG = 1 |
| 1503 | !endif |
| 1504 | |
| 1505 | # Build the OpenSSL libraries? |
| 1506 | !ifndef FOSSIL_BUILD_SSL |
| 1507 | FOSSIL_BUILD_SSL = 0 |
| @@ -1605,27 +1618,30 @@ | |
| 1618 | ZLIB = zdll.lib |
| 1619 | !else |
| 1620 | ZLIB = zlib.lib |
| 1621 | !endif |
| 1622 | |
| 1623 | INCL = /I. /I"$(OX)" /I"$(SRCDIR)" /I"$(B)\win\include" |
| 1624 | |
| 1625 | !if $(FOSSIL_ENABLE_MINIZ)==0 |
| 1626 | INCL = $(INCL) /I"$(ZINCDIR)" |
| 1627 | !endif |
| 1628 | |
| 1629 | !if $(FOSSIL_ENABLE_SSL)!=0 |
| 1630 | INCL = $(INCL) /I"$(SSLINCDIR)" |
| 1631 | !endif |
| 1632 | |
| 1633 | !if $(FOSSIL_ENABLE_TCL)!=0 |
| 1634 | INCL = $(INCL) /I"$(TCLINCDIR)" |
| 1635 | !endif |
| 1636 | |
| 1637 | CFLAGS = /nologo |
| 1638 | LDFLAGS = |
| 1639 | |
| 1640 | CFLAGS = $(CFLAGS) /D_CRT_SECURE_NO_DEPRECATE /D_CRT_SECURE_NO_WARNINGS |
| 1641 | CFLAGS = $(CFLAGS) /D_CRT_NONSTDC_NO_DEPRECATE /D_CRT_NONSTDC_NO_WARNINGS |
| 1642 | |
| 1643 | !if $(FOSSIL_DYNAMIC_BUILD)!=0 |
| 1644 | LDFLAGS = $(LDFLAGS) /MANIFEST |
| 1645 | !else |
| 1646 | LDFLAGS = $(LDFLAGS) /NODEFAULTLIB:msvcrt /MANIFEST:NO |
| 1647 | !endif |
| @@ -1654,11 +1670,11 @@ | |
| 1670 | CRTFLAGS = /MT |
| 1671 | !endif |
| 1672 | !endif |
| 1673 | |
| 1674 | !if $(DEBUG)!=0 |
| 1675 | CFLAGS = $(CFLAGS) /Zi $(CRTFLAGS) /Od /DFOSSIL_DEBUG |
| 1676 | LDFLAGS = $(LDFLAGS) /DEBUG |
| 1677 | !else |
| 1678 | CFLAGS = $(CFLAGS) $(CRTFLAGS) /O2 |
| 1679 | !endif |
| 1680 | |
| @@ -1674,11 +1690,11 @@ | |
| 1690 | RCC = $(RCC) /DFOSSIL_DYNAMIC_BUILD=1 |
| 1691 | !endif |
| 1692 | |
| 1693 | !if $(FOSSIL_ENABLE_MINIZ)==0 |
| 1694 | LIBS = $(LIBS) $(ZLIB) |
| 1695 | LIBDIR = $(LIBDIR) /LIBPATH:"$(ZLIBDIR)" |
| 1696 | !endif |
| 1697 | |
| 1698 | !if $(FOSSIL_ENABLE_MINIZ)!=0 |
| 1699 | TCC = $(TCC) /DFOSSIL_ENABLE_MINIZ=1 |
| 1700 | RCC = $(RCC) /DFOSSIL_ENABLE_MINIZ=1 |
| @@ -1691,11 +1707,11 @@ | |
| 1707 | |
| 1708 | !if $(FOSSIL_ENABLE_SSL)!=0 |
| 1709 | TCC = $(TCC) /DFOSSIL_ENABLE_SSL=1 |
| 1710 | RCC = $(RCC) /DFOSSIL_ENABLE_SSL=1 |
| 1711 | LIBS = $(LIBS) $(SSLLIB) |
| 1712 | LIBDIR = $(LIBDIR) /LIBPATH:"$(SSLLIBDIR)" |
| 1713 | !endif |
| 1714 | |
| 1715 | !if $(FOSSIL_ENABLE_EXEC_REL_PATHS)!=0 |
| 1716 | TCC = $(TCC) /DFOSSIL_ENABLE_EXEC_REL_PATHS=1 |
| 1717 | RCC = $(RCC) /DFOSSIL_ENABLE_EXEC_REL_PATHS=1 |
| @@ -1749,11 +1765,11 @@ | |
| 1765 | foreach s [lsort $src] { |
| 1766 | if {$i > 0} { |
| 1767 | writeln " \\" |
| 1768 | writeln -nonewline " " |
| 1769 | } |
| 1770 | writeln -nonewline "\"\$(OX)\\${s}_.c\""; incr i |
| 1771 | } |
| 1772 | writeln "\n" |
| 1773 | writeln -nonewline "EXTRA_FILES = " |
| 1774 | set i 0 |
| 1775 | foreach s [lsort $extra_files] { |
| @@ -1760,11 +1776,11 @@ | |
| 1776 | if {$i > 0} { |
| 1777 | writeln " \\" |
| 1778 | writeln -nonewline " " |
| 1779 | } |
| 1780 | set s [regsub -all / $s \\] |
| 1781 | writeln -nonewline "\"\$(SRCDIR)\\${s}\""; incr i |
| 1782 | } |
| 1783 | writeln "\n" |
| 1784 | set AdditionalObj [list shell sqlite3 th th_lang th_tcl cson_amalgamation] |
| 1785 | writeln -nonewline "OBJ = " |
| 1786 | set i 0 |
| @@ -1771,51 +1787,71 @@ | |
| 1787 | foreach s [lsort [concat $src $AdditionalObj]] { |
| 1788 | if {$i > 0} { |
| 1789 | writeln " \\" |
| 1790 | writeln -nonewline " " |
| 1791 | } |
| 1792 | writeln -nonewline "\"\$(OX)\\$s\$O\""; incr i |
| 1793 | } |
| 1794 | if {$i > 0} { |
| 1795 | writeln " \\" |
| 1796 | } |
| 1797 | writeln "!if \$(FOSSIL_ENABLE_MINIZ)!=0" |
| 1798 | writeln -nonewline " " |
| 1799 | writeln "\"\$(OX)\\miniz\$O\" \\"; incr i |
| 1800 | writeln "!endif" |
| 1801 | writeln -nonewline " \"\$(OX)\\fossil.res\"\n\n" |
| 1802 | writeln [string map [list <<<NEXT_LINE>>> \\] { |
| 1803 | !ifndef BASEAPPNAME |
| 1804 | BASEAPPNAME = fossil |
| 1805 | !endif |
| 1806 | |
| 1807 | APPNAME = $(OX)\$(BASEAPPNAME)$(E) |
| 1808 | PDBNAME = $(OX)\$(BASEAPPNAME)$(P) |
| 1809 | APPTARGETS = |
| 1810 | |
| 1811 | all: "$(OX)" "$(APPNAME)" |
| 1812 | |
| 1813 | $(BASEAPPNAME): "$(APPNAME)" |
| 1814 | |
| 1815 | $(BASEAPPNAME)$(E): "$(APPNAME)" |
| 1816 | |
| 1817 | install: "$(APPNAME)" |
| 1818 | echo F | xcopy /Y "$(APPNAME)" "$(INSTALLDIR)"\* |
| 1819 | !if $(DEBUG)!=0 |
| 1820 | echo F | xcopy /Y "$(PDBNAME)" "$(INSTALLDIR)"\* |
| 1821 | !endif |
| 1822 | |
| 1823 | $(OX): |
| 1824 | @-mkdir $@ |
| 1825 | |
| 1826 | zlib: |
| 1827 | @echo Building zlib from "$(ZLIBDIR)"... |
| 1828 | !if $(FOSSIL_ENABLE_WINXP)!=0 |
| 1829 | @pushd "$(ZLIBDIR)" && $(MAKE) /f win32\Makefile.msc $(ZLIB) "CC=cl $(XPCFLAGS)" "LD=link $(XPLDFLAGS)" && popd |
| 1830 | !else |
| 1831 | @pushd "$(ZLIBDIR)" && $(MAKE) /f win32\Makefile.msc $(ZLIB) && popd |
| 1832 | !endif |
| 1833 | |
| 1834 | clean-zlib: |
| 1835 | @pushd "$(ZLIBDIR)" && $(MAKE) /f win32\Makefile.msc clean && popd |
| 1836 | |
| 1837 | !if $(FOSSIL_ENABLE_SSL)!=0 |
| 1838 | openssl: |
| 1839 | @echo Building OpenSSL from "$(SSLDIR)"... |
| 1840 | !ifdef PERLDIR |
| 1841 | @pushd "$(SSLDIR)" && "$(PERLDIR)\$(PERL)" Configure $(SSLCONFIG) && popd |
| 1842 | !else |
| 1843 | @pushd "$(SSLDIR)" && "$(PERL)" Configure $(SSLCONFIG) && popd |
| 1844 | !endif |
| 1845 | !if $(FOSSIL_ENABLE_WINXP)!=0 |
| 1846 | @pushd "$(SSLDIR)" && $(MAKE) "CC=cl $(XPCFLAGS)" "LFLAGS=$(XPLDFLAGS)" && popd |
| 1847 | !else |
| 1848 | @pushd "$(SSLDIR)" && $(MAKE) && popd |
| 1849 | !endif |
| 1850 | |
| 1851 | clean-openssl: |
| 1852 | @pushd "$(SSLDIR)" && $(MAKE) clean && popd |
| 1853 | !endif |
| 1854 | |
| 1855 | !if $(FOSSIL_ENABLE_MINIZ)==0 |
| 1856 | !if $(FOSSIL_BUILD_ZLIB)!=0 |
| 1857 | APPTARGETS = $(APPTARGETS) zlib |
| @@ -1826,49 +1862,45 @@ | |
| 1862 | !if $(FOSSIL_BUILD_SSL)!=0 |
| 1863 | APPTARGETS = $(APPTARGETS) openssl |
| 1864 | !endif |
| 1865 | !endif |
| 1866 | |
| 1867 | "$(APPNAME)" : $(APPTARGETS) "$(OBJDIR)\translate$E" "$(OBJDIR)\mkindex$E" "$(OBJDIR)\codecheck1$E" "$(OX)\headers" $(OBJ) "$(OX)\linkopts" |
| 1868 | "$(OBJDIR)\codecheck1$E" $(SRC) |
| 1869 | link $(LDFLAGS) /OUT:$@ /PDB:$(@D)\ $(LIBDIR) Wsetargv.obj "$(OX)\fossil.res" @"$(OX)\linkopts" |
| 1870 | if exist "$(B)\win\fossil.exe.manifest" <<<NEXT_LINE>>> |
| 1871 | $(MTC) -nologo -manifest "$(B)\win\fossil.exe.manifest" -outputresource:$@;1 |
| 1872 | |
| 1873 | "$(OX)\linkopts": "$(B)\win\Makefile.msc"}] |
| 1874 | set redir {>} |
| 1875 | foreach s [lsort [concat $src $AdditionalObj]] { |
| 1876 | writeln "\techo \"\$(OX)\\$s.obj\" $redir \$@" |
| 1877 | set redir {>>} |
| 1878 | } |
| 1879 | set redir {>>} |
| 1880 | writeln "!if \$(FOSSIL_ENABLE_MINIZ)!=0" |
| 1881 | writeln "\techo \"\$(OX)\\miniz.obj\" $redir \$@" |
| 1882 | writeln "!endif" |
| 1883 | writeln "\techo \$(LIBS) $redir \$@" |
| 1884 | writeln { |
| 1885 | "$(OBJDIR)\translate$E": "$(SRCDIR)\translate.c" |
| 1886 | $(BCC) /Fe$@ /Fo$(@D)\ /Fd$(@D)\ $** |
| 1887 | |
| 1888 | "$(OBJDIR)\makeheaders$E": "$(SRCDIR)\makeheaders.c" |
| 1889 | $(BCC) /Fe$@ /Fo$(@D)\ /Fd$(@D)\ $** |
| 1890 | |
| 1891 | "$(OBJDIR)\mkindex$E": "$(SRCDIR)\mkindex.c" |
| 1892 | $(BCC) /Fe$@ /Fo$(@D)\ /Fd$(@D)\ $** |
| 1893 | |
| 1894 | "$(OBJDIR)\mkbuiltin$E": "$(SRCDIR)\mkbuiltin.c" |
| 1895 | $(BCC) /Fe$@ /Fo$(@D)\ /Fd$(@D)\ $** |
| 1896 | |
| 1897 | "$(OBJDIR)\mkversion$E": "$(SRCDIR)\mkversion.c" |
| 1898 | $(BCC) /Fe$@ /Fo$(@D)\ /Fd$(@D)\ $** |
| 1899 | |
| 1900 | "$(OBJDIR)\codecheck1$E": "$(SRCDIR)\codecheck1.c" |
| 1901 | $(BCC) /Fe$@ /Fo$(@D)\ /Fd$(@D)\ $** |
| 1902 | |
| 1903 | !if $(USE_SEE)!=0 |
| 1904 | SEE_FLAGS = /DSQLITE_HAS_CODEC=1 /DSQLITE_SHELL_DBKEY_PROC=fossil_key |
| 1905 | SQLITE3_SHELL_SRC = $(SRCDIR)\shell-see.c |
| 1906 | SQLITE3_SRC = $(SRCDIR)\sqlite3-see.c |
| @@ -1876,109 +1908,123 @@ | |
| 1908 | SEE_FLAGS = |
| 1909 | SQLITE3_SHELL_SRC = $(SRCDIR)\shell.c |
| 1910 | SQLITE3_SRC = $(SRCDIR)\sqlite3.c |
| 1911 | !endif |
| 1912 | |
| 1913 | "$(OX)\shell$O" : "$(SQLITE3_SHELL_SRC)" "$(B)\win\Makefile.msc" |
| 1914 | $(TCC) /Fo$@ /Fd$(@D)\ $(SHELL_OPTIONS) $(SQLITE_OPTIONS) $(SHELL_CFLAGS) $(SEE_FLAGS) -c "$(SQLITE3_SHELL_SRC)" |
| 1915 | |
| 1916 | "$(OX)\sqlite3$O" : "$(SQLITE3_SRC)" "$(B)\win\Makefile.msc" |
| 1917 | $(TCC) /Fo$@ /Fd$(@D)\ -c $(SQLITE_OPTIONS) $(SQLITE_CFLAGS) $(SEE_FLAGS) "$(SQLITE3_SRC)" |
| 1918 | |
| 1919 | "$(OX)\th$O" : "$(SRCDIR)\th.c" |
| 1920 | $(TCC) /Fo$@ /Fd$(@D)\ -c $** |
| 1921 | |
| 1922 | "$(OX)\th_lang$O" : "$(SRCDIR)\th_lang.c" |
| 1923 | $(TCC) /Fo$@ /Fd$(@D)\ -c $** |
| 1924 | |
| 1925 | "$(OX)\th_tcl$O" : "$(SRCDIR)\th_tcl.c" |
| 1926 | $(TCC) /Fo$@ /Fd$(@D)\ -c $** |
| 1927 | |
| 1928 | "$(OX)\miniz$O" : "$(SRCDIR)\miniz.c" |
| 1929 | $(TCC) /Fo$@ /Fd$(@D)\ -c $(MINIZ_OPTIONS) $** |
| 1930 | |
| 1931 | "$(OX)\VERSION.h" : "$(OBJDIR)\mkversion$E" "$(B)\manifest.uuid" "$(B)\manifest" "$(B)\VERSION" |
| 1932 | $** > $@ |
| 1933 | |
| 1934 | "$(OX)\cson_amalgamation$O" : "$(SRCDIR)\cson_amalgamation.c" |
| 1935 | $(TCC) /Fo$@ /Fd$(@D)\ -c $** |
| 1936 | |
| 1937 | "$(OX)\page_index.h": "$(OBJDIR)\mkindex$E" $(SRC) |
| 1938 | $** > $@ |
| 1939 | |
| 1940 | "$(OX)\builtin_data.h": "$(OBJDIR)\mkbuiltin$E" "$(OX)\builtin_data.reslist" |
| 1941 | "$(OBJDIR)\mkbuiltin$E" --prefix "$(SRCDIR)/" --reslist "$(OX)\builtin_data.reslist" > $@ |
| 1942 | |
| 1943 | cleanx: |
| 1944 | -del "$(OX)\*.obj" 2>NUL |
| 1945 | -del "$(OBJDIR)\*.obj" 2>NUL |
| 1946 | -del "$(OX)\*_.c" 2>NUL |
| 1947 | -del "$(OX)\*.h" 2>NUL |
| 1948 | -del "$(OX)\*.ilk" 2>NUL |
| 1949 | -del "$(OX)\*.map" 2>NUL |
| 1950 | -del "$(OX)\*.res" 2>NUL |
| 1951 | -del "$(OX)\*.reslist" 2>NUL |
| 1952 | -del "$(OX)\headers" 2>NUL |
| 1953 | -del "$(OX)\linkopts" 2>NUL |
| 1954 | -del "$(OX)\vc*.pdb" 2>NUL |
| 1955 | |
| 1956 | clean: cleanx |
| 1957 | -del "$(APPNAME)" 2>NUL |
| 1958 | -del "$(PDBNAME)" 2>NUL |
| 1959 | -del "$(OBJDIR)\translate$E" 2>NUL |
| 1960 | -del "$(OBJDIR)\translate$P" 2>NUL |
| 1961 | -del "$(OBJDIR)\mkindex$E" 2>NUL |
| 1962 | -del "$(OBJDIR)\mkindex$P" 2>NUL |
| 1963 | -del "$(OBJDIR)\makeheaders$E" 2>NUL |
| 1964 | -del "$(OBJDIR)\makeheaders$P" 2>NUL |
| 1965 | -del "$(OBJDIR)\mkversion$E" 2>NUL |
| 1966 | -del "$(OBJDIR)\mkversion$P" 2>NUL |
| 1967 | -del "$(OBJDIR)\mkcss$E" 2>NUL |
| 1968 | -del "$(OBJDIR)\mkcss$P" 2>NUL |
| 1969 | -del "$(OBJDIR)\codecheck1$E" 2>NUL |
| 1970 | -del "$(OBJDIR)\codecheck1$P" 2>NUL |
| 1971 | -del "$(OBJDIR)\mkbuiltin$E" 2>NUL |
| 1972 | -del "$(OBJDIR)\mkbuiltin$P" 2>NUL |
| 1973 | |
| 1974 | realclean: clean |
| 1975 | |
| 1976 | "$(OBJDIR)\json$O" : "$(SRCDIR)\json_detail.h" |
| 1977 | "$(OBJDIR)\json_artifact$O" : "$(SRCDIR)\json_detail.h" |
| 1978 | "$(OBJDIR)\json_branch$O" : "$(SRCDIR)\json_detail.h" |
| 1979 | "$(OBJDIR)\json_config$O" : "$(SRCDIR)\json_detail.h" |
| 1980 | "$(OBJDIR)\json_diff$O" : "$(SRCDIR)\json_detail.h" |
| 1981 | "$(OBJDIR)\json_dir$O" : "$(SRCDIR)\json_detail.h" |
| 1982 | "$(OBJDIR)\json_finfo$O" : "$(SRCDIR)\json_detail.h" |
| 1983 | "$(OBJDIR)\json_login$O" : "$(SRCDIR)\json_detail.h" |
| 1984 | "$(OBJDIR)\json_query$O" : "$(SRCDIR)\json_detail.h" |
| 1985 | "$(OBJDIR)\json_report$O" : "$(SRCDIR)\json_detail.h" |
| 1986 | "$(OBJDIR)\json_status$O" : "$(SRCDIR)\json_detail.h" |
| 1987 | "$(OBJDIR)\json_tag$O" : "$(SRCDIR)\json_detail.h" |
| 1988 | "$(OBJDIR)\json_timeline$O" : "$(SRCDIR)\json_detail.h" |
| 1989 | "$(OBJDIR)\json_user$O" : "$(SRCDIR)\json_detail.h" |
| 1990 | "$(OBJDIR)\json_wiki$O" : "$(SRCDIR)\json_detail.h" |
| 1991 | } |
| 1992 | |
| 1993 | writeln {"$(OX)\builtin_data.reslist": $(EXTRA_FILES) "$(B)\win\Makefile.msc"} |
| 1994 | set redir {>} |
| 1995 | foreach s [lsort $extra_files] { |
| 1996 | writeln "\techo \"\$(SRCDIR)\\${s}\" $redir \$@" |
| 1997 | set redir {>>} |
| 1998 | } |
| 1999 | |
| 2000 | writeln "" |
| 2001 | foreach s [lsort $src] { |
| 2002 | writeln "\"\$(OX)\\$s\$O\" : \"\$(OX)\\${s}_.c\" \"\$(OX)\\${s}.h\"" |
| 2003 | writeln "\t\$(TCC) /Fo\$@ /Fd\$(@D)\\ -c \"\$(OX)\\${s}_.c\"\n" |
| 2004 | writeln "\"\$(OX)\\${s}_.c\" : \"\$(SRCDIR)\\$s.c\"" |
| 2005 | writeln "\t\"\$(OBJDIR)\\translate\$E\" \$** > \$@\n" |
| 2006 | } |
| 2007 | |
| 2008 | writeln "\"\$(OX)\\fossil.res\" : \"\$(B)\\win\\fossil.rc\"" |
| 2009 | writeln "\t\$(RCC) /fo \$@ \$**\n" |
| 2010 | |
| 2011 | writeln "\"\$(OX)\\headers\": \"\$(OBJDIR)\\makeheaders\$E\" \"\$(OX)\\page_index.h\" \"\$(OX)\\builtin_data.h\" \"\$(OX)\\default_css.h\" \"\$(OX)\\VERSION.h\"" |
| 2012 | writeln -nonewline "\t\"\$(OBJDIR)\\makeheaders\$E\" " |
| 2013 | set i 0 |
| 2014 | foreach s [lsort $src] { |
| 2015 | if {$i > 0} { |
| 2016 | writeln " \\" |
| 2017 | writeln -nonewline "\t\t\t" |
| 2018 | } |
| 2019 | writeln -nonewline "\"\$(OX)\\${s}_.c\":\"\$(OX)\\$s.h\""; incr i |
| 2020 | } |
| 2021 | writeln " \\\n\t\t\t\"\$(SRCDIR)\\sqlite3.h\" \\" |
| 2022 | writeln "\t\t\t\"\$(SRCDIR)\\th.h\" \\" |
| 2023 | writeln "\t\t\t\"\$(OX)\\VERSION.h\" \\" |
| 2024 | writeln "\t\t\t\"\$(SRCDIR)\\cson_amalgamation.h\"" |
| 2025 | writeln "\t@copy /Y nul: $@" |
| 2026 | |
| 2027 | |
| 2028 | close $output_file |
| 2029 | # |
| 2030 | # End of the win/Makefile.msc output |
| 2031 |
+2
-1
| --- src/markdown.c | ||
| +++ src/markdown.c | ||
| @@ -2008,11 +2008,12 @@ | ||
| 2008 | 2008 | ){ |
| 2009 | 2009 | size_t beg, end, i; |
| 2010 | 2010 | char *txt_data; |
| 2011 | 2011 | int has_table = (rndr->make.table |
| 2012 | 2012 | && rndr->make.table_row |
| 2013 | - && rndr->make.table_cell); | |
| 2013 | + && rndr->make.table_cell | |
| 2014 | + && memchr(data, '|', size)!=0); | |
| 2014 | 2015 | |
| 2015 | 2016 | beg = 0; |
| 2016 | 2017 | while( beg<size ){ |
| 2017 | 2018 | txt_data = data+beg; |
| 2018 | 2019 | end = size-beg; |
| 2019 | 2020 |
| --- src/markdown.c | |
| +++ src/markdown.c | |
| @@ -2008,11 +2008,12 @@ | |
| 2008 | ){ |
| 2009 | size_t beg, end, i; |
| 2010 | char *txt_data; |
| 2011 | int has_table = (rndr->make.table |
| 2012 | && rndr->make.table_row |
| 2013 | && rndr->make.table_cell); |
| 2014 | |
| 2015 | beg = 0; |
| 2016 | while( beg<size ){ |
| 2017 | txt_data = data+beg; |
| 2018 | end = size-beg; |
| 2019 |
| --- src/markdown.c | |
| +++ src/markdown.c | |
| @@ -2008,11 +2008,12 @@ | |
| 2008 | ){ |
| 2009 | size_t beg, end, i; |
| 2010 | char *txt_data; |
| 2011 | int has_table = (rndr->make.table |
| 2012 | && rndr->make.table_row |
| 2013 | && rndr->make.table_cell |
| 2014 | && memchr(data, '|', size)!=0); |
| 2015 | |
| 2016 | beg = 0; |
| 2017 | while( beg<size ){ |
| 2018 | txt_data = data+beg; |
| 2019 | end = size-beg; |
| 2020 |
+13
-14
| --- src/markdown_html.c | ||
| +++ src/markdown_html.c | ||
| @@ -129,11 +129,11 @@ | ||
| 129 | 129 | static void html_epilog(struct Blob *ob, void *opaque){ |
| 130 | 130 | INTER_BLOCK(ob); |
| 131 | 131 | BLOB_APPEND_LITERAL(ob, "</div>\n"); |
| 132 | 132 | } |
| 133 | 133 | |
| 134 | -static void html_raw_block(struct Blob *ob, struct Blob *text, void *opaque){ | |
| 134 | +static void html_blockhtml(struct Blob *ob, struct Blob *text, void *opaque){ | |
| 135 | 135 | char *data = blob_buffer(text); |
| 136 | 136 | size_t size = blob_size(text); |
| 137 | 137 | Blob *title = (Blob*)opaque; |
| 138 | 138 | while( size>0 && fossil_isspace(data[0]) ){ data++; size--; } |
| 139 | 139 | while( size>0 && fossil_isspace(data[size-1]) ){ size--; } |
| @@ -142,11 +142,11 @@ | ||
| 142 | 142 | && size>9 |
| 143 | 143 | && title!=0 |
| 144 | 144 | && sqlite3_strnicmp("<h1",data,3)==0 |
| 145 | 145 | && sqlite3_strnicmp("</h1>", &data[size-5],5)==0 |
| 146 | 146 | ){ |
| 147 | - int nTag = htmlTagLength(data); | |
| 147 | + int nTag = html_tag_length(data); | |
| 148 | 148 | blob_append(title, data+nTag, size - nTag - 5); |
| 149 | 149 | return; |
| 150 | 150 | } |
| 151 | 151 | INTER_BLOCK(ob); |
| 152 | 152 | blob_append(ob, data, size); |
| @@ -298,13 +298,12 @@ | ||
| 298 | 298 | |
| 299 | 299 | |
| 300 | 300 | |
| 301 | 301 | /* HTML span tags */ |
| 302 | 302 | |
| 303 | -static int html_raw_span(struct Blob *ob, struct Blob *text, void *opaque){ | |
| 304 | - /* If the document begins with a <h1> markup, take that as the header. */ | |
| 305 | - BLOB_APPEND_BLOB(ob, text); | |
| 303 | +static int html_raw_html_tag(struct Blob *ob, struct Blob *text, void *opaque){ | |
| 304 | + blob_append(ob, blob_buffer(text), blob_size(text)); | |
| 306 | 305 | return 1; |
| 307 | 306 | } |
| 308 | 307 | |
| 309 | 308 | static int html_autolink( |
| 310 | 309 | struct Blob *ob, |
| @@ -334,11 +333,11 @@ | ||
| 334 | 333 | ** * https://spec.commonmark.org/0.29/#code-spans |
| 335 | 334 | ** |
| 336 | 335 | ** If nSep is 1 or 2, then this is a code-span which is inline. |
| 337 | 336 | ** If nSep is 3 or more, then this is a fenced code block |
| 338 | 337 | */ |
| 339 | -static int html_code_span( | |
| 338 | +static int html_codespan( | |
| 340 | 339 | struct Blob *ob, /* Write the output here */ |
| 341 | 340 | struct Blob *text, /* The stuff in between the code span marks */ |
| 342 | 341 | int nSep, /* Number of grave accents marks as delimiters */ |
| 343 | 342 | void *opaque |
| 344 | 343 | ){ |
| @@ -414,11 +413,11 @@ | ||
| 414 | 413 | } |
| 415 | 414 | BLOB_APPEND_LITERAL(ob, "\" />"); |
| 416 | 415 | return 1; |
| 417 | 416 | } |
| 418 | 417 | |
| 419 | -static int html_line_break(struct Blob *ob, void *opaque){ | |
| 418 | +static int html_linebreak(struct Blob *ob, void *opaque){ | |
| 420 | 419 | BLOB_APPEND_LITERAL(ob, "<br />\n"); |
| 421 | 420 | return 1; |
| 422 | 421 | } |
| 423 | 422 | |
| 424 | 423 | static int html_link( |
| @@ -484,11 +483,11 @@ | ||
| 484 | 483 | html_epilog, |
| 485 | 484 | |
| 486 | 485 | /* block level elements */ |
| 487 | 486 | html_blockcode, |
| 488 | 487 | html_blockquote, |
| 489 | - html_raw_block, | |
| 488 | + html_blockhtml, | |
| 490 | 489 | html_header, |
| 491 | 490 | html_hrule, |
| 492 | 491 | html_list, |
| 493 | 492 | html_list_item, |
| 494 | 493 | html_paragraph, |
| @@ -496,27 +495,27 @@ | ||
| 496 | 495 | html_table_cell, |
| 497 | 496 | html_table_row, |
| 498 | 497 | |
| 499 | 498 | /* span level elements */ |
| 500 | 499 | html_autolink, |
| 501 | - html_code_span, | |
| 500 | + html_codespan, | |
| 502 | 501 | html_double_emphasis, |
| 503 | 502 | html_emphasis, |
| 504 | 503 | html_image, |
| 505 | - html_line_break, | |
| 504 | + html_linebreak, | |
| 506 | 505 | html_link, |
| 507 | - html_raw_span, | |
| 506 | + html_raw_html_tag, | |
| 508 | 507 | html_triple_emphasis, |
| 509 | 508 | |
| 510 | 509 | /* low level elements */ |
| 511 | - 0, /* entities are copied verbatim */ | |
| 510 | + 0, /* entity */ | |
| 512 | 511 | html_normal_text, |
| 513 | 512 | |
| 514 | 513 | /* misc. parameters */ |
| 515 | - "*_", /* emphasis characters */ | |
| 516 | - 0 /* opaque data */ | |
| 514 | + "*_", /* emph_chars */ | |
| 515 | + 0 /* opaque */ | |
| 517 | 516 | }; |
| 518 | 517 | html_renderer.opaque = output_title; |
| 519 | 518 | if( output_title ) blob_reset(output_title); |
| 520 | 519 | blob_reset(output_body); |
| 521 | 520 | markdown(output_body, input_markdown, &html_renderer); |
| 522 | 521 | } |
| 523 | 522 |
| --- src/markdown_html.c | |
| +++ src/markdown_html.c | |
| @@ -129,11 +129,11 @@ | |
| 129 | static void html_epilog(struct Blob *ob, void *opaque){ |
| 130 | INTER_BLOCK(ob); |
| 131 | BLOB_APPEND_LITERAL(ob, "</div>\n"); |
| 132 | } |
| 133 | |
| 134 | static void html_raw_block(struct Blob *ob, struct Blob *text, void *opaque){ |
| 135 | char *data = blob_buffer(text); |
| 136 | size_t size = blob_size(text); |
| 137 | Blob *title = (Blob*)opaque; |
| 138 | while( size>0 && fossil_isspace(data[0]) ){ data++; size--; } |
| 139 | while( size>0 && fossil_isspace(data[size-1]) ){ size--; } |
| @@ -142,11 +142,11 @@ | |
| 142 | && size>9 |
| 143 | && title!=0 |
| 144 | && sqlite3_strnicmp("<h1",data,3)==0 |
| 145 | && sqlite3_strnicmp("</h1>", &data[size-5],5)==0 |
| 146 | ){ |
| 147 | int nTag = htmlTagLength(data); |
| 148 | blob_append(title, data+nTag, size - nTag - 5); |
| 149 | return; |
| 150 | } |
| 151 | INTER_BLOCK(ob); |
| 152 | blob_append(ob, data, size); |
| @@ -298,13 +298,12 @@ | |
| 298 | |
| 299 | |
| 300 | |
| 301 | /* HTML span tags */ |
| 302 | |
| 303 | static int html_raw_span(struct Blob *ob, struct Blob *text, void *opaque){ |
| 304 | /* If the document begins with a <h1> markup, take that as the header. */ |
| 305 | BLOB_APPEND_BLOB(ob, text); |
| 306 | return 1; |
| 307 | } |
| 308 | |
| 309 | static int html_autolink( |
| 310 | struct Blob *ob, |
| @@ -334,11 +333,11 @@ | |
| 334 | ** * https://spec.commonmark.org/0.29/#code-spans |
| 335 | ** |
| 336 | ** If nSep is 1 or 2, then this is a code-span which is inline. |
| 337 | ** If nSep is 3 or more, then this is a fenced code block |
| 338 | */ |
| 339 | static int html_code_span( |
| 340 | struct Blob *ob, /* Write the output here */ |
| 341 | struct Blob *text, /* The stuff in between the code span marks */ |
| 342 | int nSep, /* Number of grave accents marks as delimiters */ |
| 343 | void *opaque |
| 344 | ){ |
| @@ -414,11 +413,11 @@ | |
| 414 | } |
| 415 | BLOB_APPEND_LITERAL(ob, "\" />"); |
| 416 | return 1; |
| 417 | } |
| 418 | |
| 419 | static int html_line_break(struct Blob *ob, void *opaque){ |
| 420 | BLOB_APPEND_LITERAL(ob, "<br />\n"); |
| 421 | return 1; |
| 422 | } |
| 423 | |
| 424 | static int html_link( |
| @@ -484,11 +483,11 @@ | |
| 484 | html_epilog, |
| 485 | |
| 486 | /* block level elements */ |
| 487 | html_blockcode, |
| 488 | html_blockquote, |
| 489 | html_raw_block, |
| 490 | html_header, |
| 491 | html_hrule, |
| 492 | html_list, |
| 493 | html_list_item, |
| 494 | html_paragraph, |
| @@ -496,27 +495,27 @@ | |
| 496 | html_table_cell, |
| 497 | html_table_row, |
| 498 | |
| 499 | /* span level elements */ |
| 500 | html_autolink, |
| 501 | html_code_span, |
| 502 | html_double_emphasis, |
| 503 | html_emphasis, |
| 504 | html_image, |
| 505 | html_line_break, |
| 506 | html_link, |
| 507 | html_raw_span, |
| 508 | html_triple_emphasis, |
| 509 | |
| 510 | /* low level elements */ |
| 511 | 0, /* entities are copied verbatim */ |
| 512 | html_normal_text, |
| 513 | |
| 514 | /* misc. parameters */ |
| 515 | "*_", /* emphasis characters */ |
| 516 | 0 /* opaque data */ |
| 517 | }; |
| 518 | html_renderer.opaque = output_title; |
| 519 | if( output_title ) blob_reset(output_title); |
| 520 | blob_reset(output_body); |
| 521 | markdown(output_body, input_markdown, &html_renderer); |
| 522 | } |
| 523 |
| --- src/markdown_html.c | |
| +++ src/markdown_html.c | |
| @@ -129,11 +129,11 @@ | |
| 129 | static void html_epilog(struct Blob *ob, void *opaque){ |
| 130 | INTER_BLOCK(ob); |
| 131 | BLOB_APPEND_LITERAL(ob, "</div>\n"); |
| 132 | } |
| 133 | |
| 134 | static void html_blockhtml(struct Blob *ob, struct Blob *text, void *opaque){ |
| 135 | char *data = blob_buffer(text); |
| 136 | size_t size = blob_size(text); |
| 137 | Blob *title = (Blob*)opaque; |
| 138 | while( size>0 && fossil_isspace(data[0]) ){ data++; size--; } |
| 139 | while( size>0 && fossil_isspace(data[size-1]) ){ size--; } |
| @@ -142,11 +142,11 @@ | |
| 142 | && size>9 |
| 143 | && title!=0 |
| 144 | && sqlite3_strnicmp("<h1",data,3)==0 |
| 145 | && sqlite3_strnicmp("</h1>", &data[size-5],5)==0 |
| 146 | ){ |
| 147 | int nTag = html_tag_length(data); |
| 148 | blob_append(title, data+nTag, size - nTag - 5); |
| 149 | return; |
| 150 | } |
| 151 | INTER_BLOCK(ob); |
| 152 | blob_append(ob, data, size); |
| @@ -298,13 +298,12 @@ | |
| 298 | |
| 299 | |
| 300 | |
| 301 | /* HTML span tags */ |
| 302 | |
| 303 | static int html_raw_html_tag(struct Blob *ob, struct Blob *text, void *opaque){ |
| 304 | blob_append(ob, blob_buffer(text), blob_size(text)); |
| 305 | return 1; |
| 306 | } |
| 307 | |
| 308 | static int html_autolink( |
| 309 | struct Blob *ob, |
| @@ -334,11 +333,11 @@ | |
| 333 | ** * https://spec.commonmark.org/0.29/#code-spans |
| 334 | ** |
| 335 | ** If nSep is 1 or 2, then this is a code-span which is inline. |
| 336 | ** If nSep is 3 or more, then this is a fenced code block |
| 337 | */ |
| 338 | static int html_codespan( |
| 339 | struct Blob *ob, /* Write the output here */ |
| 340 | struct Blob *text, /* The stuff in between the code span marks */ |
| 341 | int nSep, /* Number of grave accents marks as delimiters */ |
| 342 | void *opaque |
| 343 | ){ |
| @@ -414,11 +413,11 @@ | |
| 413 | } |
| 414 | BLOB_APPEND_LITERAL(ob, "\" />"); |
| 415 | return 1; |
| 416 | } |
| 417 | |
| 418 | static int html_linebreak(struct Blob *ob, void *opaque){ |
| 419 | BLOB_APPEND_LITERAL(ob, "<br />\n"); |
| 420 | return 1; |
| 421 | } |
| 422 | |
| 423 | static int html_link( |
| @@ -484,11 +483,11 @@ | |
| 483 | html_epilog, |
| 484 | |
| 485 | /* block level elements */ |
| 486 | html_blockcode, |
| 487 | html_blockquote, |
| 488 | html_blockhtml, |
| 489 | html_header, |
| 490 | html_hrule, |
| 491 | html_list, |
| 492 | html_list_item, |
| 493 | html_paragraph, |
| @@ -496,27 +495,27 @@ | |
| 495 | html_table_cell, |
| 496 | html_table_row, |
| 497 | |
| 498 | /* span level elements */ |
| 499 | html_autolink, |
| 500 | html_codespan, |
| 501 | html_double_emphasis, |
| 502 | html_emphasis, |
| 503 | html_image, |
| 504 | html_linebreak, |
| 505 | html_link, |
| 506 | html_raw_html_tag, |
| 507 | html_triple_emphasis, |
| 508 | |
| 509 | /* low level elements */ |
| 510 | 0, /* entity */ |
| 511 | html_normal_text, |
| 512 | |
| 513 | /* misc. parameters */ |
| 514 | "*_", /* emph_chars */ |
| 515 | 0 /* opaque */ |
| 516 | }; |
| 517 | html_renderer.opaque = output_title; |
| 518 | if( output_title ) blob_reset(output_title); |
| 519 | blob_reset(output_body); |
| 520 | markdown(output_body, input_markdown, &html_renderer); |
| 521 | } |
| 522 |
+207
-15
| --- src/mkbuiltin.c | ||
| +++ src/mkbuiltin.c | ||
| @@ -17,10 +17,17 @@ | ||
| 17 | 17 | ** |
| 18 | 18 | ** This is a stand-alone utility program that is part of the Fossil build |
| 19 | 19 | ** process. This program reads files named on the command line and converts |
| 20 | 20 | ** them into ANSI-C static char array variables. Output is written onto |
| 21 | 21 | ** standard output. |
| 22 | +** | |
| 23 | +** Additionally, the input files may be listed in a separate list file (one | |
| 24 | +** resource name per line, optionally enclosed in double quotes). Pass the list | |
| 25 | +** via '--reslist <the-list-file>' option. Both lists, from the command line and | |
| 26 | +** the list file, are merged; duplicate file names skipped from processing. | |
| 27 | +** This option is useful to get around the command line length limitations | |
| 28 | +** under some OS, like Windows. | |
| 22 | 29 | ** |
| 23 | 30 | ** The makefiles use this utility to package various resources (large scripts, |
| 24 | 31 | ** GIF images, etc) that are separate files in the source code as byte |
| 25 | 32 | ** arrays in the resulting executable. |
| 26 | 33 | */ |
| @@ -101,48 +108,232 @@ | ||
| 101 | 108 | struct Resource { |
| 102 | 109 | char *zName; |
| 103 | 110 | int nByte; |
| 104 | 111 | int idx; |
| 105 | 112 | }; |
| 113 | + | |
| 114 | +typedef struct ResourceList ResourceList; | |
| 115 | +struct ResourceList { | |
| 116 | + Resource *aRes; | |
| 117 | + int nRes; | |
| 118 | + char *buf; | |
| 119 | + long bufsize; | |
| 120 | +}; | |
| 121 | + | |
| 122 | + | |
| 123 | +Resource *read_reslist(char *name, ResourceList *list){ | |
| 124 | +#define RESLIST_BUF_MAXBYTES (1L<<20) /* 1 MB of text */ | |
| 125 | + FILE *in; | |
| 126 | + long filesize = 0L; | |
| 127 | + long linecount = 0L; | |
| 128 | + char *p = 0; | |
| 129 | + char *pb = 0; | |
| 130 | + | |
| 131 | + memset(list, 0, sizeof(*list)); | |
| 132 | + | |
| 133 | + if( (in = fopen(name, "rb"))==0 ){ | |
| 134 | + return list->aRes; | |
| 135 | + } | |
| 136 | + fseek(in, 0L, SEEK_END); | |
| 137 | + filesize = ftell(in); | |
| 138 | + rewind(in); | |
| 139 | + | |
| 140 | + if( filesize > RESLIST_BUF_MAXBYTES ){ | |
| 141 | + fprintf(stderr, "List file [%s] must be smaller than %ld bytes\n", name, | |
| 142 | + RESLIST_BUF_MAXBYTES); | |
| 143 | + return list->aRes; | |
| 144 | + } | |
| 145 | + list->bufsize = filesize; | |
| 146 | + list->buf = (char *)calloc((list->bufsize + 2), sizeof(list->buf[0])); | |
| 147 | + if( list->buf==0 ){ | |
| 148 | + fprintf(stderr, "failed to allocated %ld bytes\n", list->bufsize + 1); | |
| 149 | + list->bufsize = 0L; | |
| 150 | + return list->aRes; | |
| 151 | + } | |
| 152 | + filesize = fread(list->buf, sizeof(list->buf[0]),list->bufsize, in); | |
| 153 | + if ( filesize!=list->bufsize ){ | |
| 154 | + fprintf(stderr, "failed to read [%s]\n", name); | |
| 155 | + return list->aRes; | |
| 156 | + } | |
| 157 | + fclose(in); | |
| 158 | + | |
| 159 | + /* | |
| 160 | + ** append an extra newline (if missing) for a correct line count | |
| 161 | + */ | |
| 162 | + if( list->buf[list->bufsize-1]!='\n' ) list->buf[list->bufsize]='\n'; | |
| 163 | + | |
| 164 | + linecount = 0L; | |
| 165 | + for( p = strchr(list->buf, '\n'); | |
| 166 | + p && p <= &list->buf[list->bufsize-1]; | |
| 167 | + p = strchr(++p, '\n') ){ | |
| 168 | + ++linecount; | |
| 169 | + } | |
| 170 | + | |
| 171 | + list->aRes = (Resource *)calloc(linecount+1, sizeof(list->aRes[0])); | |
| 172 | + for( pb = list->buf, p = strchr(pb, '\n'); | |
| 173 | + p && p <= &list->buf[list->bufsize-1]; | |
| 174 | + pb = ++p, p = strchr(pb, '\n') ){ | |
| 175 | + | |
| 176 | + char *path = pb; | |
| 177 | + char *pe = p - 1; | |
| 178 | + | |
| 179 | + /* strip leading and trailing whitespace */ | |
| 180 | + while( path < p && isspace(*path) ) ++path; | |
| 181 | + while( pe > path && isspace(*pe) ){ | |
| 182 | + *pe = '\0'; | |
| 183 | + --pe; | |
| 184 | + } | |
| 185 | + | |
| 186 | + /* strip outer quotes */ | |
| 187 | + while( path < p && *path=='\"') ++path; | |
| 188 | + while( pe > path && *pe=='\"' ){ | |
| 189 | + *pe = '\0'; | |
| 190 | + --pe; | |
| 191 | + } | |
| 192 | + *p = '\0'; | |
| 193 | + | |
| 194 | + /* skip empty path */ | |
| 195 | + if( *path ){ | |
| 196 | + list->aRes[list->nRes].zName = path; | |
| 197 | + ++(list->nRes); | |
| 198 | + } | |
| 199 | + } | |
| 200 | + return list->aRes; | |
| 201 | +} | |
| 202 | + | |
| 203 | +void free_reslist(ResourceList *list){ | |
| 204 | + if( list ){ | |
| 205 | + if( list->buf ) free(list->buf); | |
| 206 | + if( list->aRes) free(list->aRes); | |
| 207 | + memset(list, 0, sizeof(*list)); | |
| 208 | + } | |
| 209 | +} | |
| 106 | 210 | |
| 107 | 211 | /* |
| 108 | 212 | ** Compare two Resource objects for sorting purposes. They sort |
| 109 | 213 | ** in zName order so that Fossil can search for resources using |
| 110 | 214 | ** a binary search. |
| 111 | 215 | */ |
| 112 | -static int compareResource(const void *a, const void *b){ | |
| 113 | - Resource *pA = (Resource*)a; | |
| 114 | - Resource *pB = (Resource*)b; | |
| 115 | - return strcmp(pA->zName, pB->zName); | |
| 216 | +typedef int (*QsortCompareFunc)(const void *, const void*); | |
| 217 | + | |
| 218 | +static int compareResource(const Resource *a, const Resource *b){ | |
| 219 | + return strcmp(a->zName, b->zName); | |
| 220 | +} | |
| 221 | + | |
| 222 | +int remove_duplicates(ResourceList *list){ | |
| 223 | + char dupNameAsc[64] = "\255"; | |
| 224 | + char dupNameDesc[64] = ""; | |
| 225 | + Resource dupResAsc; | |
| 226 | + Resource dupResDesc; | |
| 227 | + Resource *pDupRes; | |
| 228 | + int dupcount = 0; | |
| 229 | + int i; | |
| 230 | + | |
| 231 | + if( list->nRes==0 ){ | |
| 232 | + return list->nRes; | |
| 233 | + } | |
| 234 | + | |
| 235 | + /* | |
| 236 | + ** scan for duplicates and assign their names to a string that would sort to | |
| 237 | + ** the bottom, then re-sort and truncate the duplicates | |
| 238 | + */ | |
| 239 | + memset(dupNameAsc, dupNameAsc[0], sizeof(dupNameAsc)-2); | |
| 240 | + memset(dupNameDesc, dupNameDesc[0], sizeof(dupNameDesc)-2); | |
| 241 | + memset(&dupResAsc, 0, sizeof(dupResAsc)); | |
| 242 | + dupResAsc.zName = dupNameAsc; | |
| 243 | + memset(&dupResDesc, 0, sizeof(dupResDesc)); | |
| 244 | + dupResDesc.zName = dupNameDesc; | |
| 245 | + pDupRes = (compareResource(&dupResAsc, &dupResDesc) > 0 | |
| 246 | + ? &dupResAsc : &dupResDesc); | |
| 247 | + | |
| 248 | + qsort(list->aRes, list->nRes, sizeof(list->aRes[0]), | |
| 249 | + (QsortCompareFunc)compareResource); | |
| 250 | + for( i=0; i<list->nRes-1 ; ++i){ | |
| 251 | + Resource *res = &list->aRes[i]; | |
| 252 | + | |
| 253 | + while( i<list->nRes-1 | |
| 254 | + && compareResource(res, &list->aRes[i+1])==0 ){ | |
| 255 | + fprintf(stderr, "Skipped a duplicate file [%s]\n", list->aRes[i+1].zName); | |
| 256 | + memcpy(&list->aRes[i+1], pDupRes, sizeof(list->aRes[0])); | |
| 257 | + ++dupcount; | |
| 258 | + | |
| 259 | + ++i; | |
| 260 | + } | |
| 261 | + } | |
| 262 | + if( dupcount == 0){ | |
| 263 | + return list->nRes; | |
| 264 | + } | |
| 265 | + qsort(list->aRes, list->nRes, sizeof(list->aRes[0]), | |
| 266 | + (QsortCompareFunc)compareResource); | |
| 267 | + list->nRes -= dupcount; | |
| 268 | + memset(&list->aRes[list->nRes], 0, sizeof(list->aRes[0])); | |
| 269 | + | |
| 270 | + return list->nRes; | |
| 116 | 271 | } |
| 117 | 272 | |
| 118 | 273 | int main(int argc, char **argv){ |
| 119 | 274 | int i, sz; |
| 120 | 275 | int j, n; |
| 276 | + ResourceList resList; | |
| 121 | 277 | Resource *aRes; |
| 122 | 278 | int nRes; |
| 123 | 279 | unsigned char *pData; |
| 124 | 280 | int nErr = 0; |
| 125 | 281 | int nSkip; |
| 126 | 282 | int nPrefix = 0; |
| 127 | 283 | int nName; |
| 128 | 284 | |
| 285 | + if( argc==1 ){ | |
| 286 | + fprintf(stderr, "usage\t:%s " | |
| 287 | + "[--prefix path] [--reslist file] [resource-file1 ...]\n", | |
| 288 | + argv[0] | |
| 289 | + ); | |
| 290 | + return 1; | |
| 291 | + } | |
| 129 | 292 | if( argc>3 && strcmp(argv[1],"--prefix")==0 ){ |
| 130 | 293 | nPrefix = (int)strlen(argv[2]); |
| 131 | 294 | argc -= 2; |
| 132 | 295 | argv += 2; |
| 133 | 296 | } |
| 134 | - nRes = argc - 1; | |
| 135 | - aRes = malloc( nRes*sizeof(aRes[0]) ); | |
| 136 | - if( aRes==0 ){ | |
| 137 | - fprintf(stderr, "malloc failed\n"); | |
| 138 | - return 1; | |
| 139 | - } | |
| 140 | - for(i=0; i<argc-1; i++){ | |
| 141 | - aRes[i].zName = argv[i+1]; | |
| 142 | - } | |
| 143 | - qsort(aRes, nRes, sizeof(aRes[0]), compareResource); | |
| 297 | + | |
| 298 | + memset(&resList, 0, sizeof(resList)); | |
| 299 | + if( argc>2 && strcmp(argv[1],"--reslist")==0 ){ | |
| 300 | + if( read_reslist(argv[2], &resList)==0 ){ | |
| 301 | + fprintf(stderr, "Failed to load resource list from [%s]", argv[2]); | |
| 302 | + free_reslist(&resList); | |
| 303 | + return 1; | |
| 304 | + } | |
| 305 | + argc -= 2; | |
| 306 | + argv += 2; | |
| 307 | + } | |
| 308 | + | |
| 309 | + if( argc>1 ){ | |
| 310 | + aRes = realloc(resList.aRes, (resList.nRes+argc-1)*sizeof(resList.aRes[0])); | |
| 311 | + if( aRes==0 || aRes==resList.aRes ){ | |
| 312 | + fprintf(stderr, "realloc failed\n"); | |
| 313 | + free_reslist(&resList); | |
| 314 | + return 1; | |
| 315 | + } | |
| 316 | + resList.aRes = aRes; | |
| 317 | + | |
| 318 | + for(i=0; i<argc-1; i++){ | |
| 319 | + resList.aRes[resList.nRes].zName = argv[i+1]; | |
| 320 | + ++resList.nRes; | |
| 321 | + } | |
| 322 | + } | |
| 323 | + | |
| 324 | + if( resList.nRes==0 ){ | |
| 325 | + fprintf(stderr,"No resource files to process\n"); | |
| 326 | + free_reslist(&resList); | |
| 327 | + return 1; | |
| 328 | + } | |
| 329 | + remove_duplicates(&resList); | |
| 330 | + | |
| 331 | + nRes = resList.nRes; | |
| 332 | + aRes = resList.aRes; | |
| 333 | + qsort(aRes, nRes, sizeof(aRes[0]), (QsortCompareFunc)compareResource); | |
| 334 | + | |
| 144 | 335 | printf("/* Automatically generated code: Do not edit.\n**\n" |
| 145 | 336 | "** Rerun the \"mkbuiltin.c\" program or rerun the Fossil\n" |
| 146 | 337 | "** makefile to update this source file.\n" |
| 147 | 338 | "*/\n"); |
| 148 | 339 | for(i=0; i<nRes; i++){ |
| @@ -204,13 +395,14 @@ | ||
| 204 | 395 | while( z[0] ){ |
| 205 | 396 | if( z[0]=='\\' ) z[0] = '/'; |
| 206 | 397 | z++; |
| 207 | 398 | } |
| 208 | 399 | } |
| 209 | - qsort(aRes, nRes, sizeof(aRes[0]), compareResource); | |
| 400 | + qsort(aRes, nRes, sizeof(aRes[0]), (QsortCompareFunc)compareResource); | |
| 210 | 401 | for(i=0; i<nRes; i++){ |
| 211 | 402 | printf(" { \"%s\", bidata%d, %d },\n", |
| 212 | 403 | aRes[i].zName, aRes[i].idx, aRes[i].nByte); |
| 213 | 404 | } |
| 214 | 405 | printf("};\n"); |
| 406 | + free_reslist(&resList); | |
| 215 | 407 | return nErr; |
| 216 | 408 | } |
| 217 | 409 |
| --- src/mkbuiltin.c | |
| +++ src/mkbuiltin.c | |
| @@ -17,10 +17,17 @@ | |
| 17 | ** |
| 18 | ** This is a stand-alone utility program that is part of the Fossil build |
| 19 | ** process. This program reads files named on the command line and converts |
| 20 | ** them into ANSI-C static char array variables. Output is written onto |
| 21 | ** standard output. |
| 22 | ** |
| 23 | ** The makefiles use this utility to package various resources (large scripts, |
| 24 | ** GIF images, etc) that are separate files in the source code as byte |
| 25 | ** arrays in the resulting executable. |
| 26 | */ |
| @@ -101,48 +108,232 @@ | |
| 101 | struct Resource { |
| 102 | char *zName; |
| 103 | int nByte; |
| 104 | int idx; |
| 105 | }; |
| 106 | |
| 107 | /* |
| 108 | ** Compare two Resource objects for sorting purposes. They sort |
| 109 | ** in zName order so that Fossil can search for resources using |
| 110 | ** a binary search. |
| 111 | */ |
| 112 | static int compareResource(const void *a, const void *b){ |
| 113 | Resource *pA = (Resource*)a; |
| 114 | Resource *pB = (Resource*)b; |
| 115 | return strcmp(pA->zName, pB->zName); |
| 116 | } |
| 117 | |
| 118 | int main(int argc, char **argv){ |
| 119 | int i, sz; |
| 120 | int j, n; |
| 121 | Resource *aRes; |
| 122 | int nRes; |
| 123 | unsigned char *pData; |
| 124 | int nErr = 0; |
| 125 | int nSkip; |
| 126 | int nPrefix = 0; |
| 127 | int nName; |
| 128 | |
| 129 | if( argc>3 && strcmp(argv[1],"--prefix")==0 ){ |
| 130 | nPrefix = (int)strlen(argv[2]); |
| 131 | argc -= 2; |
| 132 | argv += 2; |
| 133 | } |
| 134 | nRes = argc - 1; |
| 135 | aRes = malloc( nRes*sizeof(aRes[0]) ); |
| 136 | if( aRes==0 ){ |
| 137 | fprintf(stderr, "malloc failed\n"); |
| 138 | return 1; |
| 139 | } |
| 140 | for(i=0; i<argc-1; i++){ |
| 141 | aRes[i].zName = argv[i+1]; |
| 142 | } |
| 143 | qsort(aRes, nRes, sizeof(aRes[0]), compareResource); |
| 144 | printf("/* Automatically generated code: Do not edit.\n**\n" |
| 145 | "** Rerun the \"mkbuiltin.c\" program or rerun the Fossil\n" |
| 146 | "** makefile to update this source file.\n" |
| 147 | "*/\n"); |
| 148 | for(i=0; i<nRes; i++){ |
| @@ -204,13 +395,14 @@ | |
| 204 | while( z[0] ){ |
| 205 | if( z[0]=='\\' ) z[0] = '/'; |
| 206 | z++; |
| 207 | } |
| 208 | } |
| 209 | qsort(aRes, nRes, sizeof(aRes[0]), compareResource); |
| 210 | for(i=0; i<nRes; i++){ |
| 211 | printf(" { \"%s\", bidata%d, %d },\n", |
| 212 | aRes[i].zName, aRes[i].idx, aRes[i].nByte); |
| 213 | } |
| 214 | printf("};\n"); |
| 215 | return nErr; |
| 216 | } |
| 217 |
| --- src/mkbuiltin.c | |
| +++ src/mkbuiltin.c | |
| @@ -17,10 +17,17 @@ | |
| 17 | ** |
| 18 | ** This is a stand-alone utility program that is part of the Fossil build |
| 19 | ** process. This program reads files named on the command line and converts |
| 20 | ** them into ANSI-C static char array variables. Output is written onto |
| 21 | ** standard output. |
| 22 | ** |
| 23 | ** Additionally, the input files may be listed in a separate list file (one |
| 24 | ** resource name per line, optionally enclosed in double quotes). Pass the list |
| 25 | ** via '--reslist <the-list-file>' option. Both lists, from the command line and |
| 26 | ** the list file, are merged; duplicate file names skipped from processing. |
| 27 | ** This option is useful to get around the command line length limitations |
| 28 | ** under some OS, like Windows. |
| 29 | ** |
| 30 | ** The makefiles use this utility to package various resources (large scripts, |
| 31 | ** GIF images, etc) that are separate files in the source code as byte |
| 32 | ** arrays in the resulting executable. |
| 33 | */ |
| @@ -101,48 +108,232 @@ | |
| 108 | struct Resource { |
| 109 | char *zName; |
| 110 | int nByte; |
| 111 | int idx; |
| 112 | }; |
| 113 | |
| 114 | typedef struct ResourceList ResourceList; |
| 115 | struct ResourceList { |
| 116 | Resource *aRes; |
| 117 | int nRes; |
| 118 | char *buf; |
| 119 | long bufsize; |
| 120 | }; |
| 121 | |
| 122 | |
| 123 | Resource *read_reslist(char *name, ResourceList *list){ |
| 124 | #define RESLIST_BUF_MAXBYTES (1L<<20) /* 1 MB of text */ |
| 125 | FILE *in; |
| 126 | long filesize = 0L; |
| 127 | long linecount = 0L; |
| 128 | char *p = 0; |
| 129 | char *pb = 0; |
| 130 | |
| 131 | memset(list, 0, sizeof(*list)); |
| 132 | |
| 133 | if( (in = fopen(name, "rb"))==0 ){ |
| 134 | return list->aRes; |
| 135 | } |
| 136 | fseek(in, 0L, SEEK_END); |
| 137 | filesize = ftell(in); |
| 138 | rewind(in); |
| 139 | |
| 140 | if( filesize > RESLIST_BUF_MAXBYTES ){ |
| 141 | fprintf(stderr, "List file [%s] must be smaller than %ld bytes\n", name, |
| 142 | RESLIST_BUF_MAXBYTES); |
| 143 | return list->aRes; |
| 144 | } |
| 145 | list->bufsize = filesize; |
| 146 | list->buf = (char *)calloc((list->bufsize + 2), sizeof(list->buf[0])); |
| 147 | if( list->buf==0 ){ |
| 148 | fprintf(stderr, "failed to allocated %ld bytes\n", list->bufsize + 1); |
| 149 | list->bufsize = 0L; |
| 150 | return list->aRes; |
| 151 | } |
| 152 | filesize = fread(list->buf, sizeof(list->buf[0]),list->bufsize, in); |
| 153 | if ( filesize!=list->bufsize ){ |
| 154 | fprintf(stderr, "failed to read [%s]\n", name); |
| 155 | return list->aRes; |
| 156 | } |
| 157 | fclose(in); |
| 158 | |
| 159 | /* |
| 160 | ** append an extra newline (if missing) for a correct line count |
| 161 | */ |
| 162 | if( list->buf[list->bufsize-1]!='\n' ) list->buf[list->bufsize]='\n'; |
| 163 | |
| 164 | linecount = 0L; |
| 165 | for( p = strchr(list->buf, '\n'); |
| 166 | p && p <= &list->buf[list->bufsize-1]; |
| 167 | p = strchr(++p, '\n') ){ |
| 168 | ++linecount; |
| 169 | } |
| 170 | |
| 171 | list->aRes = (Resource *)calloc(linecount+1, sizeof(list->aRes[0])); |
| 172 | for( pb = list->buf, p = strchr(pb, '\n'); |
| 173 | p && p <= &list->buf[list->bufsize-1]; |
| 174 | pb = ++p, p = strchr(pb, '\n') ){ |
| 175 | |
| 176 | char *path = pb; |
| 177 | char *pe = p - 1; |
| 178 | |
| 179 | /* strip leading and trailing whitespace */ |
| 180 | while( path < p && isspace(*path) ) ++path; |
| 181 | while( pe > path && isspace(*pe) ){ |
| 182 | *pe = '\0'; |
| 183 | --pe; |
| 184 | } |
| 185 | |
| 186 | /* strip outer quotes */ |
| 187 | while( path < p && *path=='\"') ++path; |
| 188 | while( pe > path && *pe=='\"' ){ |
| 189 | *pe = '\0'; |
| 190 | --pe; |
| 191 | } |
| 192 | *p = '\0'; |
| 193 | |
| 194 | /* skip empty path */ |
| 195 | if( *path ){ |
| 196 | list->aRes[list->nRes].zName = path; |
| 197 | ++(list->nRes); |
| 198 | } |
| 199 | } |
| 200 | return list->aRes; |
| 201 | } |
| 202 | |
| 203 | void free_reslist(ResourceList *list){ |
| 204 | if( list ){ |
| 205 | if( list->buf ) free(list->buf); |
| 206 | if( list->aRes) free(list->aRes); |
| 207 | memset(list, 0, sizeof(*list)); |
| 208 | } |
| 209 | } |
| 210 | |
| 211 | /* |
| 212 | ** Compare two Resource objects for sorting purposes. They sort |
| 213 | ** in zName order so that Fossil can search for resources using |
| 214 | ** a binary search. |
| 215 | */ |
| 216 | typedef int (*QsortCompareFunc)(const void *, const void*); |
| 217 | |
| 218 | static int compareResource(const Resource *a, const Resource *b){ |
| 219 | return strcmp(a->zName, b->zName); |
| 220 | } |
| 221 | |
| 222 | int remove_duplicates(ResourceList *list){ |
| 223 | char dupNameAsc[64] = "\255"; |
| 224 | char dupNameDesc[64] = ""; |
| 225 | Resource dupResAsc; |
| 226 | Resource dupResDesc; |
| 227 | Resource *pDupRes; |
| 228 | int dupcount = 0; |
| 229 | int i; |
| 230 | |
| 231 | if( list->nRes==0 ){ |
| 232 | return list->nRes; |
| 233 | } |
| 234 | |
| 235 | /* |
| 236 | ** scan for duplicates and assign their names to a string that would sort to |
| 237 | ** the bottom, then re-sort and truncate the duplicates |
| 238 | */ |
| 239 | memset(dupNameAsc, dupNameAsc[0], sizeof(dupNameAsc)-2); |
| 240 | memset(dupNameDesc, dupNameDesc[0], sizeof(dupNameDesc)-2); |
| 241 | memset(&dupResAsc, 0, sizeof(dupResAsc)); |
| 242 | dupResAsc.zName = dupNameAsc; |
| 243 | memset(&dupResDesc, 0, sizeof(dupResDesc)); |
| 244 | dupResDesc.zName = dupNameDesc; |
| 245 | pDupRes = (compareResource(&dupResAsc, &dupResDesc) > 0 |
| 246 | ? &dupResAsc : &dupResDesc); |
| 247 | |
| 248 | qsort(list->aRes, list->nRes, sizeof(list->aRes[0]), |
| 249 | (QsortCompareFunc)compareResource); |
| 250 | for( i=0; i<list->nRes-1 ; ++i){ |
| 251 | Resource *res = &list->aRes[i]; |
| 252 | |
| 253 | while( i<list->nRes-1 |
| 254 | && compareResource(res, &list->aRes[i+1])==0 ){ |
| 255 | fprintf(stderr, "Skipped a duplicate file [%s]\n", list->aRes[i+1].zName); |
| 256 | memcpy(&list->aRes[i+1], pDupRes, sizeof(list->aRes[0])); |
| 257 | ++dupcount; |
| 258 | |
| 259 | ++i; |
| 260 | } |
| 261 | } |
| 262 | if( dupcount == 0){ |
| 263 | return list->nRes; |
| 264 | } |
| 265 | qsort(list->aRes, list->nRes, sizeof(list->aRes[0]), |
| 266 | (QsortCompareFunc)compareResource); |
| 267 | list->nRes -= dupcount; |
| 268 | memset(&list->aRes[list->nRes], 0, sizeof(list->aRes[0])); |
| 269 | |
| 270 | return list->nRes; |
| 271 | } |
| 272 | |
| 273 | int main(int argc, char **argv){ |
| 274 | int i, sz; |
| 275 | int j, n; |
| 276 | ResourceList resList; |
| 277 | Resource *aRes; |
| 278 | int nRes; |
| 279 | unsigned char *pData; |
| 280 | int nErr = 0; |
| 281 | int nSkip; |
| 282 | int nPrefix = 0; |
| 283 | int nName; |
| 284 | |
| 285 | if( argc==1 ){ |
| 286 | fprintf(stderr, "usage\t:%s " |
| 287 | "[--prefix path] [--reslist file] [resource-file1 ...]\n", |
| 288 | argv[0] |
| 289 | ); |
| 290 | return 1; |
| 291 | } |
| 292 | if( argc>3 && strcmp(argv[1],"--prefix")==0 ){ |
| 293 | nPrefix = (int)strlen(argv[2]); |
| 294 | argc -= 2; |
| 295 | argv += 2; |
| 296 | } |
| 297 | |
| 298 | memset(&resList, 0, sizeof(resList)); |
| 299 | if( argc>2 && strcmp(argv[1],"--reslist")==0 ){ |
| 300 | if( read_reslist(argv[2], &resList)==0 ){ |
| 301 | fprintf(stderr, "Failed to load resource list from [%s]", argv[2]); |
| 302 | free_reslist(&resList); |
| 303 | return 1; |
| 304 | } |
| 305 | argc -= 2; |
| 306 | argv += 2; |
| 307 | } |
| 308 | |
| 309 | if( argc>1 ){ |
| 310 | aRes = realloc(resList.aRes, (resList.nRes+argc-1)*sizeof(resList.aRes[0])); |
| 311 | if( aRes==0 || aRes==resList.aRes ){ |
| 312 | fprintf(stderr, "realloc failed\n"); |
| 313 | free_reslist(&resList); |
| 314 | return 1; |
| 315 | } |
| 316 | resList.aRes = aRes; |
| 317 | |
| 318 | for(i=0; i<argc-1; i++){ |
| 319 | resList.aRes[resList.nRes].zName = argv[i+1]; |
| 320 | ++resList.nRes; |
| 321 | } |
| 322 | } |
| 323 | |
| 324 | if( resList.nRes==0 ){ |
| 325 | fprintf(stderr,"No resource files to process\n"); |
| 326 | free_reslist(&resList); |
| 327 | return 1; |
| 328 | } |
| 329 | remove_duplicates(&resList); |
| 330 | |
| 331 | nRes = resList.nRes; |
| 332 | aRes = resList.aRes; |
| 333 | qsort(aRes, nRes, sizeof(aRes[0]), (QsortCompareFunc)compareResource); |
| 334 | |
| 335 | printf("/* Automatically generated code: Do not edit.\n**\n" |
| 336 | "** Rerun the \"mkbuiltin.c\" program or rerun the Fossil\n" |
| 337 | "** makefile to update this source file.\n" |
| 338 | "*/\n"); |
| 339 | for(i=0; i<nRes; i++){ |
| @@ -204,13 +395,14 @@ | |
| 395 | while( z[0] ){ |
| 396 | if( z[0]=='\\' ) z[0] = '/'; |
| 397 | z++; |
| 398 | } |
| 399 | } |
| 400 | qsort(aRes, nRes, sizeof(aRes[0]), (QsortCompareFunc)compareResource); |
| 401 | for(i=0; i<nRes; i++){ |
| 402 | printf(" { \"%s\", bidata%d, %d },\n", |
| 403 | aRes[i].zName, aRes[i].idx, aRes[i].nByte); |
| 404 | } |
| 405 | printf("};\n"); |
| 406 | free_reslist(&resList); |
| 407 | return nErr; |
| 408 | } |
| 409 |
+3
-2
| --- src/name.c | ||
| +++ src/name.c | ||
| @@ -380,11 +380,11 @@ | ||
| 380 | 380 | if( zType[0]=='*' ){ |
| 381 | 381 | db_prepare(&q, "SELECT rid FROM blob WHERE uuid GLOB '%q*'", zUuid); |
| 382 | 382 | }else{ |
| 383 | 383 | db_prepare(&q, |
| 384 | 384 | "SELECT blob.rid" |
| 385 | - " FROM blob, event" | |
| 385 | + " FROM blob CROSS JOIN event" | |
| 386 | 386 | " WHERE blob.uuid GLOB '%q*'" |
| 387 | 387 | " AND event.objid=blob.rid" |
| 388 | 388 | " AND event.type GLOB '%q'", |
| 389 | 389 | zUuid, zType |
| 390 | 390 | ); |
| @@ -973,11 +973,12 @@ | ||
| 973 | 973 | @ type TEXT, -- file, checkin, wiki, ticket, etc. |
| 974 | 974 | @ rcvid INT, -- When the artifact was received |
| 975 | 975 | @ summary TEXT, -- Summary comment for the object |
| 976 | 976 | @ ref TEXT -- hash of an object to link against |
| 977 | 977 | @ ); |
| 978 | -@ CREATE INDEX desctype ON description(summary) WHERE summary='unknown'; | |
| 978 | +@ CREATE INDEX IF NOT EXISTS desctype | |
| 979 | +@ ON description(summary) WHERE summary='unknown'; | |
| 979 | 980 | ; |
| 980 | 981 | |
| 981 | 982 | /* |
| 982 | 983 | ** Attempt to describe all phantom artifacts. The artifacts are |
| 983 | 984 | ** already loaded into the description table and have summary='unknown'. |
| 984 | 985 |
| --- src/name.c | |
| +++ src/name.c | |
| @@ -380,11 +380,11 @@ | |
| 380 | if( zType[0]=='*' ){ |
| 381 | db_prepare(&q, "SELECT rid FROM blob WHERE uuid GLOB '%q*'", zUuid); |
| 382 | }else{ |
| 383 | db_prepare(&q, |
| 384 | "SELECT blob.rid" |
| 385 | " FROM blob, event" |
| 386 | " WHERE blob.uuid GLOB '%q*'" |
| 387 | " AND event.objid=blob.rid" |
| 388 | " AND event.type GLOB '%q'", |
| 389 | zUuid, zType |
| 390 | ); |
| @@ -973,11 +973,12 @@ | |
| 973 | @ type TEXT, -- file, checkin, wiki, ticket, etc. |
| 974 | @ rcvid INT, -- When the artifact was received |
| 975 | @ summary TEXT, -- Summary comment for the object |
| 976 | @ ref TEXT -- hash of an object to link against |
| 977 | @ ); |
| 978 | @ CREATE INDEX desctype ON description(summary) WHERE summary='unknown'; |
| 979 | ; |
| 980 | |
| 981 | /* |
| 982 | ** Attempt to describe all phantom artifacts. The artifacts are |
| 983 | ** already loaded into the description table and have summary='unknown'. |
| 984 |
| --- src/name.c | |
| +++ src/name.c | |
| @@ -380,11 +380,11 @@ | |
| 380 | if( zType[0]=='*' ){ |
| 381 | db_prepare(&q, "SELECT rid FROM blob WHERE uuid GLOB '%q*'", zUuid); |
| 382 | }else{ |
| 383 | db_prepare(&q, |
| 384 | "SELECT blob.rid" |
| 385 | " FROM blob CROSS JOIN event" |
| 386 | " WHERE blob.uuid GLOB '%q*'" |
| 387 | " AND event.objid=blob.rid" |
| 388 | " AND event.type GLOB '%q'", |
| 389 | zUuid, zType |
| 390 | ); |
| @@ -973,11 +973,12 @@ | |
| 973 | @ type TEXT, -- file, checkin, wiki, ticket, etc. |
| 974 | @ rcvid INT, -- When the artifact was received |
| 975 | @ summary TEXT, -- Summary comment for the object |
| 976 | @ ref TEXT -- hash of an object to link against |
| 977 | @ ); |
| 978 | @ CREATE INDEX IF NOT EXISTS desctype |
| 979 | @ ON description(summary) WHERE summary='unknown'; |
| 980 | ; |
| 981 | |
| 982 | /* |
| 983 | ** Attempt to describe all phantom artifacts. The artifacts are |
| 984 | ** already loaded into the description table and have summary='unknown'. |
| 985 |
+9
| --- src/printf.c | ||
| +++ src/printf.c | ||
| @@ -101,10 +101,12 @@ | ||
| 101 | 101 | #define etWIKISTR 22 /* Timeline comment text rendered from a char*: %W */ |
| 102 | 102 | #define etSTRINGID 23 /* String with length limit for a hash prefix: %S */ |
| 103 | 103 | #define etROOT 24 /* String value of g.zTop: %R */ |
| 104 | 104 | #define etJSONSTR 25 /* String encoded as a JSON string literal: %j |
| 105 | 105 | Use %!j to include double-quotes around it. */ |
| 106 | +#define etSHELLESC 26 /* Escape a filename for use in a shell command: %$ | |
| 107 | + See blob_append_escaped_arg() for details */ | |
| 106 | 108 | |
| 107 | 109 | |
| 108 | 110 | /* |
| 109 | 111 | ** An "etByte" is an 8-bit unsigned value. |
| 110 | 112 | */ |
| @@ -167,10 +169,11 @@ | ||
| 167 | 169 | { 'i', 10, 1, etRADIX, 0, 0 }, |
| 168 | 170 | { 'n', 0, 0, etSIZE, 0, 0 }, |
| 169 | 171 | { '%', 0, 0, etPERCENT, 0, 0 }, |
| 170 | 172 | { 'p', 16, 0, etPOINTER, 0, 1 }, |
| 171 | 173 | { '/', 0, 0, etPATH, 0, 0 }, |
| 174 | + { '$', 0, 0, etSHELLESC, 0, 0 }, | |
| 172 | 175 | }; |
| 173 | 176 | #define etNINFO count(fmtinfo) |
| 174 | 177 | |
| 175 | 178 | /* |
| 176 | 179 | ** "*val" is a double such that 0.1 <= *val < 10.0 |
| @@ -813,10 +816,16 @@ | ||
| 813 | 816 | blob_init(&wiki, zWiki, limit); |
| 814 | 817 | wiki_convert(&wiki, pBlob, wiki_convert_flags(flag_altform2)); |
| 815 | 818 | blob_reset(&wiki); |
| 816 | 819 | length = width = 0; |
| 817 | 820 | break; |
| 821 | + } | |
| 822 | + case etSHELLESC: { | |
| 823 | + char *zArg = va_arg(ap, char*); | |
| 824 | + blob_append_escaped_arg(pBlob, zArg); | |
| 825 | + length = width = 0; | |
| 826 | + break; | |
| 818 | 827 | } |
| 819 | 828 | case etERROR: |
| 820 | 829 | buf[0] = '%'; |
| 821 | 830 | buf[1] = c; |
| 822 | 831 | errorflag = 0; |
| 823 | 832 |
| --- src/printf.c | |
| +++ src/printf.c | |
| @@ -101,10 +101,12 @@ | |
| 101 | #define etWIKISTR 22 /* Timeline comment text rendered from a char*: %W */ |
| 102 | #define etSTRINGID 23 /* String with length limit for a hash prefix: %S */ |
| 103 | #define etROOT 24 /* String value of g.zTop: %R */ |
| 104 | #define etJSONSTR 25 /* String encoded as a JSON string literal: %j |
| 105 | Use %!j to include double-quotes around it. */ |
| 106 | |
| 107 | |
| 108 | /* |
| 109 | ** An "etByte" is an 8-bit unsigned value. |
| 110 | */ |
| @@ -167,10 +169,11 @@ | |
| 167 | { 'i', 10, 1, etRADIX, 0, 0 }, |
| 168 | { 'n', 0, 0, etSIZE, 0, 0 }, |
| 169 | { '%', 0, 0, etPERCENT, 0, 0 }, |
| 170 | { 'p', 16, 0, etPOINTER, 0, 1 }, |
| 171 | { '/', 0, 0, etPATH, 0, 0 }, |
| 172 | }; |
| 173 | #define etNINFO count(fmtinfo) |
| 174 | |
| 175 | /* |
| 176 | ** "*val" is a double such that 0.1 <= *val < 10.0 |
| @@ -813,10 +816,16 @@ | |
| 813 | blob_init(&wiki, zWiki, limit); |
| 814 | wiki_convert(&wiki, pBlob, wiki_convert_flags(flag_altform2)); |
| 815 | blob_reset(&wiki); |
| 816 | length = width = 0; |
| 817 | break; |
| 818 | } |
| 819 | case etERROR: |
| 820 | buf[0] = '%'; |
| 821 | buf[1] = c; |
| 822 | errorflag = 0; |
| 823 |
| --- src/printf.c | |
| +++ src/printf.c | |
| @@ -101,10 +101,12 @@ | |
| 101 | #define etWIKISTR 22 /* Timeline comment text rendered from a char*: %W */ |
| 102 | #define etSTRINGID 23 /* String with length limit for a hash prefix: %S */ |
| 103 | #define etROOT 24 /* String value of g.zTop: %R */ |
| 104 | #define etJSONSTR 25 /* String encoded as a JSON string literal: %j |
| 105 | Use %!j to include double-quotes around it. */ |
| 106 | #define etSHELLESC 26 /* Escape a filename for use in a shell command: %$ |
| 107 | See blob_append_escaped_arg() for details */ |
| 108 | |
| 109 | |
| 110 | /* |
| 111 | ** An "etByte" is an 8-bit unsigned value. |
| 112 | */ |
| @@ -167,10 +169,11 @@ | |
| 169 | { 'i', 10, 1, etRADIX, 0, 0 }, |
| 170 | { 'n', 0, 0, etSIZE, 0, 0 }, |
| 171 | { '%', 0, 0, etPERCENT, 0, 0 }, |
| 172 | { 'p', 16, 0, etPOINTER, 0, 1 }, |
| 173 | { '/', 0, 0, etPATH, 0, 0 }, |
| 174 | { '$', 0, 0, etSHELLESC, 0, 0 }, |
| 175 | }; |
| 176 | #define etNINFO count(fmtinfo) |
| 177 | |
| 178 | /* |
| 179 | ** "*val" is a double such that 0.1 <= *val < 10.0 |
| @@ -813,10 +816,16 @@ | |
| 816 | blob_init(&wiki, zWiki, limit); |
| 817 | wiki_convert(&wiki, pBlob, wiki_convert_flags(flag_altform2)); |
| 818 | blob_reset(&wiki); |
| 819 | length = width = 0; |
| 820 | break; |
| 821 | } |
| 822 | case etSHELLESC: { |
| 823 | char *zArg = va_arg(ap, char*); |
| 824 | blob_append_escaped_arg(pBlob, zArg); |
| 825 | length = width = 0; |
| 826 | break; |
| 827 | } |
| 828 | case etERROR: |
| 829 | buf[0] = '%'; |
| 830 | buf[1] = c; |
| 831 | errorflag = 0; |
| 832 |
+2
| --- src/repolist.c | ||
| +++ src/repolist.c | ||
| @@ -141,10 +141,12 @@ | ||
| 141 | 141 | } |
| 142 | 142 | n = db_int(0, "SELECT count(*) FROM sfile"); |
| 143 | 143 | if( n==0 ){ |
| 144 | 144 | sqlite3_close(g.db); |
| 145 | 145 | g.db = 0; |
| 146 | + g.repositoryOpen = 0; | |
| 147 | + g.localOpen = 0; | |
| 146 | 148 | return 0; |
| 147 | 149 | }else{ |
| 148 | 150 | Stmt q; |
| 149 | 151 | double rNow; |
| 150 | 152 | blob_append_sql(&html, |
| 151 | 153 |
| --- src/repolist.c | |
| +++ src/repolist.c | |
| @@ -141,10 +141,12 @@ | |
| 141 | } |
| 142 | n = db_int(0, "SELECT count(*) FROM sfile"); |
| 143 | if( n==0 ){ |
| 144 | sqlite3_close(g.db); |
| 145 | g.db = 0; |
| 146 | return 0; |
| 147 | }else{ |
| 148 | Stmt q; |
| 149 | double rNow; |
| 150 | blob_append_sql(&html, |
| 151 |
| --- src/repolist.c | |
| +++ src/repolist.c | |
| @@ -141,10 +141,12 @@ | |
| 141 | } |
| 142 | n = db_int(0, "SELECT count(*) FROM sfile"); |
| 143 | if( n==0 ){ |
| 144 | sqlite3_close(g.db); |
| 145 | g.db = 0; |
| 146 | g.repositoryOpen = 0; |
| 147 | g.localOpen = 0; |
| 148 | return 0; |
| 149 | }else{ |
| 150 | Stmt q; |
| 151 | double rNow; |
| 152 | blob_append_sql(&html, |
| 153 |
+1
-1
| --- src/schema.c | ||
| +++ src/schema.c | ||
| @@ -266,11 +266,11 @@ | ||
| 266 | 266 | @ mid INTEGER, -- Check-in that contains fid |
| 267 | 267 | @ fid INTEGER, -- New file content. 0 if deleted |
| 268 | 268 | @ pmid INTEGER, -- Check-in that contains pid |
| 269 | 269 | @ pid INTEGER, -- Prev file content. 0 if new. -1 merge |
| 270 | 270 | @ fnid INTEGER REFERENCES filename, -- Name of the file |
| 271 | -@ pfnid INTEGER REFERENCES filename, -- Previous name. 0 if unchanged | |
| 271 | +@ pfnid INTEGER, -- Previous name. 0 if unchanged | |
| 272 | 272 | @ mperm INTEGER, -- File permissions. 1==exec |
| 273 | 273 | @ isaux BOOLEAN DEFAULT 0 -- TRUE if pmid is the primary |
| 274 | 274 | @ ); |
| 275 | 275 | @ CREATE INDEX mlink_i1 ON mlink(mid); |
| 276 | 276 | @ CREATE INDEX mlink_i2 ON mlink(fnid); |
| 277 | 277 |
| --- src/schema.c | |
| +++ src/schema.c | |
| @@ -266,11 +266,11 @@ | |
| 266 | @ mid INTEGER, -- Check-in that contains fid |
| 267 | @ fid INTEGER, -- New file content. 0 if deleted |
| 268 | @ pmid INTEGER, -- Check-in that contains pid |
| 269 | @ pid INTEGER, -- Prev file content. 0 if new. -1 merge |
| 270 | @ fnid INTEGER REFERENCES filename, -- Name of the file |
| 271 | @ pfnid INTEGER REFERENCES filename, -- Previous name. 0 if unchanged |
| 272 | @ mperm INTEGER, -- File permissions. 1==exec |
| 273 | @ isaux BOOLEAN DEFAULT 0 -- TRUE if pmid is the primary |
| 274 | @ ); |
| 275 | @ CREATE INDEX mlink_i1 ON mlink(mid); |
| 276 | @ CREATE INDEX mlink_i2 ON mlink(fnid); |
| 277 |
| --- src/schema.c | |
| +++ src/schema.c | |
| @@ -266,11 +266,11 @@ | |
| 266 | @ mid INTEGER, -- Check-in that contains fid |
| 267 | @ fid INTEGER, -- New file content. 0 if deleted |
| 268 | @ pmid INTEGER, -- Check-in that contains pid |
| 269 | @ pid INTEGER, -- Prev file content. 0 if new. -1 merge |
| 270 | @ fnid INTEGER REFERENCES filename, -- Name of the file |
| 271 | @ pfnid INTEGER, -- Previous name. 0 if unchanged |
| 272 | @ mperm INTEGER, -- File permissions. 1==exec |
| 273 | @ isaux BOOLEAN DEFAULT 0 -- TRUE if pmid is the primary |
| 274 | @ ); |
| 275 | @ CREATE INDEX mlink_i1 ON mlink(mid); |
| 276 | @ CREATE INDEX mlink_i2 ON mlink(fnid); |
| 277 |
+21
| --- src/setup.c | ||
| +++ src/setup.c | ||
| @@ -1052,10 +1052,31 @@ | ||
| 1052 | 1052 | @ <li> <b>branch/</b><i>branch-name</i> |
| 1053 | 1053 | @ <li> <b>checkin/</b><i>full-checkin-hash</i> |
| 1054 | 1054 | @ <li> <b>tag/</b><i>tag-name</i> |
| 1055 | 1055 | @ </ul> |
| 1056 | 1056 | @ (Property: "wiki-about")</p> |
| 1057 | + @ <hr /> | |
| 1058 | + entry_attribute("Allow Unsafe HTML In Markdown", 6, | |
| 1059 | + "safe-html", "safe-html", "", 0); | |
| 1060 | + @ <p>Allow "unsafe" HTML (ex: <script>, <form>, etc) to be | |
| 1061 | + @ generated by <a href="%R/md_rules">Markdown-formatted</a> documents. | |
| 1062 | + @ This setting is a string where each character indicates a "type" of | |
| 1063 | + @ document in which to allow unsafe HTML: | |
| 1064 | + @ <ul> | |
| 1065 | + @ <li> <b>b</b> → checked-in files, embedded documentation | |
| 1066 | + @ <li> <b>f</b> → forum posts | |
| 1067 | + @ <li> <b>t</b> → tickets | |
| 1068 | + @ <li> <b>w</b> → wiki pages | |
| 1069 | + @ </ul> | |
| 1070 | + @ Include letters for each type of document for which unsafe HTML should | |
| 1071 | + @ be allowed. For example, to allow unsafe HTML only for checked-in files, | |
| 1072 | + @ make this setting be just "<b>b</b>". To allow unsafe HTML anywhere except | |
| 1073 | + @ in forum posts, make this setting be "<b>btw</b>". The default is an | |
| 1074 | + @ empty string which means that Fossil never allows Markdown documents | |
| 1075 | + @ to generate unsafe HTML. | |
| 1076 | + @ (Property: "safe-html")</p> | |
| 1077 | + @ <hr /> | |
| 1057 | 1078 | @ <hr /> |
| 1058 | 1079 | onoff_attribute("Enable WYSIWYG Wiki Editing", |
| 1059 | 1080 | "wysiwyg-wiki", "wysiwyg-wiki", 0, 0); |
| 1060 | 1081 | @ <p>Enable what-you-see-is-what-you-get (WYSIWYG) editing of wiki pages. |
| 1061 | 1082 | @ The WYSIWYG editor generates HTML instead of markup, which makes |
| 1062 | 1083 |
| --- src/setup.c | |
| +++ src/setup.c | |
| @@ -1052,10 +1052,31 @@ | |
| 1052 | @ <li> <b>branch/</b><i>branch-name</i> |
| 1053 | @ <li> <b>checkin/</b><i>full-checkin-hash</i> |
| 1054 | @ <li> <b>tag/</b><i>tag-name</i> |
| 1055 | @ </ul> |
| 1056 | @ (Property: "wiki-about")</p> |
| 1057 | @ <hr /> |
| 1058 | onoff_attribute("Enable WYSIWYG Wiki Editing", |
| 1059 | "wysiwyg-wiki", "wysiwyg-wiki", 0, 0); |
| 1060 | @ <p>Enable what-you-see-is-what-you-get (WYSIWYG) editing of wiki pages. |
| 1061 | @ The WYSIWYG editor generates HTML instead of markup, which makes |
| 1062 |
| --- src/setup.c | |
| +++ src/setup.c | |
| @@ -1052,10 +1052,31 @@ | |
| 1052 | @ <li> <b>branch/</b><i>branch-name</i> |
| 1053 | @ <li> <b>checkin/</b><i>full-checkin-hash</i> |
| 1054 | @ <li> <b>tag/</b><i>tag-name</i> |
| 1055 | @ </ul> |
| 1056 | @ (Property: "wiki-about")</p> |
| 1057 | @ <hr /> |
| 1058 | entry_attribute("Allow Unsafe HTML In Markdown", 6, |
| 1059 | "safe-html", "safe-html", "", 0); |
| 1060 | @ <p>Allow "unsafe" HTML (ex: <script>, <form>, etc) to be |
| 1061 | @ generated by <a href="%R/md_rules">Markdown-formatted</a> documents. |
| 1062 | @ This setting is a string where each character indicates a "type" of |
| 1063 | @ document in which to allow unsafe HTML: |
| 1064 | @ <ul> |
| 1065 | @ <li> <b>b</b> → checked-in files, embedded documentation |
| 1066 | @ <li> <b>f</b> → forum posts |
| 1067 | @ <li> <b>t</b> → tickets |
| 1068 | @ <li> <b>w</b> → wiki pages |
| 1069 | @ </ul> |
| 1070 | @ Include letters for each type of document for which unsafe HTML should |
| 1071 | @ be allowed. For example, to allow unsafe HTML only for checked-in files, |
| 1072 | @ make this setting be just "<b>b</b>". To allow unsafe HTML anywhere except |
| 1073 | @ in forum posts, make this setting be "<b>btw</b>". The default is an |
| 1074 | @ empty string which means that Fossil never allows Markdown documents |
| 1075 | @ to generate unsafe HTML. |
| 1076 | @ (Property: "safe-html")</p> |
| 1077 | @ <hr /> |
| 1078 | @ <hr /> |
| 1079 | onoff_attribute("Enable WYSIWYG Wiki Editing", |
| 1080 | "wysiwyg-wiki", "wysiwyg-wiki", 0, 0); |
| 1081 | @ <p>Enable what-you-see-is-what-you-get (WYSIWYG) editing of wiki pages. |
| 1082 | @ The WYSIWYG editor generates HTML instead of markup, which makes |
| 1083 |
+436
-107
| --- src/shell.c | ||
| +++ src/shell.c | ||
| @@ -9700,22 +9700,10 @@ | ||
| 9700 | 9700 | char **azFilter; /* Array of xFilter rejection GLOB patterns */ |
| 9701 | 9701 | sqlite3_session *p; /* The open session */ |
| 9702 | 9702 | }; |
| 9703 | 9703 | #endif |
| 9704 | 9704 | |
| 9705 | -/* | |
| 9706 | -** Shell output mode information from before ".explain on", | |
| 9707 | -** saved so that it can be restored by ".explain off" | |
| 9708 | -*/ | |
| 9709 | -typedef struct SavedModeInfo SavedModeInfo; | |
| 9710 | -struct SavedModeInfo { | |
| 9711 | - int valid; /* Is there legit data in here? */ | |
| 9712 | - int mode; /* Mode prior to ".explain on" */ | |
| 9713 | - int showHeader; /* The ".header" setting prior to ".explain on" */ | |
| 9714 | - int colWidth[100]; /* Column widths prior to ".explain on" */ | |
| 9715 | -}; | |
| 9716 | - | |
| 9717 | 9705 | typedef struct ExpertInfo ExpertInfo; |
| 9718 | 9706 | struct ExpertInfo { |
| 9719 | 9707 | sqlite3expert *pExpert; |
| 9720 | 9708 | int bVerbose; |
| 9721 | 9709 | }; |
| @@ -9781,12 +9769,13 @@ | ||
| 9781 | 9769 | char zTestcase[30]; /* Name of current test case */ |
| 9782 | 9770 | char colSeparator[20]; /* Column separator character for several modes */ |
| 9783 | 9771 | char rowSeparator[20]; /* Row separator character for MODE_Ascii */ |
| 9784 | 9772 | char colSepPrior[20]; /* Saved column separator */ |
| 9785 | 9773 | char rowSepPrior[20]; /* Saved row separator */ |
| 9786 | - int colWidth[100]; /* Requested width of each column when in column mode*/ | |
| 9787 | - int actualWidth[100]; /* Actual width of each column */ | |
| 9774 | + int *colWidth; /* Requested width of each column in columnar modes */ | |
| 9775 | + int *actualWidth; /* Actual width of each column */ | |
| 9776 | + int nWidth; /* Number of slots in colWidth[] and actualWidth[] */ | |
| 9788 | 9777 | char nullValue[20]; /* The text to print when a NULL comes back from |
| 9789 | 9778 | ** the database */ |
| 9790 | 9779 | char outfile[FILENAME_MAX]; /* Filename for *out */ |
| 9791 | 9780 | const char *zDbFilename; /* name of the database file */ |
| 9792 | 9781 | char *zFreeOnClose; /* Filename to free when closing */ |
| @@ -9843,10 +9832,11 @@ | ||
| 9843 | 9832 | #define SHFLG_Backslash 0x00000004 /* The --backslash option is used */ |
| 9844 | 9833 | #define SHFLG_PreserveRowid 0x00000008 /* .dump preserves rowid values */ |
| 9845 | 9834 | #define SHFLG_Newlines 0x00000010 /* .dump --newline flag */ |
| 9846 | 9835 | #define SHFLG_CountChanges 0x00000020 /* .changes setting */ |
| 9847 | 9836 | #define SHFLG_Echo 0x00000040 /* .echo or --echo setting */ |
| 9837 | +#define SHFLG_HeaderSet 0x00000080 /* .header has been used */ | |
| 9848 | 9838 | |
| 9849 | 9839 | /* |
| 9850 | 9840 | ** Macros for testing and setting shellFlgs |
| 9851 | 9841 | */ |
| 9852 | 9842 | #define ShellHasFlag(P,X) (((P)->shellFlgs & (X))!=0) |
| @@ -9867,10 +9857,14 @@ | ||
| 9867 | 9857 | #define MODE_Csv 8 /* Quote strings, numbers are plain */ |
| 9868 | 9858 | #define MODE_Explain 9 /* Like MODE_Column, but do not truncate data */ |
| 9869 | 9859 | #define MODE_Ascii 10 /* Use ASCII unit and record separators (0x1F/0x1E) */ |
| 9870 | 9860 | #define MODE_Pretty 11 /* Pretty-print schemas */ |
| 9871 | 9861 | #define MODE_EQP 12 /* Converts EXPLAIN QUERY PLAN output into a graph */ |
| 9862 | +#define MODE_Json 13 /* Output JSON */ | |
| 9863 | +#define MODE_Markdown 14 /* Markdown formatting */ | |
| 9864 | +#define MODE_Table 15 /* MySQL-style table formatting */ | |
| 9865 | +#define MODE_Box 16 /* Unicode box-drawing characters */ | |
| 9872 | 9866 | |
| 9873 | 9867 | static const char *modeDescr[] = { |
| 9874 | 9868 | "line", |
| 9875 | 9869 | "column", |
| 9876 | 9870 | "list", |
| @@ -9881,11 +9875,15 @@ | ||
| 9881 | 9875 | "tcl", |
| 9882 | 9876 | "csv", |
| 9883 | 9877 | "explain", |
| 9884 | 9878 | "ascii", |
| 9885 | 9879 | "prettyprint", |
| 9886 | - "eqp" | |
| 9880 | + "eqp", | |
| 9881 | + "json", | |
| 9882 | + "markdown", | |
| 9883 | + "table", | |
| 9884 | + "box" | |
| 9887 | 9885 | }; |
| 9888 | 9886 | |
| 9889 | 9887 | /* |
| 9890 | 9888 | ** These are the column/row/line separators used by the various |
| 9891 | 9889 | ** import/export modes. |
| @@ -10248,10 +10246,44 @@ | ||
| 10248 | 10246 | fputc(c, out); |
| 10249 | 10247 | } |
| 10250 | 10248 | } |
| 10251 | 10249 | fputc('"', out); |
| 10252 | 10250 | } |
| 10251 | + | |
| 10252 | +/* | |
| 10253 | +** Output the given string as a quoted according to JSON quoting rules. | |
| 10254 | +*/ | |
| 10255 | +static void output_json_string(FILE *out, const char *z, int n){ | |
| 10256 | + unsigned int c; | |
| 10257 | + if( n<0 ) n = (int)strlen(z); | |
| 10258 | + fputc('"', out); | |
| 10259 | + while( n-- ){ | |
| 10260 | + c = *(z++); | |
| 10261 | + if( c=='\\' || c=='"' ){ | |
| 10262 | + fputc('\\', out); | |
| 10263 | + fputc(c, out); | |
| 10264 | + }else if( c<=0x1f ){ | |
| 10265 | + fputc('\\', out); | |
| 10266 | + if( c=='\b' ){ | |
| 10267 | + fputc('b', out); | |
| 10268 | + }else if( c=='\f' ){ | |
| 10269 | + fputc('f', out); | |
| 10270 | + }else if( c=='\n' ){ | |
| 10271 | + fputc('n', out); | |
| 10272 | + }else if( c=='\r' ){ | |
| 10273 | + fputc('r', out); | |
| 10274 | + }else if( c=='\t' ){ | |
| 10275 | + fputc('t', out); | |
| 10276 | + }else{ | |
| 10277 | + raw_printf(out, "u%04x",c); | |
| 10278 | + } | |
| 10279 | + }else{ | |
| 10280 | + fputc(c, out); | |
| 10281 | + } | |
| 10282 | + } | |
| 10283 | + fputc('"', out); | |
| 10284 | +} | |
| 10253 | 10285 | |
| 10254 | 10286 | /* |
| 10255 | 10287 | ** Output the given string with characters that are special to |
| 10256 | 10288 | ** HTML escaped. |
| 10257 | 10289 | */ |
| @@ -10557,10 +10589,44 @@ | ||
| 10557 | 10589 | raw_printf(p->out, "Progress %u\n", p->nProgress); |
| 10558 | 10590 | } |
| 10559 | 10591 | return 0; |
| 10560 | 10592 | } |
| 10561 | 10593 | #endif /* SQLITE_OMIT_PROGRESS_CALLBACK */ |
| 10594 | + | |
| 10595 | +/* | |
| 10596 | +** Print N dashes | |
| 10597 | +*/ | |
| 10598 | +static void print_dashes(FILE *out, int N){ | |
| 10599 | + const char zDash[] = "--------------------------------------------------"; | |
| 10600 | + const int nDash = sizeof(zDash) - 1; | |
| 10601 | + while( N>nDash ){ | |
| 10602 | + fputs(zDash, out); | |
| 10603 | + N -= nDash; | |
| 10604 | + } | |
| 10605 | + raw_printf(out, "%.*s", N, zDash); | |
| 10606 | +} | |
| 10607 | + | |
| 10608 | +/* | |
| 10609 | +** Print a markdown or table-style row separator using ascii-art | |
| 10610 | +*/ | |
| 10611 | +static void print_row_separator( | |
| 10612 | + ShellState *p, | |
| 10613 | + int nArg, | |
| 10614 | + const char *zSep | |
| 10615 | +){ | |
| 10616 | + int i; | |
| 10617 | + if( nArg>0 ){ | |
| 10618 | + fputs(zSep, p->out); | |
| 10619 | + print_dashes(p->out, p->actualWidth[0]+2); | |
| 10620 | + for(i=1; i<nArg; i++){ | |
| 10621 | + fputs(zSep, p->out); | |
| 10622 | + print_dashes(p->out, p->actualWidth[i]+2); | |
| 10623 | + } | |
| 10624 | + fputs(zSep, p->out); | |
| 10625 | + } | |
| 10626 | + fputs("\n", p->out); | |
| 10627 | +} | |
| 10562 | 10628 | |
| 10563 | 10629 | /* |
| 10564 | 10630 | ** This is the callback routine that the shell |
| 10565 | 10631 | ** invokes for each row of a query result. |
| 10566 | 10632 | */ |
| @@ -10567,11 +10633,11 @@ | ||
| 10567 | 10633 | static int shell_callback( |
| 10568 | 10634 | void *pArg, |
| 10569 | 10635 | int nArg, /* Number of result columns */ |
| 10570 | 10636 | char **azArg, /* Text of each result column */ |
| 10571 | 10637 | char **azCol, /* Column names */ |
| 10572 | - int *aiType /* Column types */ | |
| 10638 | + int *aiType /* Column types. Might be NULL */ | |
| 10573 | 10639 | ){ |
| 10574 | 10640 | int i; |
| 10575 | 10641 | ShellState *p = (ShellState*)pArg; |
| 10576 | 10642 | |
| 10577 | 10643 | if( azArg==0 ) return 0; |
| @@ -10588,85 +10654,41 @@ | ||
| 10588 | 10654 | utf8_printf(p->out,"%*s = %s%s", w, azCol[i], |
| 10589 | 10655 | azArg[i] ? azArg[i] : p->nullValue, p->rowSeparator); |
| 10590 | 10656 | } |
| 10591 | 10657 | break; |
| 10592 | 10658 | } |
| 10593 | - case MODE_Explain: | |
| 10594 | - case MODE_Column: { | |
| 10595 | - static const int aExplainWidths[] = {4, 13, 4, 4, 4, 13, 2, 13}; | |
| 10596 | - const int *colWidth; | |
| 10597 | - int showHdr; | |
| 10598 | - char *rowSep; | |
| 10599 | - int nWidth; | |
| 10600 | - if( p->cMode==MODE_Column ){ | |
| 10601 | - colWidth = p->colWidth; | |
| 10602 | - nWidth = ArraySize(p->colWidth); | |
| 10603 | - showHdr = p->showHeader; | |
| 10604 | - rowSep = p->rowSeparator; | |
| 10605 | - }else{ | |
| 10606 | - colWidth = aExplainWidths; | |
| 10607 | - nWidth = ArraySize(aExplainWidths); | |
| 10608 | - showHdr = 1; | |
| 10609 | - rowSep = SEP_Row; | |
| 10659 | + case MODE_Explain: { | |
| 10660 | + static const int aExplainWidth[] = {4, 13, 4, 4, 4, 13, 2, 13}; | |
| 10661 | + if( nArg>ArraySize(aExplainWidth) ){ | |
| 10662 | + nArg = ArraySize(aExplainWidth); | |
| 10610 | 10663 | } |
| 10611 | 10664 | if( p->cnt++==0 ){ |
| 10612 | 10665 | for(i=0; i<nArg; i++){ |
| 10613 | - int w, n; | |
| 10614 | - if( i<nWidth ){ | |
| 10615 | - w = colWidth[i]; | |
| 10616 | - }else{ | |
| 10617 | - w = 0; | |
| 10618 | - } | |
| 10619 | - if( w==0 ){ | |
| 10620 | - w = strlenChar(azCol[i] ? azCol[i] : ""); | |
| 10621 | - if( w<10 ) w = 10; | |
| 10622 | - n = strlenChar(azArg && azArg[i] ? azArg[i] : p->nullValue); | |
| 10623 | - if( w<n ) w = n; | |
| 10624 | - } | |
| 10625 | - if( i<ArraySize(p->actualWidth) ){ | |
| 10626 | - p->actualWidth[i] = w; | |
| 10627 | - } | |
| 10628 | - if( showHdr ){ | |
| 10629 | - utf8_width_print(p->out, w, azCol[i]); | |
| 10630 | - utf8_printf(p->out, "%s", i==nArg-1 ? rowSep : " "); | |
| 10631 | - } | |
| 10632 | - } | |
| 10633 | - if( showHdr ){ | |
| 10634 | - for(i=0; i<nArg; i++){ | |
| 10635 | - int w; | |
| 10636 | - if( i<ArraySize(p->actualWidth) ){ | |
| 10637 | - w = p->actualWidth[i]; | |
| 10638 | - if( w<0 ) w = -w; | |
| 10639 | - }else{ | |
| 10640 | - w = 10; | |
| 10641 | - } | |
| 10642 | - utf8_printf(p->out,"%-*.*s%s",w,w, | |
| 10643 | - "----------------------------------------------------------" | |
| 10644 | - "----------------------------------------------------------", | |
| 10645 | - i==nArg-1 ? rowSep : " "); | |
| 10646 | - } | |
| 10666 | + int w = aExplainWidth[i]; | |
| 10667 | + utf8_width_print(p->out, w, azCol[i]); | |
| 10668 | + fputs(i==nArg-1 ? "\n" : " ", p->out); | |
| 10669 | + } | |
| 10670 | + for(i=0; i<nArg; i++){ | |
| 10671 | + int w = aExplainWidth[i]; | |
| 10672 | + print_dashes(p->out, w); | |
| 10673 | + fputs(i==nArg-1 ? "\n" : " ", p->out); | |
| 10647 | 10674 | } |
| 10648 | 10675 | } |
| 10649 | 10676 | if( azArg==0 ) break; |
| 10650 | 10677 | for(i=0; i<nArg; i++){ |
| 10651 | - int w; | |
| 10652 | - if( i<ArraySize(p->actualWidth) ){ | |
| 10653 | - w = p->actualWidth[i]; | |
| 10654 | - }else{ | |
| 10655 | - w = 10; | |
| 10656 | - } | |
| 10657 | - if( p->cMode==MODE_Explain && azArg[i] && strlenChar(azArg[i])>w ){ | |
| 10678 | + int w = aExplainWidth[i]; | |
| 10679 | + if( azArg[i] && strlenChar(azArg[i])>w ){ | |
| 10658 | 10680 | w = strlenChar(azArg[i]); |
| 10659 | 10681 | } |
| 10660 | 10682 | if( i==1 && p->aiIndent && p->pStmt ){ |
| 10661 | 10683 | if( p->iIndent<p->nIndent ){ |
| 10662 | 10684 | utf8_printf(p->out, "%*.s", p->aiIndent[p->iIndent], ""); |
| 10663 | 10685 | } |
| 10664 | 10686 | p->iIndent++; |
| 10665 | 10687 | } |
| 10666 | 10688 | utf8_width_print(p->out, w, azArg[i] ? azArg[i] : p->nullValue); |
| 10667 | - utf8_printf(p->out, "%s", i==nArg-1 ? rowSep : " "); | |
| 10689 | + fputs(i==nArg-1 ? "\n" : " ", p->out); | |
| 10668 | 10690 | } |
| 10669 | 10691 | break; |
| 10670 | 10692 | } |
| 10671 | 10693 | case MODE_Semi: { /* .schema and .fullschema output */ |
| 10672 | 10694 | printSchemaLine(p->out, azArg[0], ";\n"); |
| @@ -10865,23 +10887,65 @@ | ||
| 10865 | 10887 | output_quoted_escaped_string(p->out, azArg[i]); |
| 10866 | 10888 | } |
| 10867 | 10889 | } |
| 10868 | 10890 | raw_printf(p->out,");\n"); |
| 10869 | 10891 | break; |
| 10892 | + } | |
| 10893 | + case MODE_Json: { | |
| 10894 | + if( azArg==0 ) break; | |
| 10895 | + if( p->cnt==0 ){ | |
| 10896 | + fputs("[{", p->out); | |
| 10897 | + }else{ | |
| 10898 | + fputs(",\n{", p->out); | |
| 10899 | + } | |
| 10900 | + p->cnt++; | |
| 10901 | + for(i=0; i<nArg; i++){ | |
| 10902 | + output_json_string(p->out, azCol[i], -1); | |
| 10903 | + putc(':', p->out); | |
| 10904 | + if( (azArg[i]==0) || (aiType && aiType[i]==SQLITE_NULL) ){ | |
| 10905 | + fputs("null",p->out); | |
| 10906 | + }else if( aiType && aiType[i]==SQLITE_FLOAT ){ | |
| 10907 | + char z[50]; | |
| 10908 | + double r = sqlite3_column_double(p->pStmt, i); | |
| 10909 | + sqlite3_uint64 ur; | |
| 10910 | + memcpy(&ur,&r,sizeof(r)); | |
| 10911 | + if( ur==0x7ff0000000000000LL ){ | |
| 10912 | + raw_printf(p->out, "1e999"); | |
| 10913 | + }else if( ur==0xfff0000000000000LL ){ | |
| 10914 | + raw_printf(p->out, "-1e999"); | |
| 10915 | + }else{ | |
| 10916 | + sqlite3_snprintf(50,z,"%!.20g", r); | |
| 10917 | + raw_printf(p->out, "%s", z); | |
| 10918 | + } | |
| 10919 | + }else if( aiType && aiType[i]==SQLITE_BLOB && p->pStmt ){ | |
| 10920 | + const void *pBlob = sqlite3_column_blob(p->pStmt, i); | |
| 10921 | + int nBlob = sqlite3_column_bytes(p->pStmt, i); | |
| 10922 | + output_json_string(p->out, pBlob, nBlob); | |
| 10923 | + }else if( aiType && aiType[i]==SQLITE_TEXT ){ | |
| 10924 | + output_json_string(p->out, azArg[i], -1); | |
| 10925 | + }else{ | |
| 10926 | + utf8_printf(p->out,"%s", azArg[i]); | |
| 10927 | + } | |
| 10928 | + if( i<nArg-1 ){ | |
| 10929 | + putc(',', p->out); | |
| 10930 | + } | |
| 10931 | + } | |
| 10932 | + putc('}', p->out); | |
| 10933 | + break; | |
| 10870 | 10934 | } |
| 10871 | 10935 | case MODE_Quote: { |
| 10872 | 10936 | if( azArg==0 ) break; |
| 10873 | 10937 | if( p->cnt==0 && p->showHeader ){ |
| 10874 | 10938 | for(i=0; i<nArg; i++){ |
| 10875 | - if( i>0 ) raw_printf(p->out, ","); | |
| 10939 | + if( i>0 ) fputs(p->colSeparator, p->out); | |
| 10876 | 10940 | output_quoted_string(p->out, azCol[i]); |
| 10877 | 10941 | } |
| 10878 | - raw_printf(p->out,"\n"); | |
| 10942 | + fputs(p->rowSeparator, p->out); | |
| 10879 | 10943 | } |
| 10880 | 10944 | p->cnt++; |
| 10881 | 10945 | for(i=0; i<nArg; i++){ |
| 10882 | - if( i>0 ) raw_printf(p->out, ","); | |
| 10946 | + if( i>0 ) fputs(p->colSeparator, p->out); | |
| 10883 | 10947 | if( (azArg[i]==0) || (aiType && aiType[i]==SQLITE_NULL) ){ |
| 10884 | 10948 | utf8_printf(p->out,"NULL"); |
| 10885 | 10949 | }else if( aiType && aiType[i]==SQLITE_TEXT ){ |
| 10886 | 10950 | output_quoted_string(p->out, azArg[i]); |
| 10887 | 10951 | }else if( aiType && aiType[i]==SQLITE_INTEGER ){ |
| @@ -10899,11 +10963,11 @@ | ||
| 10899 | 10963 | utf8_printf(p->out,"%s", azArg[i]); |
| 10900 | 10964 | }else{ |
| 10901 | 10965 | output_quoted_string(p->out, azArg[i]); |
| 10902 | 10966 | } |
| 10903 | 10967 | } |
| 10904 | - raw_printf(p->out,"\n"); | |
| 10968 | + fputs(p->rowSeparator, p->out); | |
| 10905 | 10969 | break; |
| 10906 | 10970 | } |
| 10907 | 10971 | case MODE_Ascii: { |
| 10908 | 10972 | if( p->cnt++==0 && p->showHeader ){ |
| 10909 | 10973 | for(i=0; i<nArg; i++){ |
| @@ -11554,19 +11618,236 @@ | ||
| 11554 | 11618 | } |
| 11555 | 11619 | sqlite3_reset(pQ); |
| 11556 | 11620 | } |
| 11557 | 11621 | sqlite3_finalize(pQ); |
| 11558 | 11622 | } |
| 11623 | + | |
| 11624 | +/* | |
| 11625 | +** UTF8 box-drawing characters. Imagine box lines like this: | |
| 11626 | +** | |
| 11627 | +** 1 | |
| 11628 | +** | | |
| 11629 | +** 4 --+-- 2 | |
| 11630 | +** | | |
| 11631 | +** 3 | |
| 11632 | +** | |
| 11633 | +** Each box characters has between 2 and 4 of the lines leading from | |
| 11634 | +** the center. The characters are here identified by the numbers of | |
| 11635 | +** their corresponding lines. | |
| 11636 | +*/ | |
| 11637 | +#define BOX_24 "\342\224\200" /* U+2500 --- */ | |
| 11638 | +#define BOX_13 "\342\224\202" /* U+2502 | */ | |
| 11639 | +#define BOX_23 "\342\224\214" /* U+250c ,- */ | |
| 11640 | +#define BOX_34 "\342\224\220" /* U+2510 -, */ | |
| 11641 | +#define BOX_12 "\342\224\224" /* U+2514 '- */ | |
| 11642 | +#define BOX_14 "\342\224\230" /* U+2518 -' */ | |
| 11643 | +#define BOX_123 "\342\224\234" /* U+251c |- */ | |
| 11644 | +#define BOX_134 "\342\224\244" /* U+2524 -| */ | |
| 11645 | +#define BOX_234 "\342\224\254" /* U+252c -,- */ | |
| 11646 | +#define BOX_124 "\342\224\264" /* U+2534 -'- */ | |
| 11647 | +#define BOX_1234 "\342\224\274" /* U+253c -|- */ | |
| 11648 | + | |
| 11649 | +/* Draw horizontal line N characters long using unicode box | |
| 11650 | +** characters | |
| 11651 | +*/ | |
| 11652 | +static void print_box_line(FILE *out, int N){ | |
| 11653 | + const char zDash[] = | |
| 11654 | + BOX_24 BOX_24 BOX_24 BOX_24 BOX_24 BOX_24 BOX_24 BOX_24 BOX_24 BOX_24 | |
| 11655 | + BOX_24 BOX_24 BOX_24 BOX_24 BOX_24 BOX_24 BOX_24 BOX_24 BOX_24 BOX_24; | |
| 11656 | + const int nDash = sizeof(zDash) - 1; | |
| 11657 | + N *= 3; | |
| 11658 | + while( N>nDash ){ | |
| 11659 | + utf8_printf(out, zDash); | |
| 11660 | + N -= nDash; | |
| 11661 | + } | |
| 11662 | + utf8_printf(out, "%.*s", N, zDash); | |
| 11663 | +} | |
| 11664 | + | |
| 11665 | +/* | |
| 11666 | +** Draw a horizontal separator for a MODE_Box table. | |
| 11667 | +*/ | |
| 11668 | +static void print_box_row_separator( | |
| 11669 | + ShellState *p, | |
| 11670 | + int nArg, | |
| 11671 | + const char *zSep1, | |
| 11672 | + const char *zSep2, | |
| 11673 | + const char *zSep3 | |
| 11674 | +){ | |
| 11675 | + int i; | |
| 11676 | + if( nArg>0 ){ | |
| 11677 | + utf8_printf(p->out, "%s", zSep1); | |
| 11678 | + print_box_line(p->out, p->actualWidth[0]+2); | |
| 11679 | + for(i=1; i<nArg; i++){ | |
| 11680 | + utf8_printf(p->out, "%s", zSep2); | |
| 11681 | + print_box_line(p->out, p->actualWidth[i]+2); | |
| 11682 | + } | |
| 11683 | + utf8_printf(p->out, "%s", zSep3); | |
| 11684 | + } | |
| 11685 | + fputs("\n", p->out); | |
| 11686 | +} | |
| 11687 | + | |
| 11688 | + | |
| 11689 | + | |
| 11690 | +/* | |
| 11691 | +** Run a prepared statement and output the result in one of the | |
| 11692 | +** table-oriented formats: MODE_Column, MODE_Markdown, MODE_Table, | |
| 11693 | +** or MODE_Box. | |
| 11694 | +** | |
| 11695 | +** This is different from ordinary exec_prepared_stmt() in that | |
| 11696 | +** it has to run the entire query and gather the results into memory | |
| 11697 | +** first, in order to determine column widths, before providing | |
| 11698 | +** any output. | |
| 11699 | +*/ | |
| 11700 | +static void exec_prepared_stmt_columnar( | |
| 11701 | + ShellState *p, /* Pointer to ShellState */ | |
| 11702 | + sqlite3_stmt *pStmt /* Statment to run */ | |
| 11703 | +){ | |
| 11704 | + int nRow = 0; | |
| 11705 | + int nColumn = 0; | |
| 11706 | + char **azData = 0; | |
| 11707 | + char *zMsg = 0; | |
| 11708 | + const char *z; | |
| 11709 | + int rc; | |
| 11710 | + int i, j, nTotal, w, n; | |
| 11711 | + const char *colSep = 0; | |
| 11712 | + const char *rowSep = 0; | |
| 11713 | + | |
| 11714 | + rc = sqlite3_get_table(p->db, sqlite3_sql(pStmt), | |
| 11715 | + &azData, &nRow, &nColumn, &zMsg); | |
| 11716 | + if( rc ){ | |
| 11717 | + utf8_printf(p->out, "ERROR: %s\n", zMsg); | |
| 11718 | + sqlite3_free(zMsg); | |
| 11719 | + sqlite3_free_table(azData); | |
| 11720 | + return; | |
| 11721 | + } | |
| 11722 | + if( nRow==0 || nColumn==0 ){ | |
| 11723 | + sqlite3_free_table(azData); | |
| 11724 | + return; | |
| 11725 | + } | |
| 11726 | + if( nColumn>p->nWidth ){ | |
| 11727 | + p->colWidth = realloc(p->colWidth, nColumn*2*sizeof(int)); | |
| 11728 | + if( p->colWidth==0 ) shell_out_of_memory(); | |
| 11729 | + for(i=p->nWidth; i<nColumn; i++) p->colWidth[i] = 0; | |
| 11730 | + p->nWidth = nColumn; | |
| 11731 | + p->actualWidth = &p->colWidth[nColumn]; | |
| 11732 | + } | |
| 11733 | + memset(p->actualWidth, 0, nColumn*sizeof(int)); | |
| 11734 | + for(i=0; i<nColumn; i++){ | |
| 11735 | + w = p->colWidth[i]; | |
| 11736 | + if( w<0 ) w = -w; | |
| 11737 | + p->actualWidth[i] = w; | |
| 11738 | + } | |
| 11739 | + nTotal = nColumn*(nRow+1); | |
| 11740 | + for(i=0; i<nTotal; i++){ | |
| 11741 | + z = azData[i]; | |
| 11742 | + if( z==0 ) z = p->nullValue; | |
| 11743 | + n = strlenChar(z); | |
| 11744 | + j = i%nColumn; | |
| 11745 | + if( n>p->actualWidth[j] ) p->actualWidth[j] = n; | |
| 11746 | + } | |
| 11747 | + switch( p->cMode ){ | |
| 11748 | + case MODE_Column: { | |
| 11749 | + colSep = " "; | |
| 11750 | + rowSep = "\n"; | |
| 11751 | + if( p->showHeader ){ | |
| 11752 | + for(i=0; i<nColumn; i++){ | |
| 11753 | + w = p->actualWidth[i]; | |
| 11754 | + if( p->colWidth[i]<0 ) w = -w; | |
| 11755 | + utf8_width_print(p->out, w, azData[i]); | |
| 11756 | + fputs(i==nColumn-1?"\n":" ", p->out); | |
| 11757 | + } | |
| 11758 | + for(i=0; i<nColumn; i++){ | |
| 11759 | + print_dashes(p->out, p->actualWidth[i]); | |
| 11760 | + fputs(i==nColumn-1?"\n":" ", p->out); | |
| 11761 | + } | |
| 11762 | + } | |
| 11763 | + break; | |
| 11764 | + } | |
| 11765 | + case MODE_Table: { | |
| 11766 | + colSep = " | "; | |
| 11767 | + rowSep = " |\n"; | |
| 11768 | + print_row_separator(p, nColumn, "+"); | |
| 11769 | + fputs("| ", p->out); | |
| 11770 | + for(i=0; i<nColumn; i++){ | |
| 11771 | + w = p->actualWidth[i]; | |
| 11772 | + n = strlenChar(azData[i]); | |
| 11773 | + utf8_printf(p->out, "%*s%s%*s", (w-n)/2, "", azData[i], (w-n+1)/2, ""); | |
| 11774 | + fputs(i==nColumn-1?" |\n":" | ", p->out); | |
| 11775 | + } | |
| 11776 | + print_row_separator(p, nColumn, "+"); | |
| 11777 | + break; | |
| 11778 | + } | |
| 11779 | + case MODE_Markdown: { | |
| 11780 | + colSep = " | "; | |
| 11781 | + rowSep = " |\n"; | |
| 11782 | + fputs("| ", p->out); | |
| 11783 | + for(i=0; i<nColumn; i++){ | |
| 11784 | + w = p->actualWidth[i]; | |
| 11785 | + n = strlenChar(azData[i]); | |
| 11786 | + utf8_printf(p->out, "%*s%s%*s", (w-n)/2, "", azData[i], (w-n+1)/2, ""); | |
| 11787 | + fputs(i==nColumn-1?" |\n":" | ", p->out); | |
| 11788 | + } | |
| 11789 | + print_row_separator(p, nColumn, "|"); | |
| 11790 | + break; | |
| 11791 | + } | |
| 11792 | + case MODE_Box: { | |
| 11793 | + colSep = " " BOX_13 " "; | |
| 11794 | + rowSep = " " BOX_13 "\n"; | |
| 11795 | + print_box_row_separator(p, nColumn, BOX_23, BOX_234, BOX_34); | |
| 11796 | + utf8_printf(p->out, BOX_13 " "); | |
| 11797 | + for(i=0; i<nColumn; i++){ | |
| 11798 | + w = p->actualWidth[i]; | |
| 11799 | + n = strlenChar(azData[i]); | |
| 11800 | + utf8_printf(p->out, "%*s%s%*s%s", | |
| 11801 | + (w-n)/2, "", azData[i], (w-n+1)/2, "", | |
| 11802 | + i==nColumn-1?" "BOX_13"\n":" "BOX_13" "); | |
| 11803 | + } | |
| 11804 | + print_box_row_separator(p, nColumn, BOX_123, BOX_1234, BOX_134); | |
| 11805 | + break; | |
| 11806 | + } | |
| 11807 | + } | |
| 11808 | + for(i=nColumn, j=0; i<nTotal; i++, j++){ | |
| 11809 | + if( j==0 && p->cMode!=MODE_Column ){ | |
| 11810 | + utf8_printf(p->out, "%s", p->cMode==MODE_Box?BOX_13" ":"| "); | |
| 11811 | + } | |
| 11812 | + z = azData[i]; | |
| 11813 | + if( z==0 ) z = p->nullValue; | |
| 11814 | + w = p->actualWidth[j]; | |
| 11815 | + if( p->colWidth[j]<0 ) w = -w; | |
| 11816 | + utf8_width_print(p->out, w, z); | |
| 11817 | + if( j==nColumn-1 ){ | |
| 11818 | + utf8_printf(p->out, "%s", rowSep); | |
| 11819 | + j = -1; | |
| 11820 | + }else{ | |
| 11821 | + utf8_printf(p->out, "%s", colSep); | |
| 11822 | + } | |
| 11823 | + } | |
| 11824 | + if( p->cMode==MODE_Table ){ | |
| 11825 | + print_row_separator(p, nColumn, "+"); | |
| 11826 | + }else if( p->cMode==MODE_Box ){ | |
| 11827 | + print_box_row_separator(p, nColumn, BOX_12, BOX_124, BOX_14); | |
| 11828 | + } | |
| 11829 | + sqlite3_free_table(azData); | |
| 11830 | +} | |
| 11559 | 11831 | |
| 11560 | 11832 | /* |
| 11561 | 11833 | ** Run a prepared statement |
| 11562 | 11834 | */ |
| 11563 | 11835 | static void exec_prepared_stmt( |
| 11564 | 11836 | ShellState *pArg, /* Pointer to ShellState */ |
| 11565 | 11837 | sqlite3_stmt *pStmt /* Statment to run */ |
| 11566 | 11838 | ){ |
| 11567 | 11839 | int rc; |
| 11840 | + | |
| 11841 | + if( pArg->cMode==MODE_Column | |
| 11842 | + || pArg->cMode==MODE_Table | |
| 11843 | + || pArg->cMode==MODE_Box | |
| 11844 | + || pArg->cMode==MODE_Markdown | |
| 11845 | + ){ | |
| 11846 | + exec_prepared_stmt_columnar(pArg, pStmt); | |
| 11847 | + return; | |
| 11848 | + } | |
| 11568 | 11849 | |
| 11569 | 11850 | /* perform the first step. this will tell us if we |
| 11570 | 11851 | ** have a result set or not and how wide it is. |
| 11571 | 11852 | */ |
| 11572 | 11853 | rc = sqlite3_step(pStmt); |
| @@ -11611,10 +11892,13 @@ | ||
| 11611 | 11892 | rc = sqlite3_step(pStmt); |
| 11612 | 11893 | } |
| 11613 | 11894 | } |
| 11614 | 11895 | } while( SQLITE_ROW == rc ); |
| 11615 | 11896 | sqlite3_free(pData); |
| 11897 | + if( pArg->cMode==MODE_Json ){ | |
| 11898 | + fputs("]\n", pArg->out); | |
| 11899 | + } | |
| 11616 | 11900 | } |
| 11617 | 11901 | } |
| 11618 | 11902 | } |
| 11619 | 11903 | |
| 11620 | 11904 | #ifndef SQLITE_OMIT_VIRTUALTABLE |
| @@ -12291,28 +12575,32 @@ | ||
| 12291 | 12575 | ".load FILE ?ENTRY? Load an extension library", |
| 12292 | 12576 | #endif |
| 12293 | 12577 | ".log FILE|off Turn logging on or off. FILE can be stderr/stdout", |
| 12294 | 12578 | ".mode MODE ?TABLE? Set output mode", |
| 12295 | 12579 | " MODE is one of:", |
| 12296 | - " ascii Columns/rows delimited by 0x1F and 0x1E", | |
| 12297 | - " csv Comma-separated values", | |
| 12298 | - " column Left-aligned columns. (See .width)", | |
| 12299 | - " html HTML <table> code", | |
| 12300 | - " insert SQL insert statements for TABLE", | |
| 12301 | - " line One value per line", | |
| 12302 | - " list Values delimited by \"|\"", | |
| 12303 | - " quote Escape answers as for SQL", | |
| 12304 | - " tabs Tab-separated values", | |
| 12305 | - " tcl TCL list elements", | |
| 12580 | + " ascii Columns/rows delimited by 0x1F and 0x1E", | |
| 12581 | + " box Tables using unicode box-drawing characters", | |
| 12582 | + " csv Comma-separated values", | |
| 12583 | + " column Output in columns. (See .width)", | |
| 12584 | + " html HTML <table> code", | |
| 12585 | + " insert SQL insert statements for TABLE", | |
| 12586 | + " json Results in a JSON array", | |
| 12587 | + " line One value per line", | |
| 12588 | + " list Values delimited by \"|\"", | |
| 12589 | + " markdown Markdown table format", | |
| 12590 | + " quote Escape answers as for SQL", | |
| 12591 | + " table ASCII-art table", | |
| 12592 | + " tabs Tab-separated values", | |
| 12593 | + " tcl TCL list elements", | |
| 12306 | 12594 | ".nullvalue STRING Use STRING in place of NULL values", |
| 12307 | 12595 | ".once ?OPTIONS? ?FILE? Output for the next SQL command only to FILE", |
| 12308 | 12596 | " If FILE begins with '|' then open as a pipe", |
| 12309 | 12597 | " --bom Put a UTF8 byte-order mark at the beginning", |
| 12310 | 12598 | " -e Send output to the system text editor", |
| 12311 | 12599 | " -x Send output as CSV to a spreadsheet (same as \".excel\")", |
| 12312 | 12600 | #ifdef SQLITE_DEBUG |
| 12313 | - ".oom [--repeat M] [N] Simulate an OOM error on the N-th allocation", | |
| 12601 | + ".oom ?--repeat M? ?N? Simulate an OOM error on the N-th allocation", | |
| 12314 | 12602 | #endif |
| 12315 | 12603 | ".open ?OPTIONS? ?FILE? Close existing database and reopen FILE", |
| 12316 | 12604 | " Options:", |
| 12317 | 12605 | " --append Use appendvfs to append database to the end of FILE", |
| 12318 | 12606 | #ifdef SQLITE_ENABLE_DESERIALIZE |
| @@ -12425,11 +12713,11 @@ | ||
| 12425 | 12713 | " --allexcept Unregister everything except those named", |
| 12426 | 12714 | #endif |
| 12427 | 12715 | ".vfsinfo ?AUX? Information about the top-level VFS", |
| 12428 | 12716 | ".vfslist List all available VFSes", |
| 12429 | 12717 | ".vfsname ?AUX? Print the name of the VFS stack", |
| 12430 | - ".width NUM1 NUM2 ... Set column widths for \"column\" mode", | |
| 12718 | + ".width NUM1 NUM2 ... Set minimum column widths for columnar output", | |
| 12431 | 12719 | " Negative values right-justify", |
| 12432 | 12720 | }; |
| 12433 | 12721 | |
| 12434 | 12722 | /* |
| 12435 | 12723 | ** Output help text. |
| @@ -13262,10 +13550,11 @@ | ||
| 13262 | 13550 | */ |
| 13263 | 13551 | typedef struct ImportCtx ImportCtx; |
| 13264 | 13552 | struct ImportCtx { |
| 13265 | 13553 | const char *zFile; /* Name of the input file */ |
| 13266 | 13554 | FILE *in; /* Read the CSV text from this input stream */ |
| 13555 | + int (SQLITE_CDECL *xCloser)(FILE*); /* Func to close in */ | |
| 13267 | 13556 | char *z; /* Accumulated text for a field */ |
| 13268 | 13557 | int n; /* Number of bytes in z */ |
| 13269 | 13558 | int nAlloc; /* Space allocated for z[] */ |
| 13270 | 13559 | int nLine; /* Current line number */ |
| 13271 | 13560 | int nRow; /* Number of rows imported */ |
| @@ -13273,10 +13562,20 @@ | ||
| 13273 | 13562 | int bNotFirst; /* True if one or more bytes already read */ |
| 13274 | 13563 | int cTerm; /* Character that terminated the most recent field */ |
| 13275 | 13564 | int cColSep; /* The column separator character. (Usually ",") */ |
| 13276 | 13565 | int cRowSep; /* The row separator character. (Usually "\n") */ |
| 13277 | 13566 | }; |
| 13567 | + | |
| 13568 | +/* Clean up resourced used by an ImportCtx */ | |
| 13569 | +static void import_cleanup(ImportCtx *p){ | |
| 13570 | + if( p->in!=0 && p->xCloser!=0 ){ | |
| 13571 | + p->xCloser(p->in); | |
| 13572 | + p->in = 0; | |
| 13573 | + } | |
| 13574 | + sqlite3_free(p->z); | |
| 13575 | + p->z = 0; | |
| 13576 | +} | |
| 13278 | 13577 | |
| 13279 | 13578 | /* Append a single byte to z[] */ |
| 13280 | 13579 | static void import_append_char(ImportCtx *p, int c){ |
| 13281 | 13580 | if( p->n+1>=p->nAlloc ){ |
| 13282 | 13581 | p->nAlloc += p->nAlloc + 100; |
| @@ -15995,10 +16294,11 @@ | ||
| 15995 | 16294 | if( strcmp(z,"preserve-rowids")==0 ){ |
| 15996 | 16295 | #ifdef SQLITE_OMIT_VIRTUALTABLE |
| 15997 | 16296 | raw_printf(stderr, "The --preserve-rowids option is not compatible" |
| 15998 | 16297 | " with SQLITE_OMIT_VIRTUALTABLE\n"); |
| 15999 | 16298 | rc = 1; |
| 16299 | + sqlite3_free(zLike); | |
| 16000 | 16300 | goto meta_command_exit; |
| 16001 | 16301 | #else |
| 16002 | 16302 | ShellSetFlag(p, SHFLG_PreserveRowid); |
| 16003 | 16303 | #endif |
| 16004 | 16304 | }else |
| @@ -16006,10 +16306,11 @@ | ||
| 16006 | 16306 | ShellSetFlag(p, SHFLG_Newlines); |
| 16007 | 16307 | }else |
| 16008 | 16308 | { |
| 16009 | 16309 | raw_printf(stderr, "Unknown option \"%s\" on \".dump\"\n", azArg[i]); |
| 16010 | 16310 | rc = 1; |
| 16311 | + sqlite3_free(zLike); | |
| 16011 | 16312 | goto meta_command_exit; |
| 16012 | 16313 | } |
| 16013 | 16314 | }else if( zLike ){ |
| 16014 | 16315 | zLike = sqlite3_mprintf("%z OR name LIKE %Q ESCAPE '\\'", |
| 16015 | 16316 | zLike, azArg[i]); |
| @@ -16334,10 +16635,11 @@ | ||
| 16334 | 16635 | }else |
| 16335 | 16636 | |
| 16336 | 16637 | if( c=='h' && strncmp(azArg[0], "headers", n)==0 ){ |
| 16337 | 16638 | if( nArg==2 ){ |
| 16338 | 16639 | p->showHeader = booleanValue(azArg[1]); |
| 16640 | + p->shellFlgs |= SHFLG_HeaderSet; | |
| 16339 | 16641 | }else{ |
| 16340 | 16642 | raw_printf(stderr, "Usage: .headers on|off\n"); |
| 16341 | 16643 | rc = 1; |
| 16342 | 16644 | } |
| 16343 | 16645 | }else |
| @@ -16363,11 +16665,10 @@ | ||
| 16363 | 16665 | int needCommit; /* True to COMMIT or ROLLBACK at end */ |
| 16364 | 16666 | int nSep; /* Number of bytes in p->colSeparator[] */ |
| 16365 | 16667 | char *zSql; /* An SQL statement */ |
| 16366 | 16668 | ImportCtx sCtx; /* Reader context */ |
| 16367 | 16669 | char *(SQLITE_CDECL *xRead)(ImportCtx*); /* Func to read one value */ |
| 16368 | - int (SQLITE_CDECL *xCloser)(FILE*); /* Func to close file */ | |
| 16369 | 16670 | int eVerbose = 0; /* Larger for more console output */ |
| 16370 | 16671 | int nSkip = 0; /* Initial lines to skip */ |
| 16371 | 16672 | int useOutputMode = 1; /* Use output mode to determine separators */ |
| 16372 | 16673 | |
| 16373 | 16674 | memset(&sCtx, 0, sizeof(sCtx)); |
| @@ -16469,15 +16770,15 @@ | ||
| 16469 | 16770 | rc = 1; |
| 16470 | 16771 | goto meta_command_exit; |
| 16471 | 16772 | #else |
| 16472 | 16773 | sCtx.in = popen(sCtx.zFile+1, "r"); |
| 16473 | 16774 | sCtx.zFile = "<pipe>"; |
| 16474 | - xCloser = pclose; | |
| 16775 | + sCtx.xCloser = pclose; | |
| 16475 | 16776 | #endif |
| 16476 | 16777 | }else{ |
| 16477 | 16778 | sCtx.in = fopen(sCtx.zFile, "rb"); |
| 16478 | - xCloser = fclose; | |
| 16779 | + sCtx.xCloser = fclose; | |
| 16479 | 16780 | } |
| 16480 | 16781 | if( sCtx.in==0 ){ |
| 16481 | 16782 | utf8_printf(stderr, "Error: cannot open \"%s\"\n", zFile); |
| 16482 | 16783 | rc = 1; |
| 16483 | 16784 | goto meta_command_exit; |
| @@ -16497,11 +16798,11 @@ | ||
| 16497 | 16798 | while( xRead(&sCtx) && sCtx.cTerm==sCtx.cColSep ){} |
| 16498 | 16799 | sCtx.nLine++; |
| 16499 | 16800 | } |
| 16500 | 16801 | zSql = sqlite3_mprintf("SELECT * FROM %s", zTable); |
| 16501 | 16802 | if( zSql==0 ){ |
| 16502 | - xCloser(sCtx.in); | |
| 16803 | + import_cleanup(&sCtx); | |
| 16503 | 16804 | shell_out_of_memory(); |
| 16504 | 16805 | } |
| 16505 | 16806 | nByte = strlen30(zSql); |
| 16506 | 16807 | rc = sqlite3_prepare_v2(p->db, zSql, -1, &pStmt, 0); |
| 16507 | 16808 | import_append_char(&sCtx, 0); /* To ensure sCtx.z is allocated */ |
| @@ -16513,12 +16814,11 @@ | ||
| 16513 | 16814 | cSep = ','; |
| 16514 | 16815 | if( sCtx.cTerm!=sCtx.cColSep ) break; |
| 16515 | 16816 | } |
| 16516 | 16817 | if( cSep=='(' ){ |
| 16517 | 16818 | sqlite3_free(zCreate); |
| 16518 | - sqlite3_free(sCtx.z); | |
| 16519 | - xCloser(sCtx.in); | |
| 16819 | + import_cleanup(&sCtx); | |
| 16520 | 16820 | utf8_printf(stderr,"%s: empty file\n", sCtx.zFile); |
| 16521 | 16821 | rc = 1; |
| 16522 | 16822 | goto meta_command_exit; |
| 16523 | 16823 | } |
| 16524 | 16824 | zCreate = sqlite3_mprintf("%z\n)", zCreate); |
| @@ -16528,32 +16828,31 @@ | ||
| 16528 | 16828 | rc = sqlite3_exec(p->db, zCreate, 0, 0, 0); |
| 16529 | 16829 | sqlite3_free(zCreate); |
| 16530 | 16830 | if( rc ){ |
| 16531 | 16831 | utf8_printf(stderr, "CREATE TABLE %s(...) failed: %s\n", zTable, |
| 16532 | 16832 | sqlite3_errmsg(p->db)); |
| 16533 | - sqlite3_free(sCtx.z); | |
| 16534 | - xCloser(sCtx.in); | |
| 16833 | + import_cleanup(&sCtx); | |
| 16535 | 16834 | rc = 1; |
| 16536 | 16835 | goto meta_command_exit; |
| 16537 | 16836 | } |
| 16538 | 16837 | rc = sqlite3_prepare_v2(p->db, zSql, -1, &pStmt, 0); |
| 16539 | 16838 | } |
| 16540 | 16839 | sqlite3_free(zSql); |
| 16541 | 16840 | if( rc ){ |
| 16542 | 16841 | if (pStmt) sqlite3_finalize(pStmt); |
| 16543 | 16842 | utf8_printf(stderr,"Error: %s\n", sqlite3_errmsg(p->db)); |
| 16544 | - xCloser(sCtx.in); | |
| 16843 | + import_cleanup(&sCtx); | |
| 16545 | 16844 | rc = 1; |
| 16546 | 16845 | goto meta_command_exit; |
| 16547 | 16846 | } |
| 16548 | 16847 | nCol = sqlite3_column_count(pStmt); |
| 16549 | 16848 | sqlite3_finalize(pStmt); |
| 16550 | 16849 | pStmt = 0; |
| 16551 | 16850 | if( nCol==0 ) return 0; /* no columns, no error */ |
| 16552 | 16851 | zSql = sqlite3_malloc64( nByte*2 + 20 + nCol*2 ); |
| 16553 | 16852 | if( zSql==0 ){ |
| 16554 | - xCloser(sCtx.in); | |
| 16853 | + import_cleanup(&sCtx); | |
| 16555 | 16854 | shell_out_of_memory(); |
| 16556 | 16855 | } |
| 16557 | 16856 | sqlite3_snprintf(nByte+20, zSql, "INSERT INTO \"%w\" VALUES(?", zTable); |
| 16558 | 16857 | j = strlen30(zSql); |
| 16559 | 16858 | for(i=1; i<nCol; i++){ |
| @@ -16568,11 +16867,11 @@ | ||
| 16568 | 16867 | rc = sqlite3_prepare_v2(p->db, zSql, -1, &pStmt, 0); |
| 16569 | 16868 | sqlite3_free(zSql); |
| 16570 | 16869 | if( rc ){ |
| 16571 | 16870 | utf8_printf(stderr, "Error: %s\n", sqlite3_errmsg(p->db)); |
| 16572 | 16871 | if (pStmt) sqlite3_finalize(pStmt); |
| 16573 | - xCloser(sCtx.in); | |
| 16872 | + import_cleanup(&sCtx); | |
| 16574 | 16873 | rc = 1; |
| 16575 | 16874 | goto meta_command_exit; |
| 16576 | 16875 | } |
| 16577 | 16876 | needCommit = sqlite3_get_autocommit(p->db); |
| 16578 | 16877 | if( needCommit ) sqlite3_exec(p->db, "BEGIN", 0, 0, 0); |
| @@ -16620,12 +16919,11 @@ | ||
| 16620 | 16919 | sCtx.nRow++; |
| 16621 | 16920 | } |
| 16622 | 16921 | } |
| 16623 | 16922 | }while( sCtx.cTerm!=EOF ); |
| 16624 | 16923 | |
| 16625 | - xCloser(sCtx.in); | |
| 16626 | - sqlite3_free(sCtx.z); | |
| 16924 | + import_cleanup(&sCtx); | |
| 16627 | 16925 | sqlite3_finalize(pStmt); |
| 16628 | 16926 | if( needCommit ) sqlite3_exec(p->db, "COMMIT", 0, 0, 0); |
| 16629 | 16927 | if( eVerbose>0 ){ |
| 16630 | 16928 | utf8_printf(p->out, |
| 16631 | 16929 | "Added %d rows with %d errors using %d lines of input\n", |
| @@ -16860,10 +17158,13 @@ | ||
| 16860 | 17158 | if( c2=='l' && n2>2 && strncmp(azArg[1],"lines",n2)==0 ){ |
| 16861 | 17159 | p->mode = MODE_Line; |
| 16862 | 17160 | sqlite3_snprintf(sizeof(p->rowSeparator), p->rowSeparator, SEP_Row); |
| 16863 | 17161 | }else if( c2=='c' && strncmp(azArg[1],"columns",n2)==0 ){ |
| 16864 | 17162 | p->mode = MODE_Column; |
| 17163 | + if( (p->shellFlgs & SHFLG_HeaderSet)==0 ){ | |
| 17164 | + p->showHeader = 1; | |
| 17165 | + } | |
| 16865 | 17166 | sqlite3_snprintf(sizeof(p->rowSeparator), p->rowSeparator, SEP_Row); |
| 16866 | 17167 | }else if( c2=='l' && n2>2 && strncmp(azArg[1],"list",n2)==0 ){ |
| 16867 | 17168 | p->mode = MODE_List; |
| 16868 | 17169 | sqlite3_snprintf(sizeof(p->colSeparator), p->colSeparator, SEP_Column); |
| 16869 | 17170 | sqlite3_snprintf(sizeof(p->rowSeparator), p->rowSeparator, SEP_Row); |
| @@ -16883,19 +17184,30 @@ | ||
| 16883 | 17184 | }else if( c2=='i' && strncmp(azArg[1],"insert",n2)==0 ){ |
| 16884 | 17185 | p->mode = MODE_Insert; |
| 16885 | 17186 | set_table_name(p, nArg>=3 ? azArg[2] : "table"); |
| 16886 | 17187 | }else if( c2=='q' && strncmp(azArg[1],"quote",n2)==0 ){ |
| 16887 | 17188 | p->mode = MODE_Quote; |
| 17189 | + sqlite3_snprintf(sizeof(p->colSeparator), p->colSeparator, SEP_Comma); | |
| 17190 | + sqlite3_snprintf(sizeof(p->rowSeparator), p->rowSeparator, SEP_Row); | |
| 16888 | 17191 | }else if( c2=='a' && strncmp(azArg[1],"ascii",n2)==0 ){ |
| 16889 | 17192 | p->mode = MODE_Ascii; |
| 16890 | 17193 | sqlite3_snprintf(sizeof(p->colSeparator), p->colSeparator, SEP_Unit); |
| 16891 | 17194 | sqlite3_snprintf(sizeof(p->rowSeparator), p->rowSeparator, SEP_Record); |
| 17195 | + }else if( c2=='m' && strncmp(azArg[1],"markdown",n2)==0 ){ | |
| 17196 | + p->mode = MODE_Markdown; | |
| 17197 | + }else if( c2=='t' && strncmp(azArg[1],"table",n2)==0 ){ | |
| 17198 | + p->mode = MODE_Table; | |
| 17199 | + }else if( c2=='b' && strncmp(azArg[1],"box",n2)==0 ){ | |
| 17200 | + p->mode = MODE_Box; | |
| 17201 | + }else if( c2=='j' && strncmp(azArg[1],"json",n2)==0 ){ | |
| 17202 | + p->mode = MODE_Json; | |
| 16892 | 17203 | }else if( nArg==1 ){ |
| 16893 | 17204 | raw_printf(p->out, "current output mode: %s\n", modeDescr[p->mode]); |
| 16894 | 17205 | }else{ |
| 16895 | 17206 | raw_printf(stderr, "Error: mode should be one of: " |
| 16896 | - "ascii column csv html insert line list quote tabs tcl\n"); | |
| 17207 | + "ascii box column csv html insert json line list markdown " | |
| 17208 | + "quote table tabs tcl\n"); | |
| 16897 | 17209 | rc = 1; |
| 16898 | 17210 | } |
| 16899 | 17211 | p->cMode = p->mode; |
| 16900 | 17212 | }else |
| 16901 | 17213 | |
| @@ -17992,11 +18304,11 @@ | ||
| 17992 | 18304 | utf8_printf(p->out,"%12.12s: ", "rowseparator"); |
| 17993 | 18305 | output_c_string(p->out, p->rowSeparator); |
| 17994 | 18306 | raw_printf(p->out, "\n"); |
| 17995 | 18307 | utf8_printf(p->out, "%12.12s: %s\n","stats", azBool[p->statsOn!=0]); |
| 17996 | 18308 | utf8_printf(p->out, "%12.12s: ", "width"); |
| 17997 | - for (i=0;i<(int)ArraySize(p->colWidth) && p->colWidth[i] != 0;i++) { | |
| 18309 | + for (i=0;i<p->nWidth;i++) { | |
| 17998 | 18310 | raw_printf(p->out, "%d ", p->colWidth[i]); |
| 17999 | 18311 | } |
| 18000 | 18312 | raw_printf(p->out, "\n"); |
| 18001 | 18313 | utf8_printf(p->out, "%12.12s: %s\n", "filename", |
| 18002 | 18314 | p->zDbFilename ? p->zDbFilename : ""); |
| @@ -18541,11 +18853,15 @@ | ||
| 18541 | 18853 | #endif |
| 18542 | 18854 | |
| 18543 | 18855 | if( c=='w' && strncmp(azArg[0], "width", n)==0 ){ |
| 18544 | 18856 | int j; |
| 18545 | 18857 | assert( nArg<=ArraySize(azArg) ); |
| 18546 | - for(j=1; j<nArg && j<ArraySize(p->colWidth); j++){ | |
| 18858 | + p->nWidth = nArg-1; | |
| 18859 | + p->colWidth = realloc(p->colWidth, p->nWidth*sizeof(int)*2); | |
| 18860 | + if( p->colWidth==0 && p->nWidth>0 ) shell_out_of_memory(); | |
| 18861 | + if( p->nWidth ) p->actualWidth = &p->colWidth[p->nWidth]; | |
| 18862 | + for(j=1; j<nArg; j++){ | |
| 18547 | 18863 | p->colWidth[j-1] = (int)integerValue(azArg[j]); |
| 18548 | 18864 | } |
| 18549 | 18865 | }else |
| 18550 | 18866 | |
| 18551 | 18867 | { |
| @@ -18886,10 +19202,11 @@ | ||
| 18886 | 19202 | #endif |
| 18887 | 19203 | " -append append the database to the end of the file\n" |
| 18888 | 19204 | " -ascii set output mode to 'ascii'\n" |
| 18889 | 19205 | " -bail stop after hitting an error\n" |
| 18890 | 19206 | " -batch force batch I/O\n" |
| 19207 | + " -box set output mode to 'box'\n" | |
| 18891 | 19208 | " -column set output mode to 'column'\n" |
| 18892 | 19209 | " -cmd COMMAND run \"COMMAND\" before reading stdin\n" |
| 18893 | 19210 | " -csv set output mode to 'csv'\n" |
| 18894 | 19211 | #if defined(SQLITE_ENABLE_DESERIALIZE) |
| 18895 | 19212 | " -deserialize open the database using sqlite3_deserialize()\n" |
| @@ -18901,13 +19218,15 @@ | ||
| 18901 | 19218 | " -heap SIZE Size of heap for memsys3 or memsys5\n" |
| 18902 | 19219 | #endif |
| 18903 | 19220 | " -help show this message\n" |
| 18904 | 19221 | " -html set output mode to HTML\n" |
| 18905 | 19222 | " -interactive force interactive I/O\n" |
| 19223 | + " -json set output mode to 'json'\n" | |
| 18906 | 19224 | " -line set output mode to 'line'\n" |
| 18907 | 19225 | " -list set output mode to 'list'\n" |
| 18908 | 19226 | " -lookaside SIZE N use N entries of SZ bytes for lookaside memory\n" |
| 19227 | + " -markdown set output mode to 'markdown'\n" | |
| 18909 | 19228 | #if defined(SQLITE_ENABLE_DESERIALIZE) |
| 18910 | 19229 | " -maxsize N maximum size for a --deserialize database\n" |
| 18911 | 19230 | #endif |
| 18912 | 19231 | " -memtrace trace all memory allocations and deallocations\n" |
| 18913 | 19232 | " -mmap N default mmap size set to N\n" |
| @@ -18923,10 +19242,11 @@ | ||
| 18923 | 19242 | " -separator SEP set output column separator. Default: '|'\n" |
| 18924 | 19243 | #ifdef SQLITE_ENABLE_SORTER_REFERENCES |
| 18925 | 19244 | " -sorterref SIZE sorter references threshold size\n" |
| 18926 | 19245 | #endif |
| 18927 | 19246 | " -stats print memory stats before each finalize\n" |
| 19247 | + " -table set output mode to 'table'\n" | |
| 18928 | 19248 | " -version show SQLite version\n" |
| 18929 | 19249 | " -vfs NAME use NAME as the default VFS\n" |
| 18930 | 19250 | #ifdef SQLITE_ENABLE_VFSTRACE |
| 18931 | 19251 | " -vfstrace enable tracing of all VFS calls\n" |
| 18932 | 19252 | #endif |
| @@ -19324,10 +19644,18 @@ | ||
| 19324 | 19644 | data.mode = MODE_Quote; |
| 19325 | 19645 | }else if( strcmp(z,"-line")==0 ){ |
| 19326 | 19646 | data.mode = MODE_Line; |
| 19327 | 19647 | }else if( strcmp(z,"-column")==0 ){ |
| 19328 | 19648 | data.mode = MODE_Column; |
| 19649 | + }else if( strcmp(z,"-json")==0 ){ | |
| 19650 | + data.mode = MODE_Json; | |
| 19651 | + }else if( strcmp(z,"-markdown")==0 ){ | |
| 19652 | + data.mode = MODE_Markdown; | |
| 19653 | + }else if( strcmp(z,"-table")==0 ){ | |
| 19654 | + data.mode = MODE_Table; | |
| 19655 | + }else if( strcmp(z,"-box")==0 ){ | |
| 19656 | + data.mode = MODE_Box; | |
| 19329 | 19657 | }else if( strcmp(z,"-csv")==0 ){ |
| 19330 | 19658 | data.mode = MODE_Csv; |
| 19331 | 19659 | memcpy(data.colSeparator,",",2); |
| 19332 | 19660 | #ifdef SQLITE_HAVE_ZLIB |
| 19333 | 19661 | }else if( strcmp(z,"-zip")==0 ){ |
| @@ -19541,10 +19869,11 @@ | ||
| 19541 | 19869 | clearTempFile(&data); |
| 19542 | 19870 | #if !SQLITE_SHELL_IS_UTF8 |
| 19543 | 19871 | for(i=0; i<argcToFree; i++) free(argvToFree[i]); |
| 19544 | 19872 | free(argvToFree); |
| 19545 | 19873 | #endif |
| 19874 | + free(data.colWidth); | |
| 19546 | 19875 | /* Clear the global data structure so that valgrind will detect memory |
| 19547 | 19876 | ** leaks */ |
| 19548 | 19877 | memset(&data, 0, sizeof(data)); |
| 19549 | 19878 | return rc; |
| 19550 | 19879 | } |
| 19551 | 19880 |
| --- src/shell.c | |
| +++ src/shell.c | |
| @@ -9700,22 +9700,10 @@ | |
| 9700 | char **azFilter; /* Array of xFilter rejection GLOB patterns */ |
| 9701 | sqlite3_session *p; /* The open session */ |
| 9702 | }; |
| 9703 | #endif |
| 9704 | |
| 9705 | /* |
| 9706 | ** Shell output mode information from before ".explain on", |
| 9707 | ** saved so that it can be restored by ".explain off" |
| 9708 | */ |
| 9709 | typedef struct SavedModeInfo SavedModeInfo; |
| 9710 | struct SavedModeInfo { |
| 9711 | int valid; /* Is there legit data in here? */ |
| 9712 | int mode; /* Mode prior to ".explain on" */ |
| 9713 | int showHeader; /* The ".header" setting prior to ".explain on" */ |
| 9714 | int colWidth[100]; /* Column widths prior to ".explain on" */ |
| 9715 | }; |
| 9716 | |
| 9717 | typedef struct ExpertInfo ExpertInfo; |
| 9718 | struct ExpertInfo { |
| 9719 | sqlite3expert *pExpert; |
| 9720 | int bVerbose; |
| 9721 | }; |
| @@ -9781,12 +9769,13 @@ | |
| 9781 | char zTestcase[30]; /* Name of current test case */ |
| 9782 | char colSeparator[20]; /* Column separator character for several modes */ |
| 9783 | char rowSeparator[20]; /* Row separator character for MODE_Ascii */ |
| 9784 | char colSepPrior[20]; /* Saved column separator */ |
| 9785 | char rowSepPrior[20]; /* Saved row separator */ |
| 9786 | int colWidth[100]; /* Requested width of each column when in column mode*/ |
| 9787 | int actualWidth[100]; /* Actual width of each column */ |
| 9788 | char nullValue[20]; /* The text to print when a NULL comes back from |
| 9789 | ** the database */ |
| 9790 | char outfile[FILENAME_MAX]; /* Filename for *out */ |
| 9791 | const char *zDbFilename; /* name of the database file */ |
| 9792 | char *zFreeOnClose; /* Filename to free when closing */ |
| @@ -9843,10 +9832,11 @@ | |
| 9843 | #define SHFLG_Backslash 0x00000004 /* The --backslash option is used */ |
| 9844 | #define SHFLG_PreserveRowid 0x00000008 /* .dump preserves rowid values */ |
| 9845 | #define SHFLG_Newlines 0x00000010 /* .dump --newline flag */ |
| 9846 | #define SHFLG_CountChanges 0x00000020 /* .changes setting */ |
| 9847 | #define SHFLG_Echo 0x00000040 /* .echo or --echo setting */ |
| 9848 | |
| 9849 | /* |
| 9850 | ** Macros for testing and setting shellFlgs |
| 9851 | */ |
| 9852 | #define ShellHasFlag(P,X) (((P)->shellFlgs & (X))!=0) |
| @@ -9867,10 +9857,14 @@ | |
| 9867 | #define MODE_Csv 8 /* Quote strings, numbers are plain */ |
| 9868 | #define MODE_Explain 9 /* Like MODE_Column, but do not truncate data */ |
| 9869 | #define MODE_Ascii 10 /* Use ASCII unit and record separators (0x1F/0x1E) */ |
| 9870 | #define MODE_Pretty 11 /* Pretty-print schemas */ |
| 9871 | #define MODE_EQP 12 /* Converts EXPLAIN QUERY PLAN output into a graph */ |
| 9872 | |
| 9873 | static const char *modeDescr[] = { |
| 9874 | "line", |
| 9875 | "column", |
| 9876 | "list", |
| @@ -9881,11 +9875,15 @@ | |
| 9881 | "tcl", |
| 9882 | "csv", |
| 9883 | "explain", |
| 9884 | "ascii", |
| 9885 | "prettyprint", |
| 9886 | "eqp" |
| 9887 | }; |
| 9888 | |
| 9889 | /* |
| 9890 | ** These are the column/row/line separators used by the various |
| 9891 | ** import/export modes. |
| @@ -10248,10 +10246,44 @@ | |
| 10248 | fputc(c, out); |
| 10249 | } |
| 10250 | } |
| 10251 | fputc('"', out); |
| 10252 | } |
| 10253 | |
| 10254 | /* |
| 10255 | ** Output the given string with characters that are special to |
| 10256 | ** HTML escaped. |
| 10257 | */ |
| @@ -10557,10 +10589,44 @@ | |
| 10557 | raw_printf(p->out, "Progress %u\n", p->nProgress); |
| 10558 | } |
| 10559 | return 0; |
| 10560 | } |
| 10561 | #endif /* SQLITE_OMIT_PROGRESS_CALLBACK */ |
| 10562 | |
| 10563 | /* |
| 10564 | ** This is the callback routine that the shell |
| 10565 | ** invokes for each row of a query result. |
| 10566 | */ |
| @@ -10567,11 +10633,11 @@ | |
| 10567 | static int shell_callback( |
| 10568 | void *pArg, |
| 10569 | int nArg, /* Number of result columns */ |
| 10570 | char **azArg, /* Text of each result column */ |
| 10571 | char **azCol, /* Column names */ |
| 10572 | int *aiType /* Column types */ |
| 10573 | ){ |
| 10574 | int i; |
| 10575 | ShellState *p = (ShellState*)pArg; |
| 10576 | |
| 10577 | if( azArg==0 ) return 0; |
| @@ -10588,85 +10654,41 @@ | |
| 10588 | utf8_printf(p->out,"%*s = %s%s", w, azCol[i], |
| 10589 | azArg[i] ? azArg[i] : p->nullValue, p->rowSeparator); |
| 10590 | } |
| 10591 | break; |
| 10592 | } |
| 10593 | case MODE_Explain: |
| 10594 | case MODE_Column: { |
| 10595 | static const int aExplainWidths[] = {4, 13, 4, 4, 4, 13, 2, 13}; |
| 10596 | const int *colWidth; |
| 10597 | int showHdr; |
| 10598 | char *rowSep; |
| 10599 | int nWidth; |
| 10600 | if( p->cMode==MODE_Column ){ |
| 10601 | colWidth = p->colWidth; |
| 10602 | nWidth = ArraySize(p->colWidth); |
| 10603 | showHdr = p->showHeader; |
| 10604 | rowSep = p->rowSeparator; |
| 10605 | }else{ |
| 10606 | colWidth = aExplainWidths; |
| 10607 | nWidth = ArraySize(aExplainWidths); |
| 10608 | showHdr = 1; |
| 10609 | rowSep = SEP_Row; |
| 10610 | } |
| 10611 | if( p->cnt++==0 ){ |
| 10612 | for(i=0; i<nArg; i++){ |
| 10613 | int w, n; |
| 10614 | if( i<nWidth ){ |
| 10615 | w = colWidth[i]; |
| 10616 | }else{ |
| 10617 | w = 0; |
| 10618 | } |
| 10619 | if( w==0 ){ |
| 10620 | w = strlenChar(azCol[i] ? azCol[i] : ""); |
| 10621 | if( w<10 ) w = 10; |
| 10622 | n = strlenChar(azArg && azArg[i] ? azArg[i] : p->nullValue); |
| 10623 | if( w<n ) w = n; |
| 10624 | } |
| 10625 | if( i<ArraySize(p->actualWidth) ){ |
| 10626 | p->actualWidth[i] = w; |
| 10627 | } |
| 10628 | if( showHdr ){ |
| 10629 | utf8_width_print(p->out, w, azCol[i]); |
| 10630 | utf8_printf(p->out, "%s", i==nArg-1 ? rowSep : " "); |
| 10631 | } |
| 10632 | } |
| 10633 | if( showHdr ){ |
| 10634 | for(i=0; i<nArg; i++){ |
| 10635 | int w; |
| 10636 | if( i<ArraySize(p->actualWidth) ){ |
| 10637 | w = p->actualWidth[i]; |
| 10638 | if( w<0 ) w = -w; |
| 10639 | }else{ |
| 10640 | w = 10; |
| 10641 | } |
| 10642 | utf8_printf(p->out,"%-*.*s%s",w,w, |
| 10643 | "----------------------------------------------------------" |
| 10644 | "----------------------------------------------------------", |
| 10645 | i==nArg-1 ? rowSep : " "); |
| 10646 | } |
| 10647 | } |
| 10648 | } |
| 10649 | if( azArg==0 ) break; |
| 10650 | for(i=0; i<nArg; i++){ |
| 10651 | int w; |
| 10652 | if( i<ArraySize(p->actualWidth) ){ |
| 10653 | w = p->actualWidth[i]; |
| 10654 | }else{ |
| 10655 | w = 10; |
| 10656 | } |
| 10657 | if( p->cMode==MODE_Explain && azArg[i] && strlenChar(azArg[i])>w ){ |
| 10658 | w = strlenChar(azArg[i]); |
| 10659 | } |
| 10660 | if( i==1 && p->aiIndent && p->pStmt ){ |
| 10661 | if( p->iIndent<p->nIndent ){ |
| 10662 | utf8_printf(p->out, "%*.s", p->aiIndent[p->iIndent], ""); |
| 10663 | } |
| 10664 | p->iIndent++; |
| 10665 | } |
| 10666 | utf8_width_print(p->out, w, azArg[i] ? azArg[i] : p->nullValue); |
| 10667 | utf8_printf(p->out, "%s", i==nArg-1 ? rowSep : " "); |
| 10668 | } |
| 10669 | break; |
| 10670 | } |
| 10671 | case MODE_Semi: { /* .schema and .fullschema output */ |
| 10672 | printSchemaLine(p->out, azArg[0], ";\n"); |
| @@ -10865,23 +10887,65 @@ | |
| 10865 | output_quoted_escaped_string(p->out, azArg[i]); |
| 10866 | } |
| 10867 | } |
| 10868 | raw_printf(p->out,");\n"); |
| 10869 | break; |
| 10870 | } |
| 10871 | case MODE_Quote: { |
| 10872 | if( azArg==0 ) break; |
| 10873 | if( p->cnt==0 && p->showHeader ){ |
| 10874 | for(i=0; i<nArg; i++){ |
| 10875 | if( i>0 ) raw_printf(p->out, ","); |
| 10876 | output_quoted_string(p->out, azCol[i]); |
| 10877 | } |
| 10878 | raw_printf(p->out,"\n"); |
| 10879 | } |
| 10880 | p->cnt++; |
| 10881 | for(i=0; i<nArg; i++){ |
| 10882 | if( i>0 ) raw_printf(p->out, ","); |
| 10883 | if( (azArg[i]==0) || (aiType && aiType[i]==SQLITE_NULL) ){ |
| 10884 | utf8_printf(p->out,"NULL"); |
| 10885 | }else if( aiType && aiType[i]==SQLITE_TEXT ){ |
| 10886 | output_quoted_string(p->out, azArg[i]); |
| 10887 | }else if( aiType && aiType[i]==SQLITE_INTEGER ){ |
| @@ -10899,11 +10963,11 @@ | |
| 10899 | utf8_printf(p->out,"%s", azArg[i]); |
| 10900 | }else{ |
| 10901 | output_quoted_string(p->out, azArg[i]); |
| 10902 | } |
| 10903 | } |
| 10904 | raw_printf(p->out,"\n"); |
| 10905 | break; |
| 10906 | } |
| 10907 | case MODE_Ascii: { |
| 10908 | if( p->cnt++==0 && p->showHeader ){ |
| 10909 | for(i=0; i<nArg; i++){ |
| @@ -11554,19 +11618,236 @@ | |
| 11554 | } |
| 11555 | sqlite3_reset(pQ); |
| 11556 | } |
| 11557 | sqlite3_finalize(pQ); |
| 11558 | } |
| 11559 | |
| 11560 | /* |
| 11561 | ** Run a prepared statement |
| 11562 | */ |
| 11563 | static void exec_prepared_stmt( |
| 11564 | ShellState *pArg, /* Pointer to ShellState */ |
| 11565 | sqlite3_stmt *pStmt /* Statment to run */ |
| 11566 | ){ |
| 11567 | int rc; |
| 11568 | |
| 11569 | /* perform the first step. this will tell us if we |
| 11570 | ** have a result set or not and how wide it is. |
| 11571 | */ |
| 11572 | rc = sqlite3_step(pStmt); |
| @@ -11611,10 +11892,13 @@ | |
| 11611 | rc = sqlite3_step(pStmt); |
| 11612 | } |
| 11613 | } |
| 11614 | } while( SQLITE_ROW == rc ); |
| 11615 | sqlite3_free(pData); |
| 11616 | } |
| 11617 | } |
| 11618 | } |
| 11619 | |
| 11620 | #ifndef SQLITE_OMIT_VIRTUALTABLE |
| @@ -12291,28 +12575,32 @@ | |
| 12291 | ".load FILE ?ENTRY? Load an extension library", |
| 12292 | #endif |
| 12293 | ".log FILE|off Turn logging on or off. FILE can be stderr/stdout", |
| 12294 | ".mode MODE ?TABLE? Set output mode", |
| 12295 | " MODE is one of:", |
| 12296 | " ascii Columns/rows delimited by 0x1F and 0x1E", |
| 12297 | " csv Comma-separated values", |
| 12298 | " column Left-aligned columns. (See .width)", |
| 12299 | " html HTML <table> code", |
| 12300 | " insert SQL insert statements for TABLE", |
| 12301 | " line One value per line", |
| 12302 | " list Values delimited by \"|\"", |
| 12303 | " quote Escape answers as for SQL", |
| 12304 | " tabs Tab-separated values", |
| 12305 | " tcl TCL list elements", |
| 12306 | ".nullvalue STRING Use STRING in place of NULL values", |
| 12307 | ".once ?OPTIONS? ?FILE? Output for the next SQL command only to FILE", |
| 12308 | " If FILE begins with '|' then open as a pipe", |
| 12309 | " --bom Put a UTF8 byte-order mark at the beginning", |
| 12310 | " -e Send output to the system text editor", |
| 12311 | " -x Send output as CSV to a spreadsheet (same as \".excel\")", |
| 12312 | #ifdef SQLITE_DEBUG |
| 12313 | ".oom [--repeat M] [N] Simulate an OOM error on the N-th allocation", |
| 12314 | #endif |
| 12315 | ".open ?OPTIONS? ?FILE? Close existing database and reopen FILE", |
| 12316 | " Options:", |
| 12317 | " --append Use appendvfs to append database to the end of FILE", |
| 12318 | #ifdef SQLITE_ENABLE_DESERIALIZE |
| @@ -12425,11 +12713,11 @@ | |
| 12425 | " --allexcept Unregister everything except those named", |
| 12426 | #endif |
| 12427 | ".vfsinfo ?AUX? Information about the top-level VFS", |
| 12428 | ".vfslist List all available VFSes", |
| 12429 | ".vfsname ?AUX? Print the name of the VFS stack", |
| 12430 | ".width NUM1 NUM2 ... Set column widths for \"column\" mode", |
| 12431 | " Negative values right-justify", |
| 12432 | }; |
| 12433 | |
| 12434 | /* |
| 12435 | ** Output help text. |
| @@ -13262,10 +13550,11 @@ | |
| 13262 | */ |
| 13263 | typedef struct ImportCtx ImportCtx; |
| 13264 | struct ImportCtx { |
| 13265 | const char *zFile; /* Name of the input file */ |
| 13266 | FILE *in; /* Read the CSV text from this input stream */ |
| 13267 | char *z; /* Accumulated text for a field */ |
| 13268 | int n; /* Number of bytes in z */ |
| 13269 | int nAlloc; /* Space allocated for z[] */ |
| 13270 | int nLine; /* Current line number */ |
| 13271 | int nRow; /* Number of rows imported */ |
| @@ -13273,10 +13562,20 @@ | |
| 13273 | int bNotFirst; /* True if one or more bytes already read */ |
| 13274 | int cTerm; /* Character that terminated the most recent field */ |
| 13275 | int cColSep; /* The column separator character. (Usually ",") */ |
| 13276 | int cRowSep; /* The row separator character. (Usually "\n") */ |
| 13277 | }; |
| 13278 | |
| 13279 | /* Append a single byte to z[] */ |
| 13280 | static void import_append_char(ImportCtx *p, int c){ |
| 13281 | if( p->n+1>=p->nAlloc ){ |
| 13282 | p->nAlloc += p->nAlloc + 100; |
| @@ -15995,10 +16294,11 @@ | |
| 15995 | if( strcmp(z,"preserve-rowids")==0 ){ |
| 15996 | #ifdef SQLITE_OMIT_VIRTUALTABLE |
| 15997 | raw_printf(stderr, "The --preserve-rowids option is not compatible" |
| 15998 | " with SQLITE_OMIT_VIRTUALTABLE\n"); |
| 15999 | rc = 1; |
| 16000 | goto meta_command_exit; |
| 16001 | #else |
| 16002 | ShellSetFlag(p, SHFLG_PreserveRowid); |
| 16003 | #endif |
| 16004 | }else |
| @@ -16006,10 +16306,11 @@ | |
| 16006 | ShellSetFlag(p, SHFLG_Newlines); |
| 16007 | }else |
| 16008 | { |
| 16009 | raw_printf(stderr, "Unknown option \"%s\" on \".dump\"\n", azArg[i]); |
| 16010 | rc = 1; |
| 16011 | goto meta_command_exit; |
| 16012 | } |
| 16013 | }else if( zLike ){ |
| 16014 | zLike = sqlite3_mprintf("%z OR name LIKE %Q ESCAPE '\\'", |
| 16015 | zLike, azArg[i]); |
| @@ -16334,10 +16635,11 @@ | |
| 16334 | }else |
| 16335 | |
| 16336 | if( c=='h' && strncmp(azArg[0], "headers", n)==0 ){ |
| 16337 | if( nArg==2 ){ |
| 16338 | p->showHeader = booleanValue(azArg[1]); |
| 16339 | }else{ |
| 16340 | raw_printf(stderr, "Usage: .headers on|off\n"); |
| 16341 | rc = 1; |
| 16342 | } |
| 16343 | }else |
| @@ -16363,11 +16665,10 @@ | |
| 16363 | int needCommit; /* True to COMMIT or ROLLBACK at end */ |
| 16364 | int nSep; /* Number of bytes in p->colSeparator[] */ |
| 16365 | char *zSql; /* An SQL statement */ |
| 16366 | ImportCtx sCtx; /* Reader context */ |
| 16367 | char *(SQLITE_CDECL *xRead)(ImportCtx*); /* Func to read one value */ |
| 16368 | int (SQLITE_CDECL *xCloser)(FILE*); /* Func to close file */ |
| 16369 | int eVerbose = 0; /* Larger for more console output */ |
| 16370 | int nSkip = 0; /* Initial lines to skip */ |
| 16371 | int useOutputMode = 1; /* Use output mode to determine separators */ |
| 16372 | |
| 16373 | memset(&sCtx, 0, sizeof(sCtx)); |
| @@ -16469,15 +16770,15 @@ | |
| 16469 | rc = 1; |
| 16470 | goto meta_command_exit; |
| 16471 | #else |
| 16472 | sCtx.in = popen(sCtx.zFile+1, "r"); |
| 16473 | sCtx.zFile = "<pipe>"; |
| 16474 | xCloser = pclose; |
| 16475 | #endif |
| 16476 | }else{ |
| 16477 | sCtx.in = fopen(sCtx.zFile, "rb"); |
| 16478 | xCloser = fclose; |
| 16479 | } |
| 16480 | if( sCtx.in==0 ){ |
| 16481 | utf8_printf(stderr, "Error: cannot open \"%s\"\n", zFile); |
| 16482 | rc = 1; |
| 16483 | goto meta_command_exit; |
| @@ -16497,11 +16798,11 @@ | |
| 16497 | while( xRead(&sCtx) && sCtx.cTerm==sCtx.cColSep ){} |
| 16498 | sCtx.nLine++; |
| 16499 | } |
| 16500 | zSql = sqlite3_mprintf("SELECT * FROM %s", zTable); |
| 16501 | if( zSql==0 ){ |
| 16502 | xCloser(sCtx.in); |
| 16503 | shell_out_of_memory(); |
| 16504 | } |
| 16505 | nByte = strlen30(zSql); |
| 16506 | rc = sqlite3_prepare_v2(p->db, zSql, -1, &pStmt, 0); |
| 16507 | import_append_char(&sCtx, 0); /* To ensure sCtx.z is allocated */ |
| @@ -16513,12 +16814,11 @@ | |
| 16513 | cSep = ','; |
| 16514 | if( sCtx.cTerm!=sCtx.cColSep ) break; |
| 16515 | } |
| 16516 | if( cSep=='(' ){ |
| 16517 | sqlite3_free(zCreate); |
| 16518 | sqlite3_free(sCtx.z); |
| 16519 | xCloser(sCtx.in); |
| 16520 | utf8_printf(stderr,"%s: empty file\n", sCtx.zFile); |
| 16521 | rc = 1; |
| 16522 | goto meta_command_exit; |
| 16523 | } |
| 16524 | zCreate = sqlite3_mprintf("%z\n)", zCreate); |
| @@ -16528,32 +16828,31 @@ | |
| 16528 | rc = sqlite3_exec(p->db, zCreate, 0, 0, 0); |
| 16529 | sqlite3_free(zCreate); |
| 16530 | if( rc ){ |
| 16531 | utf8_printf(stderr, "CREATE TABLE %s(...) failed: %s\n", zTable, |
| 16532 | sqlite3_errmsg(p->db)); |
| 16533 | sqlite3_free(sCtx.z); |
| 16534 | xCloser(sCtx.in); |
| 16535 | rc = 1; |
| 16536 | goto meta_command_exit; |
| 16537 | } |
| 16538 | rc = sqlite3_prepare_v2(p->db, zSql, -1, &pStmt, 0); |
| 16539 | } |
| 16540 | sqlite3_free(zSql); |
| 16541 | if( rc ){ |
| 16542 | if (pStmt) sqlite3_finalize(pStmt); |
| 16543 | utf8_printf(stderr,"Error: %s\n", sqlite3_errmsg(p->db)); |
| 16544 | xCloser(sCtx.in); |
| 16545 | rc = 1; |
| 16546 | goto meta_command_exit; |
| 16547 | } |
| 16548 | nCol = sqlite3_column_count(pStmt); |
| 16549 | sqlite3_finalize(pStmt); |
| 16550 | pStmt = 0; |
| 16551 | if( nCol==0 ) return 0; /* no columns, no error */ |
| 16552 | zSql = sqlite3_malloc64( nByte*2 + 20 + nCol*2 ); |
| 16553 | if( zSql==0 ){ |
| 16554 | xCloser(sCtx.in); |
| 16555 | shell_out_of_memory(); |
| 16556 | } |
| 16557 | sqlite3_snprintf(nByte+20, zSql, "INSERT INTO \"%w\" VALUES(?", zTable); |
| 16558 | j = strlen30(zSql); |
| 16559 | for(i=1; i<nCol; i++){ |
| @@ -16568,11 +16867,11 @@ | |
| 16568 | rc = sqlite3_prepare_v2(p->db, zSql, -1, &pStmt, 0); |
| 16569 | sqlite3_free(zSql); |
| 16570 | if( rc ){ |
| 16571 | utf8_printf(stderr, "Error: %s\n", sqlite3_errmsg(p->db)); |
| 16572 | if (pStmt) sqlite3_finalize(pStmt); |
| 16573 | xCloser(sCtx.in); |
| 16574 | rc = 1; |
| 16575 | goto meta_command_exit; |
| 16576 | } |
| 16577 | needCommit = sqlite3_get_autocommit(p->db); |
| 16578 | if( needCommit ) sqlite3_exec(p->db, "BEGIN", 0, 0, 0); |
| @@ -16620,12 +16919,11 @@ | |
| 16620 | sCtx.nRow++; |
| 16621 | } |
| 16622 | } |
| 16623 | }while( sCtx.cTerm!=EOF ); |
| 16624 | |
| 16625 | xCloser(sCtx.in); |
| 16626 | sqlite3_free(sCtx.z); |
| 16627 | sqlite3_finalize(pStmt); |
| 16628 | if( needCommit ) sqlite3_exec(p->db, "COMMIT", 0, 0, 0); |
| 16629 | if( eVerbose>0 ){ |
| 16630 | utf8_printf(p->out, |
| 16631 | "Added %d rows with %d errors using %d lines of input\n", |
| @@ -16860,10 +17158,13 @@ | |
| 16860 | if( c2=='l' && n2>2 && strncmp(azArg[1],"lines",n2)==0 ){ |
| 16861 | p->mode = MODE_Line; |
| 16862 | sqlite3_snprintf(sizeof(p->rowSeparator), p->rowSeparator, SEP_Row); |
| 16863 | }else if( c2=='c' && strncmp(azArg[1],"columns",n2)==0 ){ |
| 16864 | p->mode = MODE_Column; |
| 16865 | sqlite3_snprintf(sizeof(p->rowSeparator), p->rowSeparator, SEP_Row); |
| 16866 | }else if( c2=='l' && n2>2 && strncmp(azArg[1],"list",n2)==0 ){ |
| 16867 | p->mode = MODE_List; |
| 16868 | sqlite3_snprintf(sizeof(p->colSeparator), p->colSeparator, SEP_Column); |
| 16869 | sqlite3_snprintf(sizeof(p->rowSeparator), p->rowSeparator, SEP_Row); |
| @@ -16883,19 +17184,30 @@ | |
| 16883 | }else if( c2=='i' && strncmp(azArg[1],"insert",n2)==0 ){ |
| 16884 | p->mode = MODE_Insert; |
| 16885 | set_table_name(p, nArg>=3 ? azArg[2] : "table"); |
| 16886 | }else if( c2=='q' && strncmp(azArg[1],"quote",n2)==0 ){ |
| 16887 | p->mode = MODE_Quote; |
| 16888 | }else if( c2=='a' && strncmp(azArg[1],"ascii",n2)==0 ){ |
| 16889 | p->mode = MODE_Ascii; |
| 16890 | sqlite3_snprintf(sizeof(p->colSeparator), p->colSeparator, SEP_Unit); |
| 16891 | sqlite3_snprintf(sizeof(p->rowSeparator), p->rowSeparator, SEP_Record); |
| 16892 | }else if( nArg==1 ){ |
| 16893 | raw_printf(p->out, "current output mode: %s\n", modeDescr[p->mode]); |
| 16894 | }else{ |
| 16895 | raw_printf(stderr, "Error: mode should be one of: " |
| 16896 | "ascii column csv html insert line list quote tabs tcl\n"); |
| 16897 | rc = 1; |
| 16898 | } |
| 16899 | p->cMode = p->mode; |
| 16900 | }else |
| 16901 | |
| @@ -17992,11 +18304,11 @@ | |
| 17992 | utf8_printf(p->out,"%12.12s: ", "rowseparator"); |
| 17993 | output_c_string(p->out, p->rowSeparator); |
| 17994 | raw_printf(p->out, "\n"); |
| 17995 | utf8_printf(p->out, "%12.12s: %s\n","stats", azBool[p->statsOn!=0]); |
| 17996 | utf8_printf(p->out, "%12.12s: ", "width"); |
| 17997 | for (i=0;i<(int)ArraySize(p->colWidth) && p->colWidth[i] != 0;i++) { |
| 17998 | raw_printf(p->out, "%d ", p->colWidth[i]); |
| 17999 | } |
| 18000 | raw_printf(p->out, "\n"); |
| 18001 | utf8_printf(p->out, "%12.12s: %s\n", "filename", |
| 18002 | p->zDbFilename ? p->zDbFilename : ""); |
| @@ -18541,11 +18853,15 @@ | |
| 18541 | #endif |
| 18542 | |
| 18543 | if( c=='w' && strncmp(azArg[0], "width", n)==0 ){ |
| 18544 | int j; |
| 18545 | assert( nArg<=ArraySize(azArg) ); |
| 18546 | for(j=1; j<nArg && j<ArraySize(p->colWidth); j++){ |
| 18547 | p->colWidth[j-1] = (int)integerValue(azArg[j]); |
| 18548 | } |
| 18549 | }else |
| 18550 | |
| 18551 | { |
| @@ -18886,10 +19202,11 @@ | |
| 18886 | #endif |
| 18887 | " -append append the database to the end of the file\n" |
| 18888 | " -ascii set output mode to 'ascii'\n" |
| 18889 | " -bail stop after hitting an error\n" |
| 18890 | " -batch force batch I/O\n" |
| 18891 | " -column set output mode to 'column'\n" |
| 18892 | " -cmd COMMAND run \"COMMAND\" before reading stdin\n" |
| 18893 | " -csv set output mode to 'csv'\n" |
| 18894 | #if defined(SQLITE_ENABLE_DESERIALIZE) |
| 18895 | " -deserialize open the database using sqlite3_deserialize()\n" |
| @@ -18901,13 +19218,15 @@ | |
| 18901 | " -heap SIZE Size of heap for memsys3 or memsys5\n" |
| 18902 | #endif |
| 18903 | " -help show this message\n" |
| 18904 | " -html set output mode to HTML\n" |
| 18905 | " -interactive force interactive I/O\n" |
| 18906 | " -line set output mode to 'line'\n" |
| 18907 | " -list set output mode to 'list'\n" |
| 18908 | " -lookaside SIZE N use N entries of SZ bytes for lookaside memory\n" |
| 18909 | #if defined(SQLITE_ENABLE_DESERIALIZE) |
| 18910 | " -maxsize N maximum size for a --deserialize database\n" |
| 18911 | #endif |
| 18912 | " -memtrace trace all memory allocations and deallocations\n" |
| 18913 | " -mmap N default mmap size set to N\n" |
| @@ -18923,10 +19242,11 @@ | |
| 18923 | " -separator SEP set output column separator. Default: '|'\n" |
| 18924 | #ifdef SQLITE_ENABLE_SORTER_REFERENCES |
| 18925 | " -sorterref SIZE sorter references threshold size\n" |
| 18926 | #endif |
| 18927 | " -stats print memory stats before each finalize\n" |
| 18928 | " -version show SQLite version\n" |
| 18929 | " -vfs NAME use NAME as the default VFS\n" |
| 18930 | #ifdef SQLITE_ENABLE_VFSTRACE |
| 18931 | " -vfstrace enable tracing of all VFS calls\n" |
| 18932 | #endif |
| @@ -19324,10 +19644,18 @@ | |
| 19324 | data.mode = MODE_Quote; |
| 19325 | }else if( strcmp(z,"-line")==0 ){ |
| 19326 | data.mode = MODE_Line; |
| 19327 | }else if( strcmp(z,"-column")==0 ){ |
| 19328 | data.mode = MODE_Column; |
| 19329 | }else if( strcmp(z,"-csv")==0 ){ |
| 19330 | data.mode = MODE_Csv; |
| 19331 | memcpy(data.colSeparator,",",2); |
| 19332 | #ifdef SQLITE_HAVE_ZLIB |
| 19333 | }else if( strcmp(z,"-zip")==0 ){ |
| @@ -19541,10 +19869,11 @@ | |
| 19541 | clearTempFile(&data); |
| 19542 | #if !SQLITE_SHELL_IS_UTF8 |
| 19543 | for(i=0; i<argcToFree; i++) free(argvToFree[i]); |
| 19544 | free(argvToFree); |
| 19545 | #endif |
| 19546 | /* Clear the global data structure so that valgrind will detect memory |
| 19547 | ** leaks */ |
| 19548 | memset(&data, 0, sizeof(data)); |
| 19549 | return rc; |
| 19550 | } |
| 19551 |
| --- src/shell.c | |
| +++ src/shell.c | |
| @@ -9700,22 +9700,10 @@ | |
| 9700 | char **azFilter; /* Array of xFilter rejection GLOB patterns */ |
| 9701 | sqlite3_session *p; /* The open session */ |
| 9702 | }; |
| 9703 | #endif |
| 9704 | |
| 9705 | typedef struct ExpertInfo ExpertInfo; |
| 9706 | struct ExpertInfo { |
| 9707 | sqlite3expert *pExpert; |
| 9708 | int bVerbose; |
| 9709 | }; |
| @@ -9781,12 +9769,13 @@ | |
| 9769 | char zTestcase[30]; /* Name of current test case */ |
| 9770 | char colSeparator[20]; /* Column separator character for several modes */ |
| 9771 | char rowSeparator[20]; /* Row separator character for MODE_Ascii */ |
| 9772 | char colSepPrior[20]; /* Saved column separator */ |
| 9773 | char rowSepPrior[20]; /* Saved row separator */ |
| 9774 | int *colWidth; /* Requested width of each column in columnar modes */ |
| 9775 | int *actualWidth; /* Actual width of each column */ |
| 9776 | int nWidth; /* Number of slots in colWidth[] and actualWidth[] */ |
| 9777 | char nullValue[20]; /* The text to print when a NULL comes back from |
| 9778 | ** the database */ |
| 9779 | char outfile[FILENAME_MAX]; /* Filename for *out */ |
| 9780 | const char *zDbFilename; /* name of the database file */ |
| 9781 | char *zFreeOnClose; /* Filename to free when closing */ |
| @@ -9843,10 +9832,11 @@ | |
| 9832 | #define SHFLG_Backslash 0x00000004 /* The --backslash option is used */ |
| 9833 | #define SHFLG_PreserveRowid 0x00000008 /* .dump preserves rowid values */ |
| 9834 | #define SHFLG_Newlines 0x00000010 /* .dump --newline flag */ |
| 9835 | #define SHFLG_CountChanges 0x00000020 /* .changes setting */ |
| 9836 | #define SHFLG_Echo 0x00000040 /* .echo or --echo setting */ |
| 9837 | #define SHFLG_HeaderSet 0x00000080 /* .header has been used */ |
| 9838 | |
| 9839 | /* |
| 9840 | ** Macros for testing and setting shellFlgs |
| 9841 | */ |
| 9842 | #define ShellHasFlag(P,X) (((P)->shellFlgs & (X))!=0) |
| @@ -9867,10 +9857,14 @@ | |
| 9857 | #define MODE_Csv 8 /* Quote strings, numbers are plain */ |
| 9858 | #define MODE_Explain 9 /* Like MODE_Column, but do not truncate data */ |
| 9859 | #define MODE_Ascii 10 /* Use ASCII unit and record separators (0x1F/0x1E) */ |
| 9860 | #define MODE_Pretty 11 /* Pretty-print schemas */ |
| 9861 | #define MODE_EQP 12 /* Converts EXPLAIN QUERY PLAN output into a graph */ |
| 9862 | #define MODE_Json 13 /* Output JSON */ |
| 9863 | #define MODE_Markdown 14 /* Markdown formatting */ |
| 9864 | #define MODE_Table 15 /* MySQL-style table formatting */ |
| 9865 | #define MODE_Box 16 /* Unicode box-drawing characters */ |
| 9866 | |
| 9867 | static const char *modeDescr[] = { |
| 9868 | "line", |
| 9869 | "column", |
| 9870 | "list", |
| @@ -9881,11 +9875,15 @@ | |
| 9875 | "tcl", |
| 9876 | "csv", |
| 9877 | "explain", |
| 9878 | "ascii", |
| 9879 | "prettyprint", |
| 9880 | "eqp", |
| 9881 | "json", |
| 9882 | "markdown", |
| 9883 | "table", |
| 9884 | "box" |
| 9885 | }; |
| 9886 | |
| 9887 | /* |
| 9888 | ** These are the column/row/line separators used by the various |
| 9889 | ** import/export modes. |
| @@ -10248,10 +10246,44 @@ | |
| 10246 | fputc(c, out); |
| 10247 | } |
| 10248 | } |
| 10249 | fputc('"', out); |
| 10250 | } |
| 10251 | |
| 10252 | /* |
| 10253 | ** Output the given string as a quoted according to JSON quoting rules. |
| 10254 | */ |
| 10255 | static void output_json_string(FILE *out, const char *z, int n){ |
| 10256 | unsigned int c; |
| 10257 | if( n<0 ) n = (int)strlen(z); |
| 10258 | fputc('"', out); |
| 10259 | while( n-- ){ |
| 10260 | c = *(z++); |
| 10261 | if( c=='\\' || c=='"' ){ |
| 10262 | fputc('\\', out); |
| 10263 | fputc(c, out); |
| 10264 | }else if( c<=0x1f ){ |
| 10265 | fputc('\\', out); |
| 10266 | if( c=='\b' ){ |
| 10267 | fputc('b', out); |
| 10268 | }else if( c=='\f' ){ |
| 10269 | fputc('f', out); |
| 10270 | }else if( c=='\n' ){ |
| 10271 | fputc('n', out); |
| 10272 | }else if( c=='\r' ){ |
| 10273 | fputc('r', out); |
| 10274 | }else if( c=='\t' ){ |
| 10275 | fputc('t', out); |
| 10276 | }else{ |
| 10277 | raw_printf(out, "u%04x",c); |
| 10278 | } |
| 10279 | }else{ |
| 10280 | fputc(c, out); |
| 10281 | } |
| 10282 | } |
| 10283 | fputc('"', out); |
| 10284 | } |
| 10285 | |
| 10286 | /* |
| 10287 | ** Output the given string with characters that are special to |
| 10288 | ** HTML escaped. |
| 10289 | */ |
| @@ -10557,10 +10589,44 @@ | |
| 10589 | raw_printf(p->out, "Progress %u\n", p->nProgress); |
| 10590 | } |
| 10591 | return 0; |
| 10592 | } |
| 10593 | #endif /* SQLITE_OMIT_PROGRESS_CALLBACK */ |
| 10594 | |
| 10595 | /* |
| 10596 | ** Print N dashes |
| 10597 | */ |
| 10598 | static void print_dashes(FILE *out, int N){ |
| 10599 | const char zDash[] = "--------------------------------------------------"; |
| 10600 | const int nDash = sizeof(zDash) - 1; |
| 10601 | while( N>nDash ){ |
| 10602 | fputs(zDash, out); |
| 10603 | N -= nDash; |
| 10604 | } |
| 10605 | raw_printf(out, "%.*s", N, zDash); |
| 10606 | } |
| 10607 | |
| 10608 | /* |
| 10609 | ** Print a markdown or table-style row separator using ascii-art |
| 10610 | */ |
| 10611 | static void print_row_separator( |
| 10612 | ShellState *p, |
| 10613 | int nArg, |
| 10614 | const char *zSep |
| 10615 | ){ |
| 10616 | int i; |
| 10617 | if( nArg>0 ){ |
| 10618 | fputs(zSep, p->out); |
| 10619 | print_dashes(p->out, p->actualWidth[0]+2); |
| 10620 | for(i=1; i<nArg; i++){ |
| 10621 | fputs(zSep, p->out); |
| 10622 | print_dashes(p->out, p->actualWidth[i]+2); |
| 10623 | } |
| 10624 | fputs(zSep, p->out); |
| 10625 | } |
| 10626 | fputs("\n", p->out); |
| 10627 | } |
| 10628 | |
| 10629 | /* |
| 10630 | ** This is the callback routine that the shell |
| 10631 | ** invokes for each row of a query result. |
| 10632 | */ |
| @@ -10567,11 +10633,11 @@ | |
| 10633 | static int shell_callback( |
| 10634 | void *pArg, |
| 10635 | int nArg, /* Number of result columns */ |
| 10636 | char **azArg, /* Text of each result column */ |
| 10637 | char **azCol, /* Column names */ |
| 10638 | int *aiType /* Column types. Might be NULL */ |
| 10639 | ){ |
| 10640 | int i; |
| 10641 | ShellState *p = (ShellState*)pArg; |
| 10642 | |
| 10643 | if( azArg==0 ) return 0; |
| @@ -10588,85 +10654,41 @@ | |
| 10654 | utf8_printf(p->out,"%*s = %s%s", w, azCol[i], |
| 10655 | azArg[i] ? azArg[i] : p->nullValue, p->rowSeparator); |
| 10656 | } |
| 10657 | break; |
| 10658 | } |
| 10659 | case MODE_Explain: { |
| 10660 | static const int aExplainWidth[] = {4, 13, 4, 4, 4, 13, 2, 13}; |
| 10661 | if( nArg>ArraySize(aExplainWidth) ){ |
| 10662 | nArg = ArraySize(aExplainWidth); |
| 10663 | } |
| 10664 | if( p->cnt++==0 ){ |
| 10665 | for(i=0; i<nArg; i++){ |
| 10666 | int w = aExplainWidth[i]; |
| 10667 | utf8_width_print(p->out, w, azCol[i]); |
| 10668 | fputs(i==nArg-1 ? "\n" : " ", p->out); |
| 10669 | } |
| 10670 | for(i=0; i<nArg; i++){ |
| 10671 | int w = aExplainWidth[i]; |
| 10672 | print_dashes(p->out, w); |
| 10673 | fputs(i==nArg-1 ? "\n" : " ", p->out); |
| 10674 | } |
| 10675 | } |
| 10676 | if( azArg==0 ) break; |
| 10677 | for(i=0; i<nArg; i++){ |
| 10678 | int w = aExplainWidth[i]; |
| 10679 | if( azArg[i] && strlenChar(azArg[i])>w ){ |
| 10680 | w = strlenChar(azArg[i]); |
| 10681 | } |
| 10682 | if( i==1 && p->aiIndent && p->pStmt ){ |
| 10683 | if( p->iIndent<p->nIndent ){ |
| 10684 | utf8_printf(p->out, "%*.s", p->aiIndent[p->iIndent], ""); |
| 10685 | } |
| 10686 | p->iIndent++; |
| 10687 | } |
| 10688 | utf8_width_print(p->out, w, azArg[i] ? azArg[i] : p->nullValue); |
| 10689 | fputs(i==nArg-1 ? "\n" : " ", p->out); |
| 10690 | } |
| 10691 | break; |
| 10692 | } |
| 10693 | case MODE_Semi: { /* .schema and .fullschema output */ |
| 10694 | printSchemaLine(p->out, azArg[0], ";\n"); |
| @@ -10865,23 +10887,65 @@ | |
| 10887 | output_quoted_escaped_string(p->out, azArg[i]); |
| 10888 | } |
| 10889 | } |
| 10890 | raw_printf(p->out,");\n"); |
| 10891 | break; |
| 10892 | } |
| 10893 | case MODE_Json: { |
| 10894 | if( azArg==0 ) break; |
| 10895 | if( p->cnt==0 ){ |
| 10896 | fputs("[{", p->out); |
| 10897 | }else{ |
| 10898 | fputs(",\n{", p->out); |
| 10899 | } |
| 10900 | p->cnt++; |
| 10901 | for(i=0; i<nArg; i++){ |
| 10902 | output_json_string(p->out, azCol[i], -1); |
| 10903 | putc(':', p->out); |
| 10904 | if( (azArg[i]==0) || (aiType && aiType[i]==SQLITE_NULL) ){ |
| 10905 | fputs("null",p->out); |
| 10906 | }else if( aiType && aiType[i]==SQLITE_FLOAT ){ |
| 10907 | char z[50]; |
| 10908 | double r = sqlite3_column_double(p->pStmt, i); |
| 10909 | sqlite3_uint64 ur; |
| 10910 | memcpy(&ur,&r,sizeof(r)); |
| 10911 | if( ur==0x7ff0000000000000LL ){ |
| 10912 | raw_printf(p->out, "1e999"); |
| 10913 | }else if( ur==0xfff0000000000000LL ){ |
| 10914 | raw_printf(p->out, "-1e999"); |
| 10915 | }else{ |
| 10916 | sqlite3_snprintf(50,z,"%!.20g", r); |
| 10917 | raw_printf(p->out, "%s", z); |
| 10918 | } |
| 10919 | }else if( aiType && aiType[i]==SQLITE_BLOB && p->pStmt ){ |
| 10920 | const void *pBlob = sqlite3_column_blob(p->pStmt, i); |
| 10921 | int nBlob = sqlite3_column_bytes(p->pStmt, i); |
| 10922 | output_json_string(p->out, pBlob, nBlob); |
| 10923 | }else if( aiType && aiType[i]==SQLITE_TEXT ){ |
| 10924 | output_json_string(p->out, azArg[i], -1); |
| 10925 | }else{ |
| 10926 | utf8_printf(p->out,"%s", azArg[i]); |
| 10927 | } |
| 10928 | if( i<nArg-1 ){ |
| 10929 | putc(',', p->out); |
| 10930 | } |
| 10931 | } |
| 10932 | putc('}', p->out); |
| 10933 | break; |
| 10934 | } |
| 10935 | case MODE_Quote: { |
| 10936 | if( azArg==0 ) break; |
| 10937 | if( p->cnt==0 && p->showHeader ){ |
| 10938 | for(i=0; i<nArg; i++){ |
| 10939 | if( i>0 ) fputs(p->colSeparator, p->out); |
| 10940 | output_quoted_string(p->out, azCol[i]); |
| 10941 | } |
| 10942 | fputs(p->rowSeparator, p->out); |
| 10943 | } |
| 10944 | p->cnt++; |
| 10945 | for(i=0; i<nArg; i++){ |
| 10946 | if( i>0 ) fputs(p->colSeparator, p->out); |
| 10947 | if( (azArg[i]==0) || (aiType && aiType[i]==SQLITE_NULL) ){ |
| 10948 | utf8_printf(p->out,"NULL"); |
| 10949 | }else if( aiType && aiType[i]==SQLITE_TEXT ){ |
| 10950 | output_quoted_string(p->out, azArg[i]); |
| 10951 | }else if( aiType && aiType[i]==SQLITE_INTEGER ){ |
| @@ -10899,11 +10963,11 @@ | |
| 10963 | utf8_printf(p->out,"%s", azArg[i]); |
| 10964 | }else{ |
| 10965 | output_quoted_string(p->out, azArg[i]); |
| 10966 | } |
| 10967 | } |
| 10968 | fputs(p->rowSeparator, p->out); |
| 10969 | break; |
| 10970 | } |
| 10971 | case MODE_Ascii: { |
| 10972 | if( p->cnt++==0 && p->showHeader ){ |
| 10973 | for(i=0; i<nArg; i++){ |
| @@ -11554,19 +11618,236 @@ | |
| 11618 | } |
| 11619 | sqlite3_reset(pQ); |
| 11620 | } |
| 11621 | sqlite3_finalize(pQ); |
| 11622 | } |
| 11623 | |
| 11624 | /* |
| 11625 | ** UTF8 box-drawing characters. Imagine box lines like this: |
| 11626 | ** |
| 11627 | ** 1 |
| 11628 | ** | |
| 11629 | ** 4 --+-- 2 |
| 11630 | ** | |
| 11631 | ** 3 |
| 11632 | ** |
| 11633 | ** Each box characters has between 2 and 4 of the lines leading from |
| 11634 | ** the center. The characters are here identified by the numbers of |
| 11635 | ** their corresponding lines. |
| 11636 | */ |
| 11637 | #define BOX_24 "\342\224\200" /* U+2500 --- */ |
| 11638 | #define BOX_13 "\342\224\202" /* U+2502 | */ |
| 11639 | #define BOX_23 "\342\224\214" /* U+250c ,- */ |
| 11640 | #define BOX_34 "\342\224\220" /* U+2510 -, */ |
| 11641 | #define BOX_12 "\342\224\224" /* U+2514 '- */ |
| 11642 | #define BOX_14 "\342\224\230" /* U+2518 -' */ |
| 11643 | #define BOX_123 "\342\224\234" /* U+251c |- */ |
| 11644 | #define BOX_134 "\342\224\244" /* U+2524 -| */ |
| 11645 | #define BOX_234 "\342\224\254" /* U+252c -,- */ |
| 11646 | #define BOX_124 "\342\224\264" /* U+2534 -'- */ |
| 11647 | #define BOX_1234 "\342\224\274" /* U+253c -|- */ |
| 11648 | |
| 11649 | /* Draw horizontal line N characters long using unicode box |
| 11650 | ** characters |
| 11651 | */ |
| 11652 | static void print_box_line(FILE *out, int N){ |
| 11653 | const char zDash[] = |
| 11654 | BOX_24 BOX_24 BOX_24 BOX_24 BOX_24 BOX_24 BOX_24 BOX_24 BOX_24 BOX_24 |
| 11655 | BOX_24 BOX_24 BOX_24 BOX_24 BOX_24 BOX_24 BOX_24 BOX_24 BOX_24 BOX_24; |
| 11656 | const int nDash = sizeof(zDash) - 1; |
| 11657 | N *= 3; |
| 11658 | while( N>nDash ){ |
| 11659 | utf8_printf(out, zDash); |
| 11660 | N -= nDash; |
| 11661 | } |
| 11662 | utf8_printf(out, "%.*s", N, zDash); |
| 11663 | } |
| 11664 | |
| 11665 | /* |
| 11666 | ** Draw a horizontal separator for a MODE_Box table. |
| 11667 | */ |
| 11668 | static void print_box_row_separator( |
| 11669 | ShellState *p, |
| 11670 | int nArg, |
| 11671 | const char *zSep1, |
| 11672 | const char *zSep2, |
| 11673 | const char *zSep3 |
| 11674 | ){ |
| 11675 | int i; |
| 11676 | if( nArg>0 ){ |
| 11677 | utf8_printf(p->out, "%s", zSep1); |
| 11678 | print_box_line(p->out, p->actualWidth[0]+2); |
| 11679 | for(i=1; i<nArg; i++){ |
| 11680 | utf8_printf(p->out, "%s", zSep2); |
| 11681 | print_box_line(p->out, p->actualWidth[i]+2); |
| 11682 | } |
| 11683 | utf8_printf(p->out, "%s", zSep3); |
| 11684 | } |
| 11685 | fputs("\n", p->out); |
| 11686 | } |
| 11687 | |
| 11688 | |
| 11689 | |
| 11690 | /* |
| 11691 | ** Run a prepared statement and output the result in one of the |
| 11692 | ** table-oriented formats: MODE_Column, MODE_Markdown, MODE_Table, |
| 11693 | ** or MODE_Box. |
| 11694 | ** |
| 11695 | ** This is different from ordinary exec_prepared_stmt() in that |
| 11696 | ** it has to run the entire query and gather the results into memory |
| 11697 | ** first, in order to determine column widths, before providing |
| 11698 | ** any output. |
| 11699 | */ |
| 11700 | static void exec_prepared_stmt_columnar( |
| 11701 | ShellState *p, /* Pointer to ShellState */ |
| 11702 | sqlite3_stmt *pStmt /* Statment to run */ |
| 11703 | ){ |
| 11704 | int nRow = 0; |
| 11705 | int nColumn = 0; |
| 11706 | char **azData = 0; |
| 11707 | char *zMsg = 0; |
| 11708 | const char *z; |
| 11709 | int rc; |
| 11710 | int i, j, nTotal, w, n; |
| 11711 | const char *colSep = 0; |
| 11712 | const char *rowSep = 0; |
| 11713 | |
| 11714 | rc = sqlite3_get_table(p->db, sqlite3_sql(pStmt), |
| 11715 | &azData, &nRow, &nColumn, &zMsg); |
| 11716 | if( rc ){ |
| 11717 | utf8_printf(p->out, "ERROR: %s\n", zMsg); |
| 11718 | sqlite3_free(zMsg); |
| 11719 | sqlite3_free_table(azData); |
| 11720 | return; |
| 11721 | } |
| 11722 | if( nRow==0 || nColumn==0 ){ |
| 11723 | sqlite3_free_table(azData); |
| 11724 | return; |
| 11725 | } |
| 11726 | if( nColumn>p->nWidth ){ |
| 11727 | p->colWidth = realloc(p->colWidth, nColumn*2*sizeof(int)); |
| 11728 | if( p->colWidth==0 ) shell_out_of_memory(); |
| 11729 | for(i=p->nWidth; i<nColumn; i++) p->colWidth[i] = 0; |
| 11730 | p->nWidth = nColumn; |
| 11731 | p->actualWidth = &p->colWidth[nColumn]; |
| 11732 | } |
| 11733 | memset(p->actualWidth, 0, nColumn*sizeof(int)); |
| 11734 | for(i=0; i<nColumn; i++){ |
| 11735 | w = p->colWidth[i]; |
| 11736 | if( w<0 ) w = -w; |
| 11737 | p->actualWidth[i] = w; |
| 11738 | } |
| 11739 | nTotal = nColumn*(nRow+1); |
| 11740 | for(i=0; i<nTotal; i++){ |
| 11741 | z = azData[i]; |
| 11742 | if( z==0 ) z = p->nullValue; |
| 11743 | n = strlenChar(z); |
| 11744 | j = i%nColumn; |
| 11745 | if( n>p->actualWidth[j] ) p->actualWidth[j] = n; |
| 11746 | } |
| 11747 | switch( p->cMode ){ |
| 11748 | case MODE_Column: { |
| 11749 | colSep = " "; |
| 11750 | rowSep = "\n"; |
| 11751 | if( p->showHeader ){ |
| 11752 | for(i=0; i<nColumn; i++){ |
| 11753 | w = p->actualWidth[i]; |
| 11754 | if( p->colWidth[i]<0 ) w = -w; |
| 11755 | utf8_width_print(p->out, w, azData[i]); |
| 11756 | fputs(i==nColumn-1?"\n":" ", p->out); |
| 11757 | } |
| 11758 | for(i=0; i<nColumn; i++){ |
| 11759 | print_dashes(p->out, p->actualWidth[i]); |
| 11760 | fputs(i==nColumn-1?"\n":" ", p->out); |
| 11761 | } |
| 11762 | } |
| 11763 | break; |
| 11764 | } |
| 11765 | case MODE_Table: { |
| 11766 | colSep = " | "; |
| 11767 | rowSep = " |\n"; |
| 11768 | print_row_separator(p, nColumn, "+"); |
| 11769 | fputs("| ", p->out); |
| 11770 | for(i=0; i<nColumn; i++){ |
| 11771 | w = p->actualWidth[i]; |
| 11772 | n = strlenChar(azData[i]); |
| 11773 | utf8_printf(p->out, "%*s%s%*s", (w-n)/2, "", azData[i], (w-n+1)/2, ""); |
| 11774 | fputs(i==nColumn-1?" |\n":" | ", p->out); |
| 11775 | } |
| 11776 | print_row_separator(p, nColumn, "+"); |
| 11777 | break; |
| 11778 | } |
| 11779 | case MODE_Markdown: { |
| 11780 | colSep = " | "; |
| 11781 | rowSep = " |\n"; |
| 11782 | fputs("| ", p->out); |
| 11783 | for(i=0; i<nColumn; i++){ |
| 11784 | w = p->actualWidth[i]; |
| 11785 | n = strlenChar(azData[i]); |
| 11786 | utf8_printf(p->out, "%*s%s%*s", (w-n)/2, "", azData[i], (w-n+1)/2, ""); |
| 11787 | fputs(i==nColumn-1?" |\n":" | ", p->out); |
| 11788 | } |
| 11789 | print_row_separator(p, nColumn, "|"); |
| 11790 | break; |
| 11791 | } |
| 11792 | case MODE_Box: { |
| 11793 | colSep = " " BOX_13 " "; |
| 11794 | rowSep = " " BOX_13 "\n"; |
| 11795 | print_box_row_separator(p, nColumn, BOX_23, BOX_234, BOX_34); |
| 11796 | utf8_printf(p->out, BOX_13 " "); |
| 11797 | for(i=0; i<nColumn; i++){ |
| 11798 | w = p->actualWidth[i]; |
| 11799 | n = strlenChar(azData[i]); |
| 11800 | utf8_printf(p->out, "%*s%s%*s%s", |
| 11801 | (w-n)/2, "", azData[i], (w-n+1)/2, "", |
| 11802 | i==nColumn-1?" "BOX_13"\n":" "BOX_13" "); |
| 11803 | } |
| 11804 | print_box_row_separator(p, nColumn, BOX_123, BOX_1234, BOX_134); |
| 11805 | break; |
| 11806 | } |
| 11807 | } |
| 11808 | for(i=nColumn, j=0; i<nTotal; i++, j++){ |
| 11809 | if( j==0 && p->cMode!=MODE_Column ){ |
| 11810 | utf8_printf(p->out, "%s", p->cMode==MODE_Box?BOX_13" ":"| "); |
| 11811 | } |
| 11812 | z = azData[i]; |
| 11813 | if( z==0 ) z = p->nullValue; |
| 11814 | w = p->actualWidth[j]; |
| 11815 | if( p->colWidth[j]<0 ) w = -w; |
| 11816 | utf8_width_print(p->out, w, z); |
| 11817 | if( j==nColumn-1 ){ |
| 11818 | utf8_printf(p->out, "%s", rowSep); |
| 11819 | j = -1; |
| 11820 | }else{ |
| 11821 | utf8_printf(p->out, "%s", colSep); |
| 11822 | } |
| 11823 | } |
| 11824 | if( p->cMode==MODE_Table ){ |
| 11825 | print_row_separator(p, nColumn, "+"); |
| 11826 | }else if( p->cMode==MODE_Box ){ |
| 11827 | print_box_row_separator(p, nColumn, BOX_12, BOX_124, BOX_14); |
| 11828 | } |
| 11829 | sqlite3_free_table(azData); |
| 11830 | } |
| 11831 | |
| 11832 | /* |
| 11833 | ** Run a prepared statement |
| 11834 | */ |
| 11835 | static void exec_prepared_stmt( |
| 11836 | ShellState *pArg, /* Pointer to ShellState */ |
| 11837 | sqlite3_stmt *pStmt /* Statment to run */ |
| 11838 | ){ |
| 11839 | int rc; |
| 11840 | |
| 11841 | if( pArg->cMode==MODE_Column |
| 11842 | || pArg->cMode==MODE_Table |
| 11843 | || pArg->cMode==MODE_Box |
| 11844 | || pArg->cMode==MODE_Markdown |
| 11845 | ){ |
| 11846 | exec_prepared_stmt_columnar(pArg, pStmt); |
| 11847 | return; |
| 11848 | } |
| 11849 | |
| 11850 | /* perform the first step. this will tell us if we |
| 11851 | ** have a result set or not and how wide it is. |
| 11852 | */ |
| 11853 | rc = sqlite3_step(pStmt); |
| @@ -11611,10 +11892,13 @@ | |
| 11892 | rc = sqlite3_step(pStmt); |
| 11893 | } |
| 11894 | } |
| 11895 | } while( SQLITE_ROW == rc ); |
| 11896 | sqlite3_free(pData); |
| 11897 | if( pArg->cMode==MODE_Json ){ |
| 11898 | fputs("]\n", pArg->out); |
| 11899 | } |
| 11900 | } |
| 11901 | } |
| 11902 | } |
| 11903 | |
| 11904 | #ifndef SQLITE_OMIT_VIRTUALTABLE |
| @@ -12291,28 +12575,32 @@ | |
| 12575 | ".load FILE ?ENTRY? Load an extension library", |
| 12576 | #endif |
| 12577 | ".log FILE|off Turn logging on or off. FILE can be stderr/stdout", |
| 12578 | ".mode MODE ?TABLE? Set output mode", |
| 12579 | " MODE is one of:", |
| 12580 | " ascii Columns/rows delimited by 0x1F and 0x1E", |
| 12581 | " box Tables using unicode box-drawing characters", |
| 12582 | " csv Comma-separated values", |
| 12583 | " column Output in columns. (See .width)", |
| 12584 | " html HTML <table> code", |
| 12585 | " insert SQL insert statements for TABLE", |
| 12586 | " json Results in a JSON array", |
| 12587 | " line One value per line", |
| 12588 | " list Values delimited by \"|\"", |
| 12589 | " markdown Markdown table format", |
| 12590 | " quote Escape answers as for SQL", |
| 12591 | " table ASCII-art table", |
| 12592 | " tabs Tab-separated values", |
| 12593 | " tcl TCL list elements", |
| 12594 | ".nullvalue STRING Use STRING in place of NULL values", |
| 12595 | ".once ?OPTIONS? ?FILE? Output for the next SQL command only to FILE", |
| 12596 | " If FILE begins with '|' then open as a pipe", |
| 12597 | " --bom Put a UTF8 byte-order mark at the beginning", |
| 12598 | " -e Send output to the system text editor", |
| 12599 | " -x Send output as CSV to a spreadsheet (same as \".excel\")", |
| 12600 | #ifdef SQLITE_DEBUG |
| 12601 | ".oom ?--repeat M? ?N? Simulate an OOM error on the N-th allocation", |
| 12602 | #endif |
| 12603 | ".open ?OPTIONS? ?FILE? Close existing database and reopen FILE", |
| 12604 | " Options:", |
| 12605 | " --append Use appendvfs to append database to the end of FILE", |
| 12606 | #ifdef SQLITE_ENABLE_DESERIALIZE |
| @@ -12425,11 +12713,11 @@ | |
| 12713 | " --allexcept Unregister everything except those named", |
| 12714 | #endif |
| 12715 | ".vfsinfo ?AUX? Information about the top-level VFS", |
| 12716 | ".vfslist List all available VFSes", |
| 12717 | ".vfsname ?AUX? Print the name of the VFS stack", |
| 12718 | ".width NUM1 NUM2 ... Set minimum column widths for columnar output", |
| 12719 | " Negative values right-justify", |
| 12720 | }; |
| 12721 | |
| 12722 | /* |
| 12723 | ** Output help text. |
| @@ -13262,10 +13550,11 @@ | |
| 13550 | */ |
| 13551 | typedef struct ImportCtx ImportCtx; |
| 13552 | struct ImportCtx { |
| 13553 | const char *zFile; /* Name of the input file */ |
| 13554 | FILE *in; /* Read the CSV text from this input stream */ |
| 13555 | int (SQLITE_CDECL *xCloser)(FILE*); /* Func to close in */ |
| 13556 | char *z; /* Accumulated text for a field */ |
| 13557 | int n; /* Number of bytes in z */ |
| 13558 | int nAlloc; /* Space allocated for z[] */ |
| 13559 | int nLine; /* Current line number */ |
| 13560 | int nRow; /* Number of rows imported */ |
| @@ -13273,10 +13562,20 @@ | |
| 13562 | int bNotFirst; /* True if one or more bytes already read */ |
| 13563 | int cTerm; /* Character that terminated the most recent field */ |
| 13564 | int cColSep; /* The column separator character. (Usually ",") */ |
| 13565 | int cRowSep; /* The row separator character. (Usually "\n") */ |
| 13566 | }; |
| 13567 | |
| 13568 | /* Clean up resourced used by an ImportCtx */ |
| 13569 | static void import_cleanup(ImportCtx *p){ |
| 13570 | if( p->in!=0 && p->xCloser!=0 ){ |
| 13571 | p->xCloser(p->in); |
| 13572 | p->in = 0; |
| 13573 | } |
| 13574 | sqlite3_free(p->z); |
| 13575 | p->z = 0; |
| 13576 | } |
| 13577 | |
| 13578 | /* Append a single byte to z[] */ |
| 13579 | static void import_append_char(ImportCtx *p, int c){ |
| 13580 | if( p->n+1>=p->nAlloc ){ |
| 13581 | p->nAlloc += p->nAlloc + 100; |
| @@ -15995,10 +16294,11 @@ | |
| 16294 | if( strcmp(z,"preserve-rowids")==0 ){ |
| 16295 | #ifdef SQLITE_OMIT_VIRTUALTABLE |
| 16296 | raw_printf(stderr, "The --preserve-rowids option is not compatible" |
| 16297 | " with SQLITE_OMIT_VIRTUALTABLE\n"); |
| 16298 | rc = 1; |
| 16299 | sqlite3_free(zLike); |
| 16300 | goto meta_command_exit; |
| 16301 | #else |
| 16302 | ShellSetFlag(p, SHFLG_PreserveRowid); |
| 16303 | #endif |
| 16304 | }else |
| @@ -16006,10 +16306,11 @@ | |
| 16306 | ShellSetFlag(p, SHFLG_Newlines); |
| 16307 | }else |
| 16308 | { |
| 16309 | raw_printf(stderr, "Unknown option \"%s\" on \".dump\"\n", azArg[i]); |
| 16310 | rc = 1; |
| 16311 | sqlite3_free(zLike); |
| 16312 | goto meta_command_exit; |
| 16313 | } |
| 16314 | }else if( zLike ){ |
| 16315 | zLike = sqlite3_mprintf("%z OR name LIKE %Q ESCAPE '\\'", |
| 16316 | zLike, azArg[i]); |
| @@ -16334,10 +16635,11 @@ | |
| 16635 | }else |
| 16636 | |
| 16637 | if( c=='h' && strncmp(azArg[0], "headers", n)==0 ){ |
| 16638 | if( nArg==2 ){ |
| 16639 | p->showHeader = booleanValue(azArg[1]); |
| 16640 | p->shellFlgs |= SHFLG_HeaderSet; |
| 16641 | }else{ |
| 16642 | raw_printf(stderr, "Usage: .headers on|off\n"); |
| 16643 | rc = 1; |
| 16644 | } |
| 16645 | }else |
| @@ -16363,11 +16665,10 @@ | |
| 16665 | int needCommit; /* True to COMMIT or ROLLBACK at end */ |
| 16666 | int nSep; /* Number of bytes in p->colSeparator[] */ |
| 16667 | char *zSql; /* An SQL statement */ |
| 16668 | ImportCtx sCtx; /* Reader context */ |
| 16669 | char *(SQLITE_CDECL *xRead)(ImportCtx*); /* Func to read one value */ |
| 16670 | int eVerbose = 0; /* Larger for more console output */ |
| 16671 | int nSkip = 0; /* Initial lines to skip */ |
| 16672 | int useOutputMode = 1; /* Use output mode to determine separators */ |
| 16673 | |
| 16674 | memset(&sCtx, 0, sizeof(sCtx)); |
| @@ -16469,15 +16770,15 @@ | |
| 16770 | rc = 1; |
| 16771 | goto meta_command_exit; |
| 16772 | #else |
| 16773 | sCtx.in = popen(sCtx.zFile+1, "r"); |
| 16774 | sCtx.zFile = "<pipe>"; |
| 16775 | sCtx.xCloser = pclose; |
| 16776 | #endif |
| 16777 | }else{ |
| 16778 | sCtx.in = fopen(sCtx.zFile, "rb"); |
| 16779 | sCtx.xCloser = fclose; |
| 16780 | } |
| 16781 | if( sCtx.in==0 ){ |
| 16782 | utf8_printf(stderr, "Error: cannot open \"%s\"\n", zFile); |
| 16783 | rc = 1; |
| 16784 | goto meta_command_exit; |
| @@ -16497,11 +16798,11 @@ | |
| 16798 | while( xRead(&sCtx) && sCtx.cTerm==sCtx.cColSep ){} |
| 16799 | sCtx.nLine++; |
| 16800 | } |
| 16801 | zSql = sqlite3_mprintf("SELECT * FROM %s", zTable); |
| 16802 | if( zSql==0 ){ |
| 16803 | import_cleanup(&sCtx); |
| 16804 | shell_out_of_memory(); |
| 16805 | } |
| 16806 | nByte = strlen30(zSql); |
| 16807 | rc = sqlite3_prepare_v2(p->db, zSql, -1, &pStmt, 0); |
| 16808 | import_append_char(&sCtx, 0); /* To ensure sCtx.z is allocated */ |
| @@ -16513,12 +16814,11 @@ | |
| 16814 | cSep = ','; |
| 16815 | if( sCtx.cTerm!=sCtx.cColSep ) break; |
| 16816 | } |
| 16817 | if( cSep=='(' ){ |
| 16818 | sqlite3_free(zCreate); |
| 16819 | import_cleanup(&sCtx); |
| 16820 | utf8_printf(stderr,"%s: empty file\n", sCtx.zFile); |
| 16821 | rc = 1; |
| 16822 | goto meta_command_exit; |
| 16823 | } |
| 16824 | zCreate = sqlite3_mprintf("%z\n)", zCreate); |
| @@ -16528,32 +16828,31 @@ | |
| 16828 | rc = sqlite3_exec(p->db, zCreate, 0, 0, 0); |
| 16829 | sqlite3_free(zCreate); |
| 16830 | if( rc ){ |
| 16831 | utf8_printf(stderr, "CREATE TABLE %s(...) failed: %s\n", zTable, |
| 16832 | sqlite3_errmsg(p->db)); |
| 16833 | import_cleanup(&sCtx); |
| 16834 | rc = 1; |
| 16835 | goto meta_command_exit; |
| 16836 | } |
| 16837 | rc = sqlite3_prepare_v2(p->db, zSql, -1, &pStmt, 0); |
| 16838 | } |
| 16839 | sqlite3_free(zSql); |
| 16840 | if( rc ){ |
| 16841 | if (pStmt) sqlite3_finalize(pStmt); |
| 16842 | utf8_printf(stderr,"Error: %s\n", sqlite3_errmsg(p->db)); |
| 16843 | import_cleanup(&sCtx); |
| 16844 | rc = 1; |
| 16845 | goto meta_command_exit; |
| 16846 | } |
| 16847 | nCol = sqlite3_column_count(pStmt); |
| 16848 | sqlite3_finalize(pStmt); |
| 16849 | pStmt = 0; |
| 16850 | if( nCol==0 ) return 0; /* no columns, no error */ |
| 16851 | zSql = sqlite3_malloc64( nByte*2 + 20 + nCol*2 ); |
| 16852 | if( zSql==0 ){ |
| 16853 | import_cleanup(&sCtx); |
| 16854 | shell_out_of_memory(); |
| 16855 | } |
| 16856 | sqlite3_snprintf(nByte+20, zSql, "INSERT INTO \"%w\" VALUES(?", zTable); |
| 16857 | j = strlen30(zSql); |
| 16858 | for(i=1; i<nCol; i++){ |
| @@ -16568,11 +16867,11 @@ | |
| 16867 | rc = sqlite3_prepare_v2(p->db, zSql, -1, &pStmt, 0); |
| 16868 | sqlite3_free(zSql); |
| 16869 | if( rc ){ |
| 16870 | utf8_printf(stderr, "Error: %s\n", sqlite3_errmsg(p->db)); |
| 16871 | if (pStmt) sqlite3_finalize(pStmt); |
| 16872 | import_cleanup(&sCtx); |
| 16873 | rc = 1; |
| 16874 | goto meta_command_exit; |
| 16875 | } |
| 16876 | needCommit = sqlite3_get_autocommit(p->db); |
| 16877 | if( needCommit ) sqlite3_exec(p->db, "BEGIN", 0, 0, 0); |
| @@ -16620,12 +16919,11 @@ | |
| 16919 | sCtx.nRow++; |
| 16920 | } |
| 16921 | } |
| 16922 | }while( sCtx.cTerm!=EOF ); |
| 16923 | |
| 16924 | import_cleanup(&sCtx); |
| 16925 | sqlite3_finalize(pStmt); |
| 16926 | if( needCommit ) sqlite3_exec(p->db, "COMMIT", 0, 0, 0); |
| 16927 | if( eVerbose>0 ){ |
| 16928 | utf8_printf(p->out, |
| 16929 | "Added %d rows with %d errors using %d lines of input\n", |
| @@ -16860,10 +17158,13 @@ | |
| 17158 | if( c2=='l' && n2>2 && strncmp(azArg[1],"lines",n2)==0 ){ |
| 17159 | p->mode = MODE_Line; |
| 17160 | sqlite3_snprintf(sizeof(p->rowSeparator), p->rowSeparator, SEP_Row); |
| 17161 | }else if( c2=='c' && strncmp(azArg[1],"columns",n2)==0 ){ |
| 17162 | p->mode = MODE_Column; |
| 17163 | if( (p->shellFlgs & SHFLG_HeaderSet)==0 ){ |
| 17164 | p->showHeader = 1; |
| 17165 | } |
| 17166 | sqlite3_snprintf(sizeof(p->rowSeparator), p->rowSeparator, SEP_Row); |
| 17167 | }else if( c2=='l' && n2>2 && strncmp(azArg[1],"list",n2)==0 ){ |
| 17168 | p->mode = MODE_List; |
| 17169 | sqlite3_snprintf(sizeof(p->colSeparator), p->colSeparator, SEP_Column); |
| 17170 | sqlite3_snprintf(sizeof(p->rowSeparator), p->rowSeparator, SEP_Row); |
| @@ -16883,19 +17184,30 @@ | |
| 17184 | }else if( c2=='i' && strncmp(azArg[1],"insert",n2)==0 ){ |
| 17185 | p->mode = MODE_Insert; |
| 17186 | set_table_name(p, nArg>=3 ? azArg[2] : "table"); |
| 17187 | }else if( c2=='q' && strncmp(azArg[1],"quote",n2)==0 ){ |
| 17188 | p->mode = MODE_Quote; |
| 17189 | sqlite3_snprintf(sizeof(p->colSeparator), p->colSeparator, SEP_Comma); |
| 17190 | sqlite3_snprintf(sizeof(p->rowSeparator), p->rowSeparator, SEP_Row); |
| 17191 | }else if( c2=='a' && strncmp(azArg[1],"ascii",n2)==0 ){ |
| 17192 | p->mode = MODE_Ascii; |
| 17193 | sqlite3_snprintf(sizeof(p->colSeparator), p->colSeparator, SEP_Unit); |
| 17194 | sqlite3_snprintf(sizeof(p->rowSeparator), p->rowSeparator, SEP_Record); |
| 17195 | }else if( c2=='m' && strncmp(azArg[1],"markdown",n2)==0 ){ |
| 17196 | p->mode = MODE_Markdown; |
| 17197 | }else if( c2=='t' && strncmp(azArg[1],"table",n2)==0 ){ |
| 17198 | p->mode = MODE_Table; |
| 17199 | }else if( c2=='b' && strncmp(azArg[1],"box",n2)==0 ){ |
| 17200 | p->mode = MODE_Box; |
| 17201 | }else if( c2=='j' && strncmp(azArg[1],"json",n2)==0 ){ |
| 17202 | p->mode = MODE_Json; |
| 17203 | }else if( nArg==1 ){ |
| 17204 | raw_printf(p->out, "current output mode: %s\n", modeDescr[p->mode]); |
| 17205 | }else{ |
| 17206 | raw_printf(stderr, "Error: mode should be one of: " |
| 17207 | "ascii box column csv html insert json line list markdown " |
| 17208 | "quote table tabs tcl\n"); |
| 17209 | rc = 1; |
| 17210 | } |
| 17211 | p->cMode = p->mode; |
| 17212 | }else |
| 17213 | |
| @@ -17992,11 +18304,11 @@ | |
| 18304 | utf8_printf(p->out,"%12.12s: ", "rowseparator"); |
| 18305 | output_c_string(p->out, p->rowSeparator); |
| 18306 | raw_printf(p->out, "\n"); |
| 18307 | utf8_printf(p->out, "%12.12s: %s\n","stats", azBool[p->statsOn!=0]); |
| 18308 | utf8_printf(p->out, "%12.12s: ", "width"); |
| 18309 | for (i=0;i<p->nWidth;i++) { |
| 18310 | raw_printf(p->out, "%d ", p->colWidth[i]); |
| 18311 | } |
| 18312 | raw_printf(p->out, "\n"); |
| 18313 | utf8_printf(p->out, "%12.12s: %s\n", "filename", |
| 18314 | p->zDbFilename ? p->zDbFilename : ""); |
| @@ -18541,11 +18853,15 @@ | |
| 18853 | #endif |
| 18854 | |
| 18855 | if( c=='w' && strncmp(azArg[0], "width", n)==0 ){ |
| 18856 | int j; |
| 18857 | assert( nArg<=ArraySize(azArg) ); |
| 18858 | p->nWidth = nArg-1; |
| 18859 | p->colWidth = realloc(p->colWidth, p->nWidth*sizeof(int)*2); |
| 18860 | if( p->colWidth==0 && p->nWidth>0 ) shell_out_of_memory(); |
| 18861 | if( p->nWidth ) p->actualWidth = &p->colWidth[p->nWidth]; |
| 18862 | for(j=1; j<nArg; j++){ |
| 18863 | p->colWidth[j-1] = (int)integerValue(azArg[j]); |
| 18864 | } |
| 18865 | }else |
| 18866 | |
| 18867 | { |
| @@ -18886,10 +19202,11 @@ | |
| 19202 | #endif |
| 19203 | " -append append the database to the end of the file\n" |
| 19204 | " -ascii set output mode to 'ascii'\n" |
| 19205 | " -bail stop after hitting an error\n" |
| 19206 | " -batch force batch I/O\n" |
| 19207 | " -box set output mode to 'box'\n" |
| 19208 | " -column set output mode to 'column'\n" |
| 19209 | " -cmd COMMAND run \"COMMAND\" before reading stdin\n" |
| 19210 | " -csv set output mode to 'csv'\n" |
| 19211 | #if defined(SQLITE_ENABLE_DESERIALIZE) |
| 19212 | " -deserialize open the database using sqlite3_deserialize()\n" |
| @@ -18901,13 +19218,15 @@ | |
| 19218 | " -heap SIZE Size of heap for memsys3 or memsys5\n" |
| 19219 | #endif |
| 19220 | " -help show this message\n" |
| 19221 | " -html set output mode to HTML\n" |
| 19222 | " -interactive force interactive I/O\n" |
| 19223 | " -json set output mode to 'json'\n" |
| 19224 | " -line set output mode to 'line'\n" |
| 19225 | " -list set output mode to 'list'\n" |
| 19226 | " -lookaside SIZE N use N entries of SZ bytes for lookaside memory\n" |
| 19227 | " -markdown set output mode to 'markdown'\n" |
| 19228 | #if defined(SQLITE_ENABLE_DESERIALIZE) |
| 19229 | " -maxsize N maximum size for a --deserialize database\n" |
| 19230 | #endif |
| 19231 | " -memtrace trace all memory allocations and deallocations\n" |
| 19232 | " -mmap N default mmap size set to N\n" |
| @@ -18923,10 +19242,11 @@ | |
| 19242 | " -separator SEP set output column separator. Default: '|'\n" |
| 19243 | #ifdef SQLITE_ENABLE_SORTER_REFERENCES |
| 19244 | " -sorterref SIZE sorter references threshold size\n" |
| 19245 | #endif |
| 19246 | " -stats print memory stats before each finalize\n" |
| 19247 | " -table set output mode to 'table'\n" |
| 19248 | " -version show SQLite version\n" |
| 19249 | " -vfs NAME use NAME as the default VFS\n" |
| 19250 | #ifdef SQLITE_ENABLE_VFSTRACE |
| 19251 | " -vfstrace enable tracing of all VFS calls\n" |
| 19252 | #endif |
| @@ -19324,10 +19644,18 @@ | |
| 19644 | data.mode = MODE_Quote; |
| 19645 | }else if( strcmp(z,"-line")==0 ){ |
| 19646 | data.mode = MODE_Line; |
| 19647 | }else if( strcmp(z,"-column")==0 ){ |
| 19648 | data.mode = MODE_Column; |
| 19649 | }else if( strcmp(z,"-json")==0 ){ |
| 19650 | data.mode = MODE_Json; |
| 19651 | }else if( strcmp(z,"-markdown")==0 ){ |
| 19652 | data.mode = MODE_Markdown; |
| 19653 | }else if( strcmp(z,"-table")==0 ){ |
| 19654 | data.mode = MODE_Table; |
| 19655 | }else if( strcmp(z,"-box")==0 ){ |
| 19656 | data.mode = MODE_Box; |
| 19657 | }else if( strcmp(z,"-csv")==0 ){ |
| 19658 | data.mode = MODE_Csv; |
| 19659 | memcpy(data.colSeparator,",",2); |
| 19660 | #ifdef SQLITE_HAVE_ZLIB |
| 19661 | }else if( strcmp(z,"-zip")==0 ){ |
| @@ -19541,10 +19869,11 @@ | |
| 19869 | clearTempFile(&data); |
| 19870 | #if !SQLITE_SHELL_IS_UTF8 |
| 19871 | for(i=0; i<argcToFree; i++) free(argvToFree[i]); |
| 19872 | free(argvToFree); |
| 19873 | #endif |
| 19874 | free(data.colWidth); |
| 19875 | /* Clear the global data structure so that valgrind will detect memory |
| 19876 | ** leaks */ |
| 19877 | memset(&data, 0, sizeof(data)); |
| 19878 | return rc; |
| 19879 | } |
| 19880 |
+280
-103
| --- src/sqlite3.c | ||
| +++ src/sqlite3.c | ||
| @@ -1,8 +1,8 @@ | ||
| 1 | 1 | /****************************************************************************** |
| 2 | 2 | ** This file is an amalgamation of many separate C source files from SQLite |
| 3 | -** version 3.32.1. By combining all the individual C code files into this | |
| 3 | +** version 3.33.0. By combining all the individual C code files into this | |
| 4 | 4 | ** single large file, the entire code can be compiled as a single translation |
| 5 | 5 | ** unit. This allows many compilers to do optimizations that would not be |
| 6 | 6 | ** possible if the files were compiled separately. Performance improvements |
| 7 | 7 | ** of 5% or more are commonly seen when SQLite is compiled as a single |
| 8 | 8 | ** translation unit. |
| @@ -1160,13 +1160,13 @@ | ||
| 1160 | 1160 | ** |
| 1161 | 1161 | ** See also: [sqlite3_libversion()], |
| 1162 | 1162 | ** [sqlite3_libversion_number()], [sqlite3_sourceid()], |
| 1163 | 1163 | ** [sqlite_version()] and [sqlite_source_id()]. |
| 1164 | 1164 | */ |
| 1165 | -#define SQLITE_VERSION "3.32.1" | |
| 1166 | -#define SQLITE_VERSION_NUMBER 3032001 | |
| 1167 | -#define SQLITE_SOURCE_ID "2020-05-25 16:19:56 0c1fcf4711a2e66c813aed38cf41cd3e2123ee8eb6db98118086764c4ba83350" | |
| 1165 | +#define SQLITE_VERSION "3.33.0" | |
| 1166 | +#define SQLITE_VERSION_NUMBER 3033000 | |
| 1167 | +#define SQLITE_SOURCE_ID "2020-06-08 11:34:40 6e6b3729e0549de028f6c5bf494b2d69d621c81b61a1dc0a329d3950039342fb" | |
| 1168 | 1168 | |
| 1169 | 1169 | /* |
| 1170 | 1170 | ** CAPI3REF: Run-Time Library Version Numbers |
| 1171 | 1171 | ** KEYWORDS: sqlite3_version sqlite3_sourceid |
| 1172 | 1172 | ** |
| @@ -13449,14 +13449,14 @@ | ||
| 13449 | 13449 | |
| 13450 | 13450 | /* |
| 13451 | 13451 | ** WAL mode depends on atomic aligned 32-bit loads and stores in a few |
| 13452 | 13452 | ** places. The following macros try to make this explicit. |
| 13453 | 13453 | */ |
| 13454 | -#ifndef __has_feature | |
| 13455 | -# define __has_feature(x) 0 /* compatibility with non-clang compilers */ | |
| 13454 | +#ifndef __has_extension | |
| 13455 | +# define __has_extension(x) 0 /* compatibility with non-clang compilers */ | |
| 13456 | 13456 | #endif |
| 13457 | -#if GCC_VERSION>=4007000 || __has_feature(c_atomic) | |
| 13457 | +#if GCC_VERSION>=4007000 || __has_extension(c_atomic) | |
| 13458 | 13458 | # define AtomicLoad(PTR) __atomic_load_n((PTR),__ATOMIC_RELAXED) |
| 13459 | 13459 | # define AtomicStore(PTR,VAL) __atomic_store_n((PTR),(VAL),__ATOMIC_RELAXED) |
| 13460 | 13460 | #else |
| 13461 | 13461 | # define AtomicLoad(PTR) (*(PTR)) |
| 13462 | 13462 | # define AtomicStore(PTR,VAL) (*(PTR) = (VAL)) |
| @@ -17861,15 +17861,15 @@ | ||
| 17861 | 17861 | int nSortingColumn; /* Number of columns in the sorting index */ |
| 17862 | 17862 | int mnReg, mxReg; /* Range of registers allocated for aCol and aFunc */ |
| 17863 | 17863 | ExprList *pGroupBy; /* The group by clause */ |
| 17864 | 17864 | struct AggInfo_col { /* For each column used in source tables */ |
| 17865 | 17865 | Table *pTab; /* Source table */ |
| 17866 | + Expr *pExpr; /* The original expression */ | |
| 17866 | 17867 | int iTable; /* Cursor number of the source table */ |
| 17867 | - int iColumn; /* Column number within the source table */ | |
| 17868 | - int iSorterColumn; /* Column number in the sorting index */ | |
| 17869 | 17868 | int iMem; /* Memory location that acts as accumulator */ |
| 17870 | - Expr *pExpr; /* The original expression */ | |
| 17869 | + i16 iColumn; /* Column number within the source table */ | |
| 17870 | + i16 iSorterColumn; /* Column number in the sorting index */ | |
| 17871 | 17871 | } *aCol; |
| 17872 | 17872 | int nColumn; /* Number of used entries in aCol[] */ |
| 17873 | 17873 | int nAccumulator; /* Number of columns that show through to the output. |
| 17874 | 17874 | ** Additional columns are used only as parameters to |
| 17875 | 17875 | ** aggregate functions */ |
| @@ -17878,12 +17878,21 @@ | ||
| 17878 | 17878 | FuncDef *pFunc; /* The aggregate function implementation */ |
| 17879 | 17879 | int iMem; /* Memory location that acts as accumulator */ |
| 17880 | 17880 | int iDistinct; /* Ephemeral table used to enforce DISTINCT */ |
| 17881 | 17881 | } *aFunc; |
| 17882 | 17882 | int nFunc; /* Number of entries in aFunc[] */ |
| 17883 | +#ifdef SQLITE_DEBUG | |
| 17884 | + int iAggMagic; /* Magic number when valid */ | |
| 17885 | +#endif | |
| 17886 | + AggInfo *pNext; /* Next in list of them all */ | |
| 17883 | 17887 | }; |
| 17884 | 17888 | |
| 17889 | +/* | |
| 17890 | +** Value for AggInfo.iAggMagic when the structure is valid | |
| 17891 | +*/ | |
| 17892 | +#define AggInfoMagic 0x2059e99e | |
| 17893 | + | |
| 17885 | 17894 | /* |
| 17886 | 17895 | ** The datatype ynVar is a signed integer, either 16-bit or 32-bit. |
| 17887 | 17896 | ** Usually it is 16-bits. But if SQLITE_MAX_VARIABLE_NUMBER is greater |
| 17888 | 17897 | ** than 32767 we have to make it 32-bit. 16-bit is preferred because |
| 17889 | 17898 | ** it uses less memory in the Expr object, which is a big memory user |
| @@ -18676,10 +18685,11 @@ | ||
| 18676 | 18685 | #endif |
| 18677 | 18686 | AutoincInfo *pAinc; /* Information about AUTOINCREMENT counters */ |
| 18678 | 18687 | Parse *pToplevel; /* Parse structure for main program (or NULL) */ |
| 18679 | 18688 | Table *pTriggerTab; /* Table triggers are being coded for */ |
| 18680 | 18689 | Parse *pParentParse; /* Parent parser if this parser is nested */ |
| 18690 | + AggInfo *pAggList; /* List of all AggInfo objects */ | |
| 18681 | 18691 | int addrCrTab; /* Address of OP_CreateBtree opcode on CREATE TABLE */ |
| 18682 | 18692 | u32 nQueryLoop; /* Est number of iterations of a query (10*log2(N)) */ |
| 18683 | 18693 | u32 oldmask; /* Mask of old.* columns referenced */ |
| 18684 | 18694 | u32 newmask; /* Mask of new.* columns referenced */ |
| 18685 | 18695 | u8 eTriggerOp; /* TK_UPDATE, TK_INSERT or TK_DELETE */ |
| @@ -19642,10 +19652,11 @@ | ||
| 19642 | 19652 | SQLITE_PRIVATE int sqlite3ExprCompare(Parse*,Expr*, Expr*, int); |
| 19643 | 19653 | SQLITE_PRIVATE int sqlite3ExprCompareSkip(Expr*, Expr*, int); |
| 19644 | 19654 | SQLITE_PRIVATE int sqlite3ExprListCompare(ExprList*, ExprList*, int); |
| 19645 | 19655 | SQLITE_PRIVATE int sqlite3ExprImpliesExpr(Parse*,Expr*, Expr*, int); |
| 19646 | 19656 | SQLITE_PRIVATE int sqlite3ExprImpliesNonNullRow(Expr*,int); |
| 19657 | +SQLITE_PRIVATE void sqlite3AggInfoPersistWalkerInit(Walker*,Parse*); | |
| 19647 | 19658 | SQLITE_PRIVATE void sqlite3ExprAnalyzeAggregates(NameContext*, Expr*); |
| 19648 | 19659 | SQLITE_PRIVATE void sqlite3ExprAnalyzeAggList(NameContext*,ExprList*); |
| 19649 | 19660 | SQLITE_PRIVATE int sqlite3ExprCoveredByIndex(Expr*, int iCur, Index *pIdx); |
| 19650 | 19661 | SQLITE_PRIVATE int sqlite3FunctionUsesThisSrc(Expr*, SrcList*); |
| 19651 | 19662 | SQLITE_PRIVATE Vdbe *sqlite3GetVdbe(Parse*); |
| @@ -30013,11 +30024,11 @@ | ||
| 30013 | 30024 | sqlite3TreeViewLine(pView, "EXISTS-expr flags=0x%x", pExpr->flags); |
| 30014 | 30025 | sqlite3TreeViewSelect(pView, pExpr->x.pSelect, 0); |
| 30015 | 30026 | break; |
| 30016 | 30027 | } |
| 30017 | 30028 | case TK_SELECT: { |
| 30018 | - sqlite3TreeViewLine(pView, "SELECT-expr flags=0x%x", pExpr->flags); | |
| 30029 | + sqlite3TreeViewLine(pView, "subquery-expr flags=0x%x", pExpr->flags); | |
| 30019 | 30030 | sqlite3TreeViewSelect(pView, pExpr->x.pSelect, 0); |
| 30020 | 30031 | break; |
| 30021 | 30032 | } |
| 30022 | 30033 | case TK_IN: { |
| 30023 | 30034 | sqlite3TreeViewLine(pView, "IN flags=0x%x", pExpr->flags); |
| @@ -30932,13 +30943,13 @@ | ||
| 30932 | 30943 | pMem->n = (int)(z - zOut); |
| 30933 | 30944 | } |
| 30934 | 30945 | *z = 0; |
| 30935 | 30946 | assert( (pMem->n+(desiredEnc==SQLITE_UTF8?1:2))<=len ); |
| 30936 | 30947 | |
| 30937 | - c = pMem->flags; | |
| 30948 | + c = MEM_Str|MEM_Term|(pMem->flags&(MEM_AffMask|MEM_Subtype)); | |
| 30938 | 30949 | sqlite3VdbeMemRelease(pMem); |
| 30939 | - pMem->flags = MEM_Str|MEM_Term|(c&(MEM_AffMask|MEM_Subtype)); | |
| 30950 | + pMem->flags = c; | |
| 30940 | 30951 | pMem->enc = desiredEnc; |
| 30941 | 30952 | pMem->z = (char*)zOut; |
| 30942 | 30953 | pMem->zMalloc = pMem->z; |
| 30943 | 30954 | pMem->szMalloc = sqlite3DbMallocSize(pMem->db, pMem->z); |
| 30944 | 30955 | |
| @@ -38285,11 +38296,14 @@ | ||
| 38285 | 38296 | ** 2. Write lock (ofst==0). |
| 38286 | 38297 | ** 3. Read locks (ofst>=3 && ofst<SQLITE_SHM_NLOCK). |
| 38287 | 38298 | ** |
| 38288 | 38299 | ** In other words, if this is a blocking lock, none of the locks that |
| 38289 | 38300 | ** occur later in the above list than the lock being obtained may be |
| 38290 | - ** held. */ | |
| 38301 | + ** held. | |
| 38302 | + ** | |
| 38303 | + ** It is not permitted to block on the RECOVER lock. | |
| 38304 | + */ | |
| 38291 | 38305 | #ifdef SQLITE_ENABLE_SETLK_TIMEOUT |
| 38292 | 38306 | assert( (flags & SQLITE_SHM_UNLOCK) || pDbFd->iBusyTimeout==0 || ( |
| 38293 | 38307 | (ofst!=2) /* not RECOVER */ |
| 38294 | 38308 | && (ofst!=1 || (p->exclMask|p->sharedMask)==0) |
| 38295 | 38309 | && (ofst!=0 || (p->exclMask|p->sharedMask)<3) |
| @@ -60401,11 +60415,11 @@ | ||
| 60401 | 60415 | nCollide = idx; |
| 60402 | 60416 | for(iKey=walHash(iPage); sLoc.aHash[iKey]; iKey=walNextHash(iKey)){ |
| 60403 | 60417 | if( (nCollide--)==0 ) return SQLITE_CORRUPT_BKPT; |
| 60404 | 60418 | } |
| 60405 | 60419 | sLoc.aPgno[idx] = iPage; |
| 60406 | - sLoc.aHash[iKey] = (ht_slot)idx; | |
| 60420 | + AtomicStore(&sLoc.aHash[iKey], (ht_slot)idx); | |
| 60407 | 60421 | |
| 60408 | 60422 | #ifdef SQLITE_ENABLE_EXPENSIVE_ASSERT |
| 60409 | 60423 | /* Verify that the number of entries in the hash table exactly equals |
| 60410 | 60424 | ** the number of entries in the mapping region. |
| 60411 | 60425 | */ |
| @@ -80835,11 +80849,15 @@ | ||
| 80835 | 80849 | ** if the VDBE has just been set to run but has not actually executed any |
| 80836 | 80850 | ** instructions yet, leave the main database error information unchanged. |
| 80837 | 80851 | */ |
| 80838 | 80852 | if( p->pc>=0 ){ |
| 80839 | 80853 | vdbeInvokeSqllog(p); |
| 80840 | - sqlite3VdbeTransferError(p); | |
| 80854 | + if( db->pErr || p->zErrMsg ){ | |
| 80855 | + sqlite3VdbeTransferError(p); | |
| 80856 | + }else{ | |
| 80857 | + db->errCode = p->rc; | |
| 80858 | + } | |
| 80841 | 80859 | if( p->runOnlyOnce ) p->expired = 1; |
| 80842 | 80860 | }else if( p->rc && p->expired ){ |
| 80843 | 80861 | /* The expired flag was set on the VDBE before the first call |
| 80844 | 80862 | ** to sqlite3_step(). For consistency (since sqlite3_step() was |
| 80845 | 80863 | ** called), set the database error in this case as well. |
| @@ -80855,12 +80873,14 @@ | ||
| 80855 | 80873 | if( p->apCsr ) for(i=0; i<p->nCursor; i++) assert( p->apCsr[i]==0 ); |
| 80856 | 80874 | if( p->aMem ){ |
| 80857 | 80875 | for(i=0; i<p->nMem; i++) assert( p->aMem[i].flags==MEM_Undefined ); |
| 80858 | 80876 | } |
| 80859 | 80877 | #endif |
| 80860 | - sqlite3DbFree(db, p->zErrMsg); | |
| 80861 | - p->zErrMsg = 0; | |
| 80878 | + if( p->zErrMsg ){ | |
| 80879 | + sqlite3DbFree(db, p->zErrMsg); | |
| 80880 | + p->zErrMsg = 0; | |
| 80881 | + } | |
| 80862 | 80882 | p->pResultSet = 0; |
| 80863 | 80883 | #ifdef SQLITE_DEBUG |
| 80864 | 80884 | p->nWrite = 0; |
| 80865 | 80885 | #endif |
| 80866 | 80886 | |
| @@ -85818,10 +85838,12 @@ | ||
| 85818 | 85838 | /* This happens if a malloc() inside a call to sqlite3_column_text() or |
| 85819 | 85839 | ** sqlite3_column_text16() failed. */ |
| 85820 | 85840 | goto no_mem; |
| 85821 | 85841 | } |
| 85822 | 85842 | assert( p->rc==SQLITE_OK || (p->rc&0xff)==SQLITE_BUSY ); |
| 85843 | + testcase( p->rc!=SQLITE_OK ); | |
| 85844 | + p->rc = SQLITE_OK; | |
| 85823 | 85845 | assert( p->bIsReader || p->readOnly!=0 ); |
| 85824 | 85846 | p->iCurrentTime = 0; |
| 85825 | 85847 | assert( p->explain==0 ); |
| 85826 | 85848 | p->pResultSet = 0; |
| 85827 | 85849 | db->busyHandler.nBusy = 0; |
| @@ -93131,13 +93153,11 @@ | ||
| 93131 | 93153 | /* Jump to here if the sqlite3_interrupt() API sets the interrupt |
| 93132 | 93154 | ** flag. |
| 93133 | 93155 | */ |
| 93134 | 93156 | abort_due_to_interrupt: |
| 93135 | 93157 | assert( AtomicLoad(&db->u1.isInterrupted) ); |
| 93136 | - rc = db->mallocFailed ? SQLITE_NOMEM_BKPT : SQLITE_INTERRUPT; | |
| 93137 | - p->rc = rc; | |
| 93138 | - sqlite3VdbeError(p, "%s", sqlite3ErrStr(rc)); | |
| 93158 | + rc = SQLITE_INTERRUPT; | |
| 93139 | 93159 | goto abort_due_to_error; |
| 93140 | 93160 | } |
| 93141 | 93161 | |
| 93142 | 93162 | |
| 93143 | 93163 | /************** End of vdbe.c ************************************************/ |
| @@ -99532,11 +99552,16 @@ | ||
| 99532 | 99552 | assert( pExpr!=0 ); |
| 99533 | 99553 | } |
| 99534 | 99554 | op = pExpr->op; |
| 99535 | 99555 | if( op==TK_SELECT ){ |
| 99536 | 99556 | assert( pExpr->flags&EP_xIsSelect ); |
| 99537 | - return sqlite3ExprAffinity(pExpr->x.pSelect->pEList->a[0].pExpr); | |
| 99557 | + if( ALWAYS(pExpr->x.pSelect) | |
| 99558 | + && pExpr->x.pSelect->pEList | |
| 99559 | + && ALWAYS(pExpr->x.pSelect->pEList->a[0].pExpr) | |
| 99560 | + ){ | |
| 99561 | + return sqlite3ExprAffinity(pExpr->x.pSelect->pEList->a[0].pExpr); | |
| 99562 | + } | |
| 99538 | 99563 | } |
| 99539 | 99564 | if( op==TK_REGISTER ) op = pExpr->op2; |
| 99540 | 99565 | #ifndef SQLITE_OMIT_CAST |
| 99541 | 99566 | if( op==TK_CAST ){ |
| 99542 | 99567 | assert( !ExprHasProperty(pExpr, EP_IntValue) ); |
| @@ -102032,11 +102057,11 @@ | ||
| 102032 | 102057 | ** satisfy the query. This is preferable to generating a new |
| 102033 | 102058 | ** ephemeral table. */ |
| 102034 | 102059 | if( pParse->nErr==0 && (p = isCandidateForInOpt(pX))!=0 ){ |
| 102035 | 102060 | sqlite3 *db = pParse->db; /* Database connection */ |
| 102036 | 102061 | Table *pTab; /* Table <table>. */ |
| 102037 | - i16 iDb; /* Database idx for pTab */ | |
| 102062 | + int iDb; /* Database idx for pTab */ | |
| 102038 | 102063 | ExprList *pEList = p->pEList; |
| 102039 | 102064 | int nExpr = pEList->nExpr; |
| 102040 | 102065 | |
| 102041 | 102066 | assert( p->pEList!=0 ); /* Because of isCandidateForInOpt(p) */ |
| 102042 | 102067 | assert( p->pEList->a[0].pExpr!=0 ); /* Because of isCandidateForInOpt(p) */ |
| @@ -102043,10 +102068,11 @@ | ||
| 102043 | 102068 | assert( p->pSrc!=0 ); /* Because of isCandidateForInOpt(p) */ |
| 102044 | 102069 | pTab = p->pSrc->a[0].pTab; |
| 102045 | 102070 | |
| 102046 | 102071 | /* Code an OP_Transaction and OP_TableLock for <table>. */ |
| 102047 | 102072 | iDb = sqlite3SchemaToIndex(db, pTab->pSchema); |
| 102073 | + assert( iDb>=0 && iDb<SQLITE_MAX_ATTACHED ); | |
| 102048 | 102074 | sqlite3CodeVerifySchema(pParse, iDb); |
| 102049 | 102075 | sqlite3TableLock(pParse, iDb, pTab->tnum, 0, pTab->zName); |
| 102050 | 102076 | |
| 102051 | 102077 | assert(v); /* sqlite3GetVdbe() has always been previously called */ |
| 102052 | 102078 | if( nExpr==1 && pEList->a[0].pExpr->iColumn<0 ){ |
| @@ -103276,14 +103302,11 @@ | ||
| 103276 | 103302 | int r1, r2; /* Various register numbers */ |
| 103277 | 103303 | Expr tempX; /* Temporary expression node */ |
| 103278 | 103304 | int p5 = 0; |
| 103279 | 103305 | |
| 103280 | 103306 | assert( target>0 && target<=pParse->nMem ); |
| 103281 | - if( v==0 ){ | |
| 103282 | - assert( pParse->db->mallocFailed ); | |
| 103283 | - return 0; | |
| 103284 | - } | |
| 103307 | + assert( v!=0 ); | |
| 103285 | 103308 | |
| 103286 | 103309 | expr_code_doover: |
| 103287 | 103310 | if( pExpr==0 ){ |
| 103288 | 103311 | op = TK_NULL; |
| 103289 | 103312 | }else{ |
| @@ -104109,13 +104132,14 @@ | ||
| 104109 | 104132 | SQLITE_PRIVATE void sqlite3ExprCode(Parse *pParse, Expr *pExpr, int target){ |
| 104110 | 104133 | int inReg; |
| 104111 | 104134 | |
| 104112 | 104135 | assert( pExpr==0 || !ExprHasVVAProperty(pExpr,EP_Immutable) ); |
| 104113 | 104136 | assert( target>0 && target<=pParse->nMem ); |
| 104114 | - inReg = sqlite3ExprCodeTarget(pParse, pExpr, target); | |
| 104115 | 104137 | assert( pParse->pVdbe!=0 || pParse->db->mallocFailed ); |
| 104116 | - if( inReg!=target && pParse->pVdbe ){ | |
| 104138 | + if( pParse->pVdbe==0 ) return; | |
| 104139 | + inReg = sqlite3ExprCodeTarget(pParse, pExpr, target); | |
| 104140 | + if( inReg!=target ){ | |
| 104117 | 104141 | u8 op; |
| 104118 | 104142 | if( ExprHasProperty(pExpr,EP_Subquery) ){ |
| 104119 | 104143 | op = OP_Copy; |
| 104120 | 104144 | }else{ |
| 104121 | 104145 | op = OP_SCopy; |
| @@ -105189,10 +105213,68 @@ | ||
| 105189 | 105213 | sqlite3WalkExpr(&w, pExpr->y.pWin->pFilter); |
| 105190 | 105214 | } |
| 105191 | 105215 | #endif |
| 105192 | 105216 | return cnt.nThis>0 || cnt.nOther==0; |
| 105193 | 105217 | } |
| 105218 | + | |
| 105219 | +/* | |
| 105220 | +** This is a Walker expression node callback. | |
| 105221 | +** | |
| 105222 | +** For Expr nodes that contain pAggInfo pointers, make sure the AggInfo | |
| 105223 | +** object that is referenced does not refer directly to the Expr. If | |
| 105224 | +** it does, make a copy. This is done because the pExpr argument is | |
| 105225 | +** subject to change. | |
| 105226 | +** | |
| 105227 | +** The copy is stored on pParse->pConstExpr with a register number of 0. | |
| 105228 | +** This will cause the expression to be deleted automatically when the | |
| 105229 | +** Parse object is destroyed, but the zero register number means that it | |
| 105230 | +** will not generate any code in the preamble. | |
| 105231 | +*/ | |
| 105232 | +static int agginfoPersistExprCb(Walker *pWalker, Expr *pExpr){ | |
| 105233 | + if( ALWAYS(!ExprHasProperty(pExpr, EP_TokenOnly|EP_Reduced)) | |
| 105234 | + && pExpr->pAggInfo!=0 | |
| 105235 | + ){ | |
| 105236 | + AggInfo *pAggInfo = pExpr->pAggInfo; | |
| 105237 | + int iAgg = pExpr->iAgg; | |
| 105238 | + Parse *pParse = pWalker->pParse; | |
| 105239 | + sqlite3 *db = pParse->db; | |
| 105240 | + assert( pExpr->op==TK_AGG_COLUMN || pExpr->op==TK_AGG_FUNCTION ); | |
| 105241 | + if( pExpr->op==TK_AGG_COLUMN ){ | |
| 105242 | + assert( iAgg>=0 && iAgg<pAggInfo->nColumn ); | |
| 105243 | + if( pAggInfo->aCol[iAgg].pExpr==pExpr ){ | |
| 105244 | + pExpr = sqlite3ExprDup(db, pExpr, 0); | |
| 105245 | + if( pExpr ){ | |
| 105246 | + pAggInfo->aCol[iAgg].pExpr = pExpr; | |
| 105247 | + pParse->pConstExpr = | |
| 105248 | + sqlite3ExprListAppend(pParse, pParse->pConstExpr, pExpr); | |
| 105249 | + } | |
| 105250 | + } | |
| 105251 | + }else{ | |
| 105252 | + assert( iAgg>=0 && iAgg<pAggInfo->nFunc ); | |
| 105253 | + if( pAggInfo->aFunc[iAgg].pExpr==pExpr ){ | |
| 105254 | + pExpr = sqlite3ExprDup(db, pExpr, 0); | |
| 105255 | + if( pExpr ){ | |
| 105256 | + pAggInfo->aFunc[iAgg].pExpr = pExpr; | |
| 105257 | + pParse->pConstExpr = | |
| 105258 | + sqlite3ExprListAppend(pParse, pParse->pConstExpr, pExpr); | |
| 105259 | + } | |
| 105260 | + } | |
| 105261 | + } | |
| 105262 | + } | |
| 105263 | + return WRC_Continue; | |
| 105264 | +} | |
| 105265 | + | |
| 105266 | +/* | |
| 105267 | +** Initialize a Walker object so that will persist AggInfo entries referenced | |
| 105268 | +** by the tree that is walked. | |
| 105269 | +*/ | |
| 105270 | +SQLITE_PRIVATE void sqlite3AggInfoPersistWalkerInit(Walker *pWalker, Parse *pParse){ | |
| 105271 | + memset(pWalker, 0, sizeof(*pWalker)); | |
| 105272 | + pWalker->pParse = pParse; | |
| 105273 | + pWalker->xExprCallback = agginfoPersistExprCb; | |
| 105274 | + pWalker->xSelectCallback = sqlite3SelectWalkNoop; | |
| 105275 | +} | |
| 105194 | 105276 | |
| 105195 | 105277 | /* |
| 105196 | 105278 | ** Add a new element to the pAggInfo->aCol[] array. Return the index of |
| 105197 | 105279 | ** the new element. Return a negative number if malloc fails. |
| 105198 | 105280 | */ |
| @@ -105220,11 +105302,11 @@ | ||
| 105220 | 105302 | sizeof(pInfo->aFunc[0]), |
| 105221 | 105303 | &pInfo->nFunc, |
| 105222 | 105304 | &i |
| 105223 | 105305 | ); |
| 105224 | 105306 | return i; |
| 105225 | -} | |
| 105307 | +} | |
| 105226 | 105308 | |
| 105227 | 105309 | /* |
| 105228 | 105310 | ** This is the xExprCallback for a tree walker. It is used to |
| 105229 | 105311 | ** implement sqlite3ExprAnalyzeAggregates(). See sqlite3ExprAnalyzeAggregates |
| 105230 | 105312 | ** for additional information. |
| @@ -108177,10 +108259,34 @@ | ||
| 108177 | 108259 | assert( regOut!=regStat && regOut!=regStat+1 ); |
| 108178 | 108260 | sqlite3VdbeAddFunctionCall(pParse, 0, regStat, regOut, 1+IsStat4, |
| 108179 | 108261 | &statGetFuncdef, 0); |
| 108180 | 108262 | } |
| 108181 | 108263 | |
| 108264 | +#ifdef SQLITE_ENABLE_EXPLAIN_COMMENTS | |
| 108265 | +/* Add a comment to the most recent VDBE opcode that is the name | |
| 108266 | +** of the k-th column of the pIdx index. | |
| 108267 | +*/ | |
| 108268 | +static void analyzeVdbeCommentIndexWithColumnName( | |
| 108269 | + Vdbe *v, /* Prepared statement under construction */ | |
| 108270 | + Index *pIdx, /* Index whose column is being loaded */ | |
| 108271 | + int k /* Which column index */ | |
| 108272 | +){ | |
| 108273 | + int i; /* Index of column in the table */ | |
| 108274 | + assert( k>=0 && k<pIdx->nColumn ); | |
| 108275 | + i = pIdx->aiColumn[k]; | |
| 108276 | + if( NEVER(i==XN_ROWID) ){ | |
| 108277 | + VdbeComment((v,"%s.rowid",pIdx->zName)); | |
| 108278 | + }else if( i==XN_EXPR ){ | |
| 108279 | + VdbeComment((v,"%s.expr(%d)",pIdx->zName, k)); | |
| 108280 | + }else{ | |
| 108281 | + VdbeComment((v,"%s.%s", pIdx->zName, pIdx->pTable->aCol[i].zName)); | |
| 108282 | + } | |
| 108283 | +} | |
| 108284 | +#else | |
| 108285 | +# define analyzeVdbeCommentIndexWithColumnName(a,b,c) | |
| 108286 | +#endif /* SQLITE_DEBUG */ | |
| 108287 | + | |
| 108182 | 108288 | /* |
| 108183 | 108289 | ** Generate code to do an analysis of all indices associated with |
| 108184 | 108290 | ** a single table. |
| 108185 | 108291 | */ |
| 108186 | 108292 | static void analyzeOneTable( |
| @@ -108393,11 +108499,11 @@ | ||
| 108393 | 108499 | } |
| 108394 | 108500 | for(i=0; i<nColTest; i++){ |
| 108395 | 108501 | char *pColl = (char*)sqlite3LocateCollSeq(pParse, pIdx->azColl[i]); |
| 108396 | 108502 | sqlite3VdbeAddOp2(v, OP_Integer, i, regChng); |
| 108397 | 108503 | sqlite3VdbeAddOp3(v, OP_Column, iIdxCur, i, regTemp); |
| 108398 | - VdbeComment((v, "%s.column(%d)", pIdx->zName, i)); | |
| 108504 | + analyzeVdbeCommentIndexWithColumnName(v,pIdx,i); | |
| 108399 | 108505 | aGotoChng[i] = |
| 108400 | 108506 | sqlite3VdbeAddOp4(v, OP_Ne, regTemp, 0, regPrev+i, pColl, P4_COLLSEQ); |
| 108401 | 108507 | sqlite3VdbeChangeP5(v, SQLITE_NULLEQ); |
| 108402 | 108508 | VdbeCoverage(v); |
| 108403 | 108509 | } |
| @@ -108414,11 +108520,11 @@ | ||
| 108414 | 108520 | */ |
| 108415 | 108521 | sqlite3VdbeJumpHere(v, addrNextRow-1); |
| 108416 | 108522 | for(i=0; i<nColTest; i++){ |
| 108417 | 108523 | sqlite3VdbeJumpHere(v, aGotoChng[i]); |
| 108418 | 108524 | sqlite3VdbeAddOp3(v, OP_Column, iIdxCur, i, regPrev+i); |
| 108419 | - VdbeComment((v, "%s.column(%d)", pIdx->zName, i)); | |
| 108525 | + analyzeVdbeCommentIndexWithColumnName(v,pIdx,i); | |
| 108420 | 108526 | } |
| 108421 | 108527 | sqlite3VdbeResolveLabel(v, endDistinctTest); |
| 108422 | 108528 | sqlite3DbFree(db, aGotoChng); |
| 108423 | 108529 | } |
| 108424 | 108530 | |
| @@ -108440,11 +108546,11 @@ | ||
| 108440 | 108546 | regKey = sqlite3GetTempRange(pParse, pPk->nKeyCol); |
| 108441 | 108547 | for(j=0; j<pPk->nKeyCol; j++){ |
| 108442 | 108548 | k = sqlite3TableColumnToIndex(pIdx, pPk->aiColumn[j]); |
| 108443 | 108549 | assert( k>=0 && k<pIdx->nColumn ); |
| 108444 | 108550 | sqlite3VdbeAddOp3(v, OP_Column, iIdxCur, k, regKey+j); |
| 108445 | - VdbeComment((v, "%s.column(%d)", pIdx->zName, i)); | |
| 108551 | + analyzeVdbeCommentIndexWithColumnName(v,pIdx,k); | |
| 108446 | 108552 | } |
| 108447 | 108553 | sqlite3VdbeAddOp3(v, OP_MakeRecord, regKey, pPk->nKeyCol, regRowid); |
| 108448 | 108554 | sqlite3ReleaseTempRange(pParse, regKey, pPk->nKeyCol); |
| 108449 | 108555 | } |
| 108450 | 108556 | } |
| @@ -110251,16 +110357,25 @@ | ||
| 110251 | 110357 | |
| 110252 | 110358 | /* Initialize any AUTOINCREMENT data structures required. |
| 110253 | 110359 | */ |
| 110254 | 110360 | sqlite3AutoincrementBegin(pParse); |
| 110255 | 110361 | |
| 110256 | - /* Code constant expressions that where factored out of inner loops */ | |
| 110362 | + /* Code constant expressions that where factored out of inner loops. | |
| 110363 | + ** | |
| 110364 | + ** The pConstExpr list might also contain expressions that we simply | |
| 110365 | + ** want to keep around until the Parse object is deleted. Such | |
| 110366 | + ** expressions have iConstExprReg==0. Do not generate code for | |
| 110367 | + ** those expressions, of course. | |
| 110368 | + */ | |
| 110257 | 110369 | if( pParse->pConstExpr ){ |
| 110258 | 110370 | ExprList *pEL = pParse->pConstExpr; |
| 110259 | 110371 | pParse->okConstFactor = 0; |
| 110260 | 110372 | for(i=0; i<pEL->nExpr; i++){ |
| 110261 | - sqlite3ExprCode(pParse, pEL->a[i].pExpr, pEL->a[i].u.iConstExprReg); | |
| 110373 | + int iReg = pEL->a[i].u.iConstExprReg; | |
| 110374 | + if( iReg>0 ){ | |
| 110375 | + sqlite3ExprCode(pParse, pEL->a[i].pExpr, iReg); | |
| 110376 | + } | |
| 110262 | 110377 | } |
| 110263 | 110378 | } |
| 110264 | 110379 | |
| 110265 | 110380 | /* Finally, jump back to the beginning of the executable code. */ |
| 110266 | 110381 | sqlite3VdbeGoto(v, 1); |
| @@ -114091,25 +114206,37 @@ | ||
| 114091 | 114206 | ** Apart from that, we have little to go on besides intuition as to |
| 114092 | 114207 | ** how aiRowEst[] should be initialized. The numbers generated here |
| 114093 | 114208 | ** are based on typical values found in actual indices. |
| 114094 | 114209 | */ |
| 114095 | 114210 | SQLITE_PRIVATE void sqlite3DefaultRowEst(Index *pIdx){ |
| 114096 | - /* 10, 9, 8, 7, 6 */ | |
| 114097 | - LogEst aVal[] = { 33, 32, 30, 28, 26 }; | |
| 114211 | + /* 10, 9, 8, 7, 6 */ | |
| 114212 | + static const LogEst aVal[] = { 33, 32, 30, 28, 26 }; | |
| 114098 | 114213 | LogEst *a = pIdx->aiRowLogEst; |
| 114214 | + LogEst x; | |
| 114099 | 114215 | int nCopy = MIN(ArraySize(aVal), pIdx->nKeyCol); |
| 114100 | 114216 | int i; |
| 114101 | 114217 | |
| 114102 | 114218 | /* Indexes with default row estimates should not have stat1 data */ |
| 114103 | 114219 | assert( !pIdx->hasStat1 ); |
| 114104 | 114220 | |
| 114105 | 114221 | /* Set the first entry (number of rows in the index) to the estimated |
| 114106 | 114222 | ** number of rows in the table, or half the number of rows in the table |
| 114107 | - ** for a partial index. But do not let the estimate drop below 10. */ | |
| 114108 | - a[0] = pIdx->pTable->nRowLogEst; | |
| 114109 | - if( pIdx->pPartIdxWhere!=0 ) a[0] -= 10; assert( 10==sqlite3LogEst(2) ); | |
| 114110 | - if( a[0]<33 ) a[0] = 33; assert( 33==sqlite3LogEst(10) ); | |
| 114223 | + ** for a partial index. | |
| 114224 | + ** | |
| 114225 | + ** 2020-05-27: If some of the stat data is coming from the sqlite_stat1 | |
| 114226 | + ** table but other parts we are having to guess at, then do not let the | |
| 114227 | + ** estimated number of rows in the table be less than 1000 (LogEst 99). | |
| 114228 | + ** Failure to do this can cause the indexes for which we do not have | |
| 114229 | + ** stat1 data to be ignored by the query planner. tag-20200527-1 | |
| 114230 | + */ | |
| 114231 | + x = pIdx->pTable->nRowLogEst; | |
| 114232 | + assert( 99==sqlite3LogEst(1000) ); | |
| 114233 | + if( x<99 ){ | |
| 114234 | + pIdx->pTable->nRowLogEst = x = 99; | |
| 114235 | + } | |
| 114236 | + if( pIdx->pPartIdxWhere!=0 ) x -= 10; assert( 10==sqlite3LogEst(2) ); | |
| 114237 | + a[0] = x; | |
| 114111 | 114238 | |
| 114112 | 114239 | /* Estimate that a[1] is 10, a[2] is 9, a[3] is 8, a[4] is 7, a[5] is |
| 114113 | 114240 | ** 6 and each subsequent value (if any) is 5. */ |
| 114114 | 114241 | memcpy(&a[1], aVal, nCopy*sizeof(LogEst)); |
| 114115 | 114242 | for(i=nCopy+1; i<=pIdx->nKeyCol; i++){ |
| @@ -128405,21 +128532,22 @@ | ||
| 128405 | 128532 | ** |
| 128406 | 128533 | ** If the same database is attached more than once, the first |
| 128407 | 128534 | ** attached database is returned. |
| 128408 | 128535 | */ |
| 128409 | 128536 | SQLITE_PRIVATE int sqlite3SchemaToIndex(sqlite3 *db, Schema *pSchema){ |
| 128410 | - int i = -1000000; | |
| 128537 | + int i = -32768; | |
| 128411 | 128538 | |
| 128412 | - /* If pSchema is NULL, then return -1000000. This happens when code in | |
| 128539 | + /* If pSchema is NULL, then return -32768. This happens when code in | |
| 128413 | 128540 | ** expr.c is trying to resolve a reference to a transient table (i.e. one |
| 128414 | 128541 | ** created by a sub-select). In this case the return value of this |
| 128415 | 128542 | ** function should never be used. |
| 128416 | 128543 | ** |
| 128417 | - ** We return -1000000 instead of the more usual -1 simply because using | |
| 128418 | - ** -1000000 as the incorrect index into db->aDb[] is much | |
| 128544 | + ** We return -32768 instead of the more usual -1 simply because using | |
| 128545 | + ** -32768 as the incorrect index into db->aDb[] is much | |
| 128419 | 128546 | ** more likely to cause a segfault than -1 (of course there are assert() |
| 128420 | - ** statements too, but it never hurts to play the odds). | |
| 128547 | + ** statements too, but it never hurts to play the odds) and | |
| 128548 | + ** -32768 will still fit into a 16-bit signed integer. | |
| 128421 | 128549 | */ |
| 128422 | 128550 | assert( sqlite3_mutex_held(db->mutex) ); |
| 128423 | 128551 | if( pSchema ){ |
| 128424 | 128552 | for(i=0; 1; i++){ |
| 128425 | 128553 | assert( i<db->nDb ); |
| @@ -128429,16 +128557,31 @@ | ||
| 128429 | 128557 | } |
| 128430 | 128558 | assert( i>=0 && i<db->nDb ); |
| 128431 | 128559 | } |
| 128432 | 128560 | return i; |
| 128433 | 128561 | } |
| 128562 | + | |
| 128563 | +/* | |
| 128564 | +** Deallocate a single AggInfo object | |
| 128565 | +*/ | |
| 128566 | +static void agginfoFree(sqlite3 *db, AggInfo *p){ | |
| 128567 | + sqlite3DbFree(db, p->aCol); | |
| 128568 | + sqlite3DbFree(db, p->aFunc); | |
| 128569 | + sqlite3DbFree(db, p); | |
| 128570 | +} | |
| 128434 | 128571 | |
| 128435 | 128572 | /* |
| 128436 | 128573 | ** Free all memory allocations in the pParse object |
| 128437 | 128574 | */ |
| 128438 | 128575 | SQLITE_PRIVATE void sqlite3ParserReset(Parse *pParse){ |
| 128439 | 128576 | sqlite3 *db = pParse->db; |
| 128577 | + AggInfo *pThis = pParse->pAggList; | |
| 128578 | + while( pThis ){ | |
| 128579 | + AggInfo *pNext = pThis->pNext; | |
| 128580 | + agginfoFree(db, pThis); | |
| 128581 | + pThis = pNext; | |
| 128582 | + } | |
| 128440 | 128583 | sqlite3DbFree(db, pParse->aLabel); |
| 128441 | 128584 | sqlite3ExprListDelete(db, pParse->pConstExpr); |
| 128442 | 128585 | if( db ){ |
| 128443 | 128586 | assert( db->lookaside.bDisable >= pParse->disableLookaside ); |
| 128444 | 128587 | db->lookaside.bDisable -= pParse->disableLookaside; |
| @@ -128970,13 +129113,13 @@ | ||
| 128970 | 129113 | Expr *pHaving, /* the HAVING clause */ |
| 128971 | 129114 | ExprList *pOrderBy, /* the ORDER BY clause */ |
| 128972 | 129115 | u32 selFlags, /* Flag parameters, such as SF_Distinct */ |
| 128973 | 129116 | Expr *pLimit /* LIMIT value. NULL means not used */ |
| 128974 | 129117 | ){ |
| 128975 | - Select *pNew; | |
| 129118 | + Select *pNew, *pAllocated; | |
| 128976 | 129119 | Select standin; |
| 128977 | - pNew = sqlite3DbMallocRawNN(pParse->db, sizeof(*pNew) ); | |
| 129120 | + pAllocated = pNew = sqlite3DbMallocRawNN(pParse->db, sizeof(*pNew) ); | |
| 128978 | 129121 | if( pNew==0 ){ |
| 128979 | 129122 | assert( pParse->db->mallocFailed ); |
| 128980 | 129123 | pNew = &standin; |
| 128981 | 129124 | } |
| 128982 | 129125 | if( pEList==0 ){ |
| @@ -129006,16 +129149,15 @@ | ||
| 129006 | 129149 | pNew->pWin = 0; |
| 129007 | 129150 | pNew->pWinDefn = 0; |
| 129008 | 129151 | #endif |
| 129009 | 129152 | if( pParse->db->mallocFailed ) { |
| 129010 | 129153 | clearSelect(pParse->db, pNew, pNew!=&standin); |
| 129011 | - pNew = 0; | |
| 129154 | + pAllocated = 0; | |
| 129012 | 129155 | }else{ |
| 129013 | 129156 | assert( pNew->pSrc!=0 || pParse->nErr>0 ); |
| 129014 | 129157 | } |
| 129015 | - assert( pNew!=&standin ); | |
| 129016 | - return pNew; | |
| 129158 | + return pAllocated; | |
| 129017 | 129159 | } |
| 129018 | 129160 | |
| 129019 | 129161 | |
| 129020 | 129162 | /* |
| 129021 | 129163 | ** Delete the given Select structure and all of its substructures. |
| @@ -132624,10 +132766,11 @@ | ||
| 132624 | 132766 | int isLeftJoin = 0; /* True if pSub is the right side of a LEFT JOIN */ |
| 132625 | 132767 | int i; /* Loop counter */ |
| 132626 | 132768 | Expr *pWhere; /* The WHERE clause */ |
| 132627 | 132769 | struct SrcList_item *pSubitem; /* The subquery */ |
| 132628 | 132770 | sqlite3 *db = pParse->db; |
| 132771 | + Walker w; /* Walker to persist agginfo data */ | |
| 132629 | 132772 | |
| 132630 | 132773 | /* Check to see if flattening is permitted. Return 0 if not. |
| 132631 | 132774 | */ |
| 132632 | 132775 | assert( p!=0 ); |
| 132633 | 132776 | assert( p->pPrior==0 ); |
| @@ -132998,10 +133141,12 @@ | ||
| 132998 | 133141 | } |
| 132999 | 133142 | |
| 133000 | 133143 | /* Finially, delete what is left of the subquery and return |
| 133001 | 133144 | ** success. |
| 133002 | 133145 | */ |
| 133146 | + sqlite3AggInfoPersistWalkerInit(&w, pParse); | |
| 133147 | + sqlite3WalkSelect(&w,pSub1); | |
| 133003 | 133148 | sqlite3SelectDelete(db, pSub1); |
| 133004 | 133149 | |
| 133005 | 133150 | #if SELECTTRACE_ENABLED |
| 133006 | 133151 | if( sqlite3SelectTrace & 0x100 ){ |
| 133007 | 133152 | SELECTTRACE(0x100,pParse,p,("After flattening:\n")); |
| @@ -134582,14 +134727,14 @@ | ||
| 134582 | 134727 | ExprList *pEList = 0; /* List of columns to extract. */ |
| 134583 | 134728 | SrcList *pTabList; /* List of tables to select from */ |
| 134584 | 134729 | Expr *pWhere; /* The WHERE clause. May be NULL */ |
| 134585 | 134730 | ExprList *pGroupBy; /* The GROUP BY clause. May be NULL */ |
| 134586 | 134731 | Expr *pHaving; /* The HAVING clause. May be NULL */ |
| 134732 | + AggInfo *pAggInfo = 0; /* Aggregate information */ | |
| 134587 | 134733 | int rc = 1; /* Value to return from this function */ |
| 134588 | 134734 | DistinctCtx sDistinct; /* Info on how to code the DISTINCT keyword */ |
| 134589 | 134735 | SortCtx sSort; /* Info on how to code the ORDER BY clause */ |
| 134590 | - AggInfo sAggInfo; /* Information used by aggregate queries */ | |
| 134591 | 134736 | int iEnd; /* Address of the end of the query */ |
| 134592 | 134737 | sqlite3 *db; /* The database connection */ |
| 134593 | 134738 | ExprList *pMinMaxOrderBy = 0; /* Added ORDER BY for min/max queries */ |
| 134594 | 134739 | u8 minMaxFlag; /* Flag for min/max queries */ |
| 134595 | 134740 | |
| @@ -134597,11 +134742,10 @@ | ||
| 134597 | 134742 | v = sqlite3GetVdbe(pParse); |
| 134598 | 134743 | if( p==0 || db->mallocFailed || pParse->nErr ){ |
| 134599 | 134744 | return 1; |
| 134600 | 134745 | } |
| 134601 | 134746 | if( sqlite3AuthCheck(pParse, SQLITE_SELECT, 0, 0, 0) ) return 1; |
| 134602 | - memset(&sAggInfo, 0, sizeof(sAggInfo)); | |
| 134603 | 134747 | #if SELECTTRACE_ENABLED |
| 134604 | 134748 | SELECTTRACE(1,pParse,p, ("begin processing:\n", pParse->addrExplain)); |
| 134605 | 134749 | if( sqlite3SelectTrace & 0x100 ){ |
| 134606 | 134750 | sqlite3TreeViewSelect(0, p, 0); |
| 134607 | 134751 | } |
| @@ -135187,18 +135331,24 @@ | ||
| 135187 | 135331 | |
| 135188 | 135332 | /* Convert TK_COLUMN nodes into TK_AGG_COLUMN and make entries in |
| 135189 | 135333 | ** sAggInfo for all TK_AGG_FUNCTION nodes in expressions of the |
| 135190 | 135334 | ** SELECT statement. |
| 135191 | 135335 | */ |
| 135336 | + pAggInfo = sqlite3DbMallocZero(db, sizeof(*pAggInfo) ); | |
| 135337 | + if( pAggInfo==0 ){ | |
| 135338 | + goto select_end; | |
| 135339 | + } | |
| 135340 | + pAggInfo->pNext = pParse->pAggList; | |
| 135341 | + pParse->pAggList = pAggInfo; | |
| 135192 | 135342 | memset(&sNC, 0, sizeof(sNC)); |
| 135193 | 135343 | sNC.pParse = pParse; |
| 135194 | 135344 | sNC.pSrcList = pTabList; |
| 135195 | - sNC.uNC.pAggInfo = &sAggInfo; | |
| 135345 | + sNC.uNC.pAggInfo = pAggInfo; | |
| 135196 | 135346 | VVA_ONLY( sNC.ncFlags = NC_UAggInfo; ) |
| 135197 | - sAggInfo.mnReg = pParse->nMem+1; | |
| 135198 | - sAggInfo.nSortingColumn = pGroupBy ? pGroupBy->nExpr : 0; | |
| 135199 | - sAggInfo.pGroupBy = pGroupBy; | |
| 135347 | + pAggInfo->mnReg = pParse->nMem+1; | |
| 135348 | + pAggInfo->nSortingColumn = pGroupBy ? pGroupBy->nExpr : 0; | |
| 135349 | + pAggInfo->pGroupBy = pGroupBy; | |
| 135200 | 135350 | sqlite3ExprAnalyzeAggList(&sNC, pEList); |
| 135201 | 135351 | sqlite3ExprAnalyzeAggList(&sNC, sSort.pOrderBy); |
| 135202 | 135352 | if( pHaving ){ |
| 135203 | 135353 | if( pGroupBy ){ |
| 135204 | 135354 | assert( pWhere==p->pWhere ); |
| @@ -135207,18 +135357,18 @@ | ||
| 135207 | 135357 | havingToWhere(pParse, p); |
| 135208 | 135358 | pWhere = p->pWhere; |
| 135209 | 135359 | } |
| 135210 | 135360 | sqlite3ExprAnalyzeAggregates(&sNC, pHaving); |
| 135211 | 135361 | } |
| 135212 | - sAggInfo.nAccumulator = sAggInfo.nColumn; | |
| 135213 | - if( p->pGroupBy==0 && p->pHaving==0 && sAggInfo.nFunc==1 ){ | |
| 135214 | - minMaxFlag = minMaxQuery(db, sAggInfo.aFunc[0].pExpr, &pMinMaxOrderBy); | |
| 135362 | + pAggInfo->nAccumulator = pAggInfo->nColumn; | |
| 135363 | + if( p->pGroupBy==0 && p->pHaving==0 && pAggInfo->nFunc==1 ){ | |
| 135364 | + minMaxFlag = minMaxQuery(db, pAggInfo->aFunc[0].pExpr, &pMinMaxOrderBy); | |
| 135215 | 135365 | }else{ |
| 135216 | 135366 | minMaxFlag = WHERE_ORDERBY_NORMAL; |
| 135217 | 135367 | } |
| 135218 | - for(i=0; i<sAggInfo.nFunc; i++){ | |
| 135219 | - Expr *pExpr = sAggInfo.aFunc[i].pExpr; | |
| 135368 | + for(i=0; i<pAggInfo->nFunc; i++){ | |
| 135369 | + Expr *pExpr = pAggInfo->aFunc[i].pExpr; | |
| 135220 | 135370 | assert( !ExprHasProperty(pExpr, EP_xIsSelect) ); |
| 135221 | 135371 | sNC.ncFlags |= NC_InAggFunc; |
| 135222 | 135372 | sqlite3ExprAnalyzeAggList(&sNC, pExpr->x.pList); |
| 135223 | 135373 | #ifndef SQLITE_OMIT_WINDOWFUNC |
| 135224 | 135374 | assert( !IsWindowFunc(pExpr) ); |
| @@ -135226,26 +135376,26 @@ | ||
| 135226 | 135376 | sqlite3ExprAnalyzeAggregates(&sNC, pExpr->y.pWin->pFilter); |
| 135227 | 135377 | } |
| 135228 | 135378 | #endif |
| 135229 | 135379 | sNC.ncFlags &= ~NC_InAggFunc; |
| 135230 | 135380 | } |
| 135231 | - sAggInfo.mxReg = pParse->nMem; | |
| 135381 | + pAggInfo->mxReg = pParse->nMem; | |
| 135232 | 135382 | if( db->mallocFailed ) goto select_end; |
| 135233 | 135383 | #if SELECTTRACE_ENABLED |
| 135234 | 135384 | if( sqlite3SelectTrace & 0x400 ){ |
| 135235 | 135385 | int ii; |
| 135236 | - SELECTTRACE(0x400,pParse,p,("After aggregate analysis %p:\n", &sAggInfo)); | |
| 135386 | + SELECTTRACE(0x400,pParse,p,("After aggregate analysis %p:\n", pAggInfo)); | |
| 135237 | 135387 | sqlite3TreeViewSelect(0, p, 0); |
| 135238 | - for(ii=0; ii<sAggInfo.nColumn; ii++){ | |
| 135388 | + for(ii=0; ii<pAggInfo->nColumn; ii++){ | |
| 135239 | 135389 | sqlite3DebugPrintf("agg-column[%d] iMem=%d\n", |
| 135240 | - ii, sAggInfo.aCol[ii].iMem); | |
| 135241 | - sqlite3TreeViewExpr(0, sAggInfo.aCol[ii].pExpr, 0); | |
| 135390 | + ii, pAggInfo->aCol[ii].iMem); | |
| 135391 | + sqlite3TreeViewExpr(0, pAggInfo->aCol[ii].pExpr, 0); | |
| 135242 | 135392 | } |
| 135243 | - for(ii=0; ii<sAggInfo.nFunc; ii++){ | |
| 135393 | + for(ii=0; ii<pAggInfo->nFunc; ii++){ | |
| 135244 | 135394 | sqlite3DebugPrintf("agg-func[%d]: iMem=%d\n", |
| 135245 | - ii, sAggInfo.aFunc[ii].iMem); | |
| 135246 | - sqlite3TreeViewExpr(0, sAggInfo.aFunc[ii].pExpr, 0); | |
| 135395 | + ii, pAggInfo->aFunc[ii].iMem); | |
| 135396 | + sqlite3TreeViewExpr(0, pAggInfo->aFunc[ii].pExpr, 0); | |
| 135247 | 135397 | } |
| 135248 | 135398 | } |
| 135249 | 135399 | #endif |
| 135250 | 135400 | |
| 135251 | 135401 | |
| @@ -135266,14 +135416,15 @@ | ||
| 135266 | 135416 | /* If there is a GROUP BY clause we might need a sorting index to |
| 135267 | 135417 | ** implement it. Allocate that sorting index now. If it turns out |
| 135268 | 135418 | ** that we do not need it after all, the OP_SorterOpen instruction |
| 135269 | 135419 | ** will be converted into a Noop. |
| 135270 | 135420 | */ |
| 135271 | - sAggInfo.sortingIdx = pParse->nTab++; | |
| 135272 | - pKeyInfo = sqlite3KeyInfoFromExprList(pParse,pGroupBy,0,sAggInfo.nColumn); | |
| 135421 | + pAggInfo->sortingIdx = pParse->nTab++; | |
| 135422 | + pKeyInfo = sqlite3KeyInfoFromExprList(pParse, pGroupBy, | |
| 135423 | + 0, pAggInfo->nColumn); | |
| 135273 | 135424 | addrSortingIdx = sqlite3VdbeAddOp4(v, OP_SorterOpen, |
| 135274 | - sAggInfo.sortingIdx, sAggInfo.nSortingColumn, | |
| 135425 | + pAggInfo->sortingIdx, pAggInfo->nSortingColumn, | |
| 135275 | 135426 | 0, (char*)pKeyInfo, P4_KEYINFO); |
| 135276 | 135427 | |
| 135277 | 135428 | /* Initialize memory locations used by GROUP BY aggregate processing |
| 135278 | 135429 | */ |
| 135279 | 135430 | iUseFlag = ++pParse->nMem; |
| @@ -135324,40 +135475,40 @@ | ||
| 135324 | 135475 | |
| 135325 | 135476 | groupBySort = 1; |
| 135326 | 135477 | nGroupBy = pGroupBy->nExpr; |
| 135327 | 135478 | nCol = nGroupBy; |
| 135328 | 135479 | j = nGroupBy; |
| 135329 | - for(i=0; i<sAggInfo.nColumn; i++){ | |
| 135330 | - if( sAggInfo.aCol[i].iSorterColumn>=j ){ | |
| 135480 | + for(i=0; i<pAggInfo->nColumn; i++){ | |
| 135481 | + if( pAggInfo->aCol[i].iSorterColumn>=j ){ | |
| 135331 | 135482 | nCol++; |
| 135332 | 135483 | j++; |
| 135333 | 135484 | } |
| 135334 | 135485 | } |
| 135335 | 135486 | regBase = sqlite3GetTempRange(pParse, nCol); |
| 135336 | 135487 | sqlite3ExprCodeExprList(pParse, pGroupBy, regBase, 0, 0); |
| 135337 | 135488 | j = nGroupBy; |
| 135338 | - for(i=0; i<sAggInfo.nColumn; i++){ | |
| 135339 | - struct AggInfo_col *pCol = &sAggInfo.aCol[i]; | |
| 135489 | + for(i=0; i<pAggInfo->nColumn; i++){ | |
| 135490 | + struct AggInfo_col *pCol = &pAggInfo->aCol[i]; | |
| 135340 | 135491 | if( pCol->iSorterColumn>=j ){ |
| 135341 | 135492 | int r1 = j + regBase; |
| 135342 | 135493 | sqlite3ExprCodeGetColumnOfTable(v, |
| 135343 | 135494 | pCol->pTab, pCol->iTable, pCol->iColumn, r1); |
| 135344 | 135495 | j++; |
| 135345 | 135496 | } |
| 135346 | 135497 | } |
| 135347 | 135498 | regRecord = sqlite3GetTempReg(pParse); |
| 135348 | 135499 | sqlite3VdbeAddOp3(v, OP_MakeRecord, regBase, nCol, regRecord); |
| 135349 | - sqlite3VdbeAddOp2(v, OP_SorterInsert, sAggInfo.sortingIdx, regRecord); | |
| 135500 | + sqlite3VdbeAddOp2(v, OP_SorterInsert, pAggInfo->sortingIdx, regRecord); | |
| 135350 | 135501 | sqlite3ReleaseTempReg(pParse, regRecord); |
| 135351 | 135502 | sqlite3ReleaseTempRange(pParse, regBase, nCol); |
| 135352 | 135503 | sqlite3WhereEnd(pWInfo); |
| 135353 | - sAggInfo.sortingIdxPTab = sortPTab = pParse->nTab++; | |
| 135504 | + pAggInfo->sortingIdxPTab = sortPTab = pParse->nTab++; | |
| 135354 | 135505 | sortOut = sqlite3GetTempReg(pParse); |
| 135355 | 135506 | sqlite3VdbeAddOp3(v, OP_OpenPseudo, sortPTab, sortOut, nCol); |
| 135356 | - sqlite3VdbeAddOp2(v, OP_SorterSort, sAggInfo.sortingIdx, addrEnd); | |
| 135507 | + sqlite3VdbeAddOp2(v, OP_SorterSort, pAggInfo->sortingIdx, addrEnd); | |
| 135357 | 135508 | VdbeComment((v, "GROUP BY sort")); VdbeCoverage(v); |
| 135358 | - sAggInfo.useSortingIdx = 1; | |
| 135509 | + pAggInfo->useSortingIdx = 1; | |
| 135359 | 135510 | } |
| 135360 | 135511 | |
| 135361 | 135512 | /* If the index or temporary table used by the GROUP BY sort |
| 135362 | 135513 | ** will naturally deliver rows in the order required by the ORDER BY |
| 135363 | 135514 | ** clause, cancel the ephemeral table open coded earlier. |
| @@ -135377,18 +135528,18 @@ | ||
| 135377 | 135528 | ** Then compare the current GROUP BY terms against the GROUP BY terms |
| 135378 | 135529 | ** from the previous row currently stored in a0, a1, a2... |
| 135379 | 135530 | */ |
| 135380 | 135531 | addrTopOfLoop = sqlite3VdbeCurrentAddr(v); |
| 135381 | 135532 | if( groupBySort ){ |
| 135382 | - sqlite3VdbeAddOp3(v, OP_SorterData, sAggInfo.sortingIdx, | |
| 135533 | + sqlite3VdbeAddOp3(v, OP_SorterData, pAggInfo->sortingIdx, | |
| 135383 | 135534 | sortOut, sortPTab); |
| 135384 | 135535 | } |
| 135385 | 135536 | for(j=0; j<pGroupBy->nExpr; j++){ |
| 135386 | 135537 | if( groupBySort ){ |
| 135387 | 135538 | sqlite3VdbeAddOp3(v, OP_Column, sortPTab, j, iBMem+j); |
| 135388 | 135539 | }else{ |
| 135389 | - sAggInfo.directMode = 1; | |
| 135540 | + pAggInfo->directMode = 1; | |
| 135390 | 135541 | sqlite3ExprCode(pParse, pGroupBy->a[j].pExpr, iBMem+j); |
| 135391 | 135542 | } |
| 135392 | 135543 | } |
| 135393 | 135544 | sqlite3VdbeAddOp4(v, OP_Compare, iAMem, iBMem, pGroupBy->nExpr, |
| 135394 | 135545 | (char*)sqlite3KeyInfoRef(pKeyInfo), P4_KEYINFO); |
| @@ -135414,18 +135565,18 @@ | ||
| 135414 | 135565 | |
| 135415 | 135566 | /* Update the aggregate accumulators based on the content of |
| 135416 | 135567 | ** the current row |
| 135417 | 135568 | */ |
| 135418 | 135569 | sqlite3VdbeJumpHere(v, addr1); |
| 135419 | - updateAccumulator(pParse, iUseFlag, &sAggInfo); | |
| 135570 | + updateAccumulator(pParse, iUseFlag, pAggInfo); | |
| 135420 | 135571 | sqlite3VdbeAddOp2(v, OP_Integer, 1, iUseFlag); |
| 135421 | 135572 | VdbeComment((v, "indicate data in accumulator")); |
| 135422 | 135573 | |
| 135423 | 135574 | /* End of the loop |
| 135424 | 135575 | */ |
| 135425 | 135576 | if( groupBySort ){ |
| 135426 | - sqlite3VdbeAddOp2(v, OP_SorterNext, sAggInfo.sortingIdx, addrTopOfLoop); | |
| 135577 | + sqlite3VdbeAddOp2(v, OP_SorterNext, pAggInfo->sortingIdx, addrTopOfLoop); | |
| 135427 | 135578 | VdbeCoverage(v); |
| 135428 | 135579 | }else{ |
| 135429 | 135580 | sqlite3WhereEnd(pWInfo); |
| 135430 | 135581 | sqlite3VdbeChangeToNoop(v, addrSortingIdx); |
| 135431 | 135582 | } |
| @@ -135454,11 +135605,11 @@ | ||
| 135454 | 135605 | addrOutputRow = sqlite3VdbeCurrentAddr(v); |
| 135455 | 135606 | sqlite3VdbeAddOp2(v, OP_IfPos, iUseFlag, addrOutputRow+2); |
| 135456 | 135607 | VdbeCoverage(v); |
| 135457 | 135608 | VdbeComment((v, "Groupby result generator entry point")); |
| 135458 | 135609 | sqlite3VdbeAddOp1(v, OP_Return, regOutputRow); |
| 135459 | - finalizeAggFunctions(pParse, &sAggInfo); | |
| 135610 | + finalizeAggFunctions(pParse, pAggInfo); | |
| 135460 | 135611 | sqlite3ExprIfFalse(pParse, pHaving, addrOutputRow+1, SQLITE_JUMPIFNULL); |
| 135461 | 135612 | selectInnerLoop(pParse, p, -1, &sSort, |
| 135462 | 135613 | &sDistinct, pDest, |
| 135463 | 135614 | addrOutputRow+1, addrSetAbort); |
| 135464 | 135615 | sqlite3VdbeAddOp1(v, OP_Return, regOutputRow); |
| @@ -135465,19 +135616,19 @@ | ||
| 135465 | 135616 | VdbeComment((v, "end groupby result generator")); |
| 135466 | 135617 | |
| 135467 | 135618 | /* Generate a subroutine that will reset the group-by accumulator |
| 135468 | 135619 | */ |
| 135469 | 135620 | sqlite3VdbeResolveLabel(v, addrReset); |
| 135470 | - resetAccumulator(pParse, &sAggInfo); | |
| 135621 | + resetAccumulator(pParse, pAggInfo); | |
| 135471 | 135622 | sqlite3VdbeAddOp2(v, OP_Integer, 0, iUseFlag); |
| 135472 | 135623 | VdbeComment((v, "indicate accumulator empty")); |
| 135473 | 135624 | sqlite3VdbeAddOp1(v, OP_Return, regReset); |
| 135474 | 135625 | |
| 135475 | 135626 | } /* endif pGroupBy. Begin aggregate queries without GROUP BY: */ |
| 135476 | 135627 | else { |
| 135477 | 135628 | Table *pTab; |
| 135478 | - if( (pTab = isSimpleCount(p, &sAggInfo))!=0 ){ | |
| 135629 | + if( (pTab = isSimpleCount(p, pAggInfo))!=0 ){ | |
| 135479 | 135630 | /* If isSimpleCount() returns a pointer to a Table structure, then |
| 135480 | 135631 | ** the SQL statement is of the form: |
| 135481 | 135632 | ** |
| 135482 | 135633 | ** SELECT count(*) FROM <tbl> |
| 135483 | 135634 | ** |
| @@ -135528,11 +135679,11 @@ | ||
| 135528 | 135679 | /* Open a read-only cursor, execute the OP_Count, close the cursor. */ |
| 135529 | 135680 | sqlite3VdbeAddOp4Int(v, OP_OpenRead, iCsr, iRoot, iDb, 1); |
| 135530 | 135681 | if( pKeyInfo ){ |
| 135531 | 135682 | sqlite3VdbeChangeP4(v, -1, (char *)pKeyInfo, P4_KEYINFO); |
| 135532 | 135683 | } |
| 135533 | - sqlite3VdbeAddOp2(v, OP_Count, iCsr, sAggInfo.aFunc[0].iMem); | |
| 135684 | + sqlite3VdbeAddOp2(v, OP_Count, iCsr, pAggInfo->aFunc[0].iMem); | |
| 135534 | 135685 | sqlite3VdbeAddOp1(v, OP_Close, iCsr); |
| 135535 | 135686 | explainSimpleCount(pParse, pTab, pBest); |
| 135536 | 135687 | }else{ |
| 135537 | 135688 | int regAcc = 0; /* "populate accumulators" flag */ |
| 135538 | 135689 | |
| @@ -135543,16 +135694,20 @@ | ||
| 135543 | 135694 | ** that the accumulator registers are (a) updated only once if |
| 135544 | 135695 | ** there are no min() or max functions or (b) always updated for the |
| 135545 | 135696 | ** first row visited by the aggregate, so that they are updated at |
| 135546 | 135697 | ** least once even if the FILTER clause means the min() or max() |
| 135547 | 135698 | ** function visits zero rows. */ |
| 135548 | - if( sAggInfo.nAccumulator ){ | |
| 135549 | - for(i=0; i<sAggInfo.nFunc; i++){ | |
| 135550 | - if( ExprHasProperty(sAggInfo.aFunc[i].pExpr, EP_WinFunc) ) continue; | |
| 135551 | - if( sAggInfo.aFunc[i].pFunc->funcFlags&SQLITE_FUNC_NEEDCOLL ) break; | |
| 135699 | + if( pAggInfo->nAccumulator ){ | |
| 135700 | + for(i=0; i<pAggInfo->nFunc; i++){ | |
| 135701 | + if( ExprHasProperty(pAggInfo->aFunc[i].pExpr, EP_WinFunc) ){ | |
| 135702 | + continue; | |
| 135703 | + } | |
| 135704 | + if( pAggInfo->aFunc[i].pFunc->funcFlags&SQLITE_FUNC_NEEDCOLL ){ | |
| 135705 | + break; | |
| 135706 | + } | |
| 135552 | 135707 | } |
| 135553 | - if( i==sAggInfo.nFunc ){ | |
| 135708 | + if( i==pAggInfo->nFunc ){ | |
| 135554 | 135709 | regAcc = ++pParse->nMem; |
| 135555 | 135710 | sqlite3VdbeAddOp2(v, OP_Integer, 0, regAcc); |
| 135556 | 135711 | } |
| 135557 | 135712 | } |
| 135558 | 135713 | |
| @@ -135559,11 +135714,11 @@ | ||
| 135559 | 135714 | /* This case runs if the aggregate has no GROUP BY clause. The |
| 135560 | 135715 | ** processing is much simpler since there is only a single row |
| 135561 | 135716 | ** of output. |
| 135562 | 135717 | */ |
| 135563 | 135718 | assert( p->pGroupBy==0 ); |
| 135564 | - resetAccumulator(pParse, &sAggInfo); | |
| 135719 | + resetAccumulator(pParse, pAggInfo); | |
| 135565 | 135720 | |
| 135566 | 135721 | /* If this query is a candidate for the min/max optimization, then |
| 135567 | 135722 | ** minMaxFlag will have been previously set to either |
| 135568 | 135723 | ** WHERE_ORDERBY_MIN or WHERE_ORDERBY_MAX and pMinMaxOrderBy will |
| 135569 | 135724 | ** be an appropriate ORDER BY expression for the optimization. |
| @@ -135575,19 +135730,19 @@ | ||
| 135575 | 135730 | pWInfo = sqlite3WhereBegin(pParse, pTabList, pWhere, pMinMaxOrderBy, |
| 135576 | 135731 | 0, minMaxFlag, 0); |
| 135577 | 135732 | if( pWInfo==0 ){ |
| 135578 | 135733 | goto select_end; |
| 135579 | 135734 | } |
| 135580 | - updateAccumulator(pParse, regAcc, &sAggInfo); | |
| 135735 | + updateAccumulator(pParse, regAcc, pAggInfo); | |
| 135581 | 135736 | if( regAcc ) sqlite3VdbeAddOp2(v, OP_Integer, 1, regAcc); |
| 135582 | 135737 | if( sqlite3WhereIsOrdered(pWInfo)>0 ){ |
| 135583 | 135738 | sqlite3VdbeGoto(v, sqlite3WhereBreakLabel(pWInfo)); |
| 135584 | 135739 | VdbeComment((v, "%s() by index", |
| 135585 | 135740 | (minMaxFlag==WHERE_ORDERBY_MIN?"min":"max"))); |
| 135586 | 135741 | } |
| 135587 | 135742 | sqlite3WhereEnd(pWInfo); |
| 135588 | - finalizeAggFunctions(pParse, &sAggInfo); | |
| 135743 | + finalizeAggFunctions(pParse, pAggInfo); | |
| 135589 | 135744 | } |
| 135590 | 135745 | |
| 135591 | 135746 | sSort.pOrderBy = 0; |
| 135592 | 135747 | sqlite3ExprIfFalse(pParse, pHaving, addrEnd, SQLITE_JUMPIFNULL); |
| 135593 | 135748 | selectInnerLoop(pParse, p, -1, 0, 0, |
| @@ -135622,12 +135777,29 @@ | ||
| 135622 | 135777 | /* Control jumps to here if an error is encountered above, or upon |
| 135623 | 135778 | ** successful coding of the SELECT. |
| 135624 | 135779 | */ |
| 135625 | 135780 | select_end: |
| 135626 | 135781 | sqlite3ExprListDelete(db, pMinMaxOrderBy); |
| 135627 | - sqlite3DbFree(db, sAggInfo.aCol); | |
| 135628 | - sqlite3DbFree(db, sAggInfo.aFunc); | |
| 135782 | +#ifdef SQLITE_DEBUG | |
| 135783 | + if( pAggInfo ){ | |
| 135784 | + for(i=0; i<pAggInfo->nColumn; i++){ | |
| 135785 | + Expr *pExpr = pAggInfo->aCol[i].pExpr; | |
| 135786 | + assert( pExpr!=0 || db->mallocFailed ); | |
| 135787 | + if( pExpr==0 ) continue; | |
| 135788 | + assert( pExpr->pAggInfo==pAggInfo ); | |
| 135789 | + assert( pExpr->iAgg==i ); | |
| 135790 | + } | |
| 135791 | + for(i=0; i<pAggInfo->nFunc; i++){ | |
| 135792 | + Expr *pExpr = pAggInfo->aFunc[i].pExpr; | |
| 135793 | + assert( pExpr!=0 || db->mallocFailed ); | |
| 135794 | + if( pExpr==0 ) continue; | |
| 135795 | + assert( pExpr->pAggInfo==pAggInfo ); | |
| 135796 | + assert( pExpr->iAgg==i ); | |
| 135797 | + } | |
| 135798 | + } | |
| 135799 | +#endif | |
| 135800 | + | |
| 135629 | 135801 | #if SELECTTRACE_ENABLED |
| 135630 | 135802 | SELECTTRACE(0x1,pParse,p,("end processing\n")); |
| 135631 | 135803 | if( (sqlite3SelectTrace & 0x2000)!=0 && ExplainQueryPlanParent(pParse)==0 ){ |
| 135632 | 135804 | sqlite3TreeViewSelect(0, p, 0); |
| 135633 | 135805 | } |
| @@ -147847,10 +148019,11 @@ | ||
| 147847 | 148019 | pNew->rSetup = 0; |
| 147848 | 148020 | pNew->prereq = mPrereq; |
| 147849 | 148021 | pNew->nOut = rSize; |
| 147850 | 148022 | pNew->u.btree.pIndex = pProbe; |
| 147851 | 148023 | b = indexMightHelpWithOrderBy(pBuilder, pProbe, pSrc->iCursor); |
| 148024 | + | |
| 147852 | 148025 | /* The ONEPASS_DESIRED flags never occurs together with ORDER BY */ |
| 147853 | 148026 | assert( (pWInfo->wctrlFlags & WHERE_ONEPASS_DESIRED)==0 || b==0 ); |
| 147854 | 148027 | if( pProbe->idxType==SQLITE_IDXTYPE_IPK ){ |
| 147855 | 148028 | /* Integer primary key index */ |
| 147856 | 148029 | pNew->wsFlags = WHERE_IPK; |
| @@ -147876,10 +148049,11 @@ | ||
| 147876 | 148049 | |
| 147877 | 148050 | /* Full scan via index */ |
| 147878 | 148051 | if( b |
| 147879 | 148052 | || !HasRowid(pTab) |
| 147880 | 148053 | || pProbe->pPartIdxWhere!=0 |
| 148054 | + || pSrc->fg.isIndexedBy | |
| 147881 | 148055 | || ( m==0 |
| 147882 | 148056 | && pProbe->bUnordered==0 |
| 147883 | 148057 | && (pProbe->szIdxRow<pTab->szTabRow) |
| 147884 | 148058 | && (pWInfo->wctrlFlags & WHERE_ONEPASS_DESIRED)==0 |
| 147885 | 148059 | && sqlite3GlobalConfig.bUseCis |
| @@ -151315,16 +151489,20 @@ | ||
| 151315 | 151489 | |
| 151316 | 151490 | ExprList *pSublist = 0; /* Expression list for sub-query */ |
| 151317 | 151491 | Window *pMWin = p->pWin; /* Master window object */ |
| 151318 | 151492 | Window *pWin; /* Window object iterator */ |
| 151319 | 151493 | Table *pTab; |
| 151494 | + Walker w; | |
| 151495 | + | |
| 151320 | 151496 | u32 selFlags = p->selFlags; |
| 151321 | 151497 | |
| 151322 | 151498 | pTab = sqlite3DbMallocZero(db, sizeof(Table)); |
| 151323 | 151499 | if( pTab==0 ){ |
| 151324 | 151500 | return sqlite3ErrorToParser(db, SQLITE_NOMEM); |
| 151325 | 151501 | } |
| 151502 | + sqlite3AggInfoPersistWalkerInit(&w, pParse); | |
| 151503 | + sqlite3WalkSelect(&w, p); | |
| 151326 | 151504 | |
| 151327 | 151505 | p->pSrc = 0; |
| 151328 | 151506 | p->pWhere = 0; |
| 151329 | 151507 | p->pGroupBy = 0; |
| 151330 | 151508 | p->pHaving = 0; |
| @@ -151401,11 +151579,10 @@ | ||
| 151401 | 151579 | pParse, pSublist, pSrc, pWhere, pGroupBy, pHaving, pSort, 0, 0 |
| 151402 | 151580 | ); |
| 151403 | 151581 | p->pSrc = sqlite3SrcListAppend(pParse, 0, 0, 0); |
| 151404 | 151582 | if( p->pSrc ){ |
| 151405 | 151583 | Table *pTab2; |
| 151406 | - Walker w; | |
| 151407 | 151584 | p->pSrc->a[0].pSelect = pSub; |
| 151408 | 151585 | sqlite3SrcListAssignCursors(pParse, p->pSrc); |
| 151409 | 151586 | pSub->selFlags |= SF_Expanded; |
| 151410 | 151587 | pTab2 = sqlite3ResultSetOfSelect(pParse, pSub, SQLITE_AFF_NONE); |
| 151411 | 151588 | pSub->selFlags |= (selFlags & SF_Aggregate); |
| @@ -224820,11 +224997,11 @@ | ||
| 224820 | 224997 | int nArg, /* Number of args */ |
| 224821 | 224998 | sqlite3_value **apUnused /* Function arguments */ |
| 224822 | 224999 | ){ |
| 224823 | 225000 | assert( nArg==0 ); |
| 224824 | 225001 | UNUSED_PARAM2(nArg, apUnused); |
| 224825 | - sqlite3_result_text(pCtx, "fts5: 2020-05-25 16:19:56 0c1fcf4711a2e66c813aed38cf41cd3e2123ee8eb6db98118086764c4ba83350", -1, SQLITE_TRANSIENT); | |
| 225002 | + sqlite3_result_text(pCtx, "fts5: 2020-06-08 11:34:40 6e6b3729e0549de028f6c5bf494b2d69d621c81b61a1dc0a329d3950039342fb", -1, SQLITE_TRANSIENT); | |
| 224826 | 225003 | } |
| 224827 | 225004 | |
| 224828 | 225005 | /* |
| 224829 | 225006 | ** Return true if zName is the extension on one of the shadow tables used |
| 224830 | 225007 | ** by this module. |
| @@ -229603,12 +229780,12 @@ | ||
| 229603 | 229780 | } |
| 229604 | 229781 | #endif /* SQLITE_CORE */ |
| 229605 | 229782 | #endif /* !defined(SQLITE_CORE) || defined(SQLITE_ENABLE_STMTVTAB) */ |
| 229606 | 229783 | |
| 229607 | 229784 | /************** End of stmt.c ************************************************/ |
| 229608 | -#if __LINE__!=229608 | |
| 229785 | +#if __LINE__!=229785 | |
| 229609 | 229786 | #undef SQLITE_SOURCE_ID |
| 229610 | -#define SQLITE_SOURCE_ID "2020-05-25 16:19:56 0c1fcf4711a2e66c813aed38cf41cd3e2123ee8eb6db98118086764c4ba8alt2" | |
| 229787 | +#define SQLITE_SOURCE_ID "2020-06-08 11:34:40 6e6b3729e0549de028f6c5bf494b2d69d621c81b61a1dc0a329d39500393alt2" | |
| 229611 | 229788 | #endif |
| 229612 | 229789 | /* Return the source-id for this library */ |
| 229613 | 229790 | SQLITE_API const char *sqlite3_sourceid(void){ return SQLITE_SOURCE_ID; } |
| 229614 | 229791 | /************************** End of sqlite3.c ******************************/ |
| 229615 | 229792 |
| --- src/sqlite3.c | |
| +++ src/sqlite3.c | |
| @@ -1,8 +1,8 @@ | |
| 1 | /****************************************************************************** |
| 2 | ** This file is an amalgamation of many separate C source files from SQLite |
| 3 | ** version 3.32.1. By combining all the individual C code files into this |
| 4 | ** single large file, the entire code can be compiled as a single translation |
| 5 | ** unit. This allows many compilers to do optimizations that would not be |
| 6 | ** possible if the files were compiled separately. Performance improvements |
| 7 | ** of 5% or more are commonly seen when SQLite is compiled as a single |
| 8 | ** translation unit. |
| @@ -1160,13 +1160,13 @@ | |
| 1160 | ** |
| 1161 | ** See also: [sqlite3_libversion()], |
| 1162 | ** [sqlite3_libversion_number()], [sqlite3_sourceid()], |
| 1163 | ** [sqlite_version()] and [sqlite_source_id()]. |
| 1164 | */ |
| 1165 | #define SQLITE_VERSION "3.32.1" |
| 1166 | #define SQLITE_VERSION_NUMBER 3032001 |
| 1167 | #define SQLITE_SOURCE_ID "2020-05-25 16:19:56 0c1fcf4711a2e66c813aed38cf41cd3e2123ee8eb6db98118086764c4ba83350" |
| 1168 | |
| 1169 | /* |
| 1170 | ** CAPI3REF: Run-Time Library Version Numbers |
| 1171 | ** KEYWORDS: sqlite3_version sqlite3_sourceid |
| 1172 | ** |
| @@ -13449,14 +13449,14 @@ | |
| 13449 | |
| 13450 | /* |
| 13451 | ** WAL mode depends on atomic aligned 32-bit loads and stores in a few |
| 13452 | ** places. The following macros try to make this explicit. |
| 13453 | */ |
| 13454 | #ifndef __has_feature |
| 13455 | # define __has_feature(x) 0 /* compatibility with non-clang compilers */ |
| 13456 | #endif |
| 13457 | #if GCC_VERSION>=4007000 || __has_feature(c_atomic) |
| 13458 | # define AtomicLoad(PTR) __atomic_load_n((PTR),__ATOMIC_RELAXED) |
| 13459 | # define AtomicStore(PTR,VAL) __atomic_store_n((PTR),(VAL),__ATOMIC_RELAXED) |
| 13460 | #else |
| 13461 | # define AtomicLoad(PTR) (*(PTR)) |
| 13462 | # define AtomicStore(PTR,VAL) (*(PTR) = (VAL)) |
| @@ -17861,15 +17861,15 @@ | |
| 17861 | int nSortingColumn; /* Number of columns in the sorting index */ |
| 17862 | int mnReg, mxReg; /* Range of registers allocated for aCol and aFunc */ |
| 17863 | ExprList *pGroupBy; /* The group by clause */ |
| 17864 | struct AggInfo_col { /* For each column used in source tables */ |
| 17865 | Table *pTab; /* Source table */ |
| 17866 | int iTable; /* Cursor number of the source table */ |
| 17867 | int iColumn; /* Column number within the source table */ |
| 17868 | int iSorterColumn; /* Column number in the sorting index */ |
| 17869 | int iMem; /* Memory location that acts as accumulator */ |
| 17870 | Expr *pExpr; /* The original expression */ |
| 17871 | } *aCol; |
| 17872 | int nColumn; /* Number of used entries in aCol[] */ |
| 17873 | int nAccumulator; /* Number of columns that show through to the output. |
| 17874 | ** Additional columns are used only as parameters to |
| 17875 | ** aggregate functions */ |
| @@ -17878,12 +17878,21 @@ | |
| 17878 | FuncDef *pFunc; /* The aggregate function implementation */ |
| 17879 | int iMem; /* Memory location that acts as accumulator */ |
| 17880 | int iDistinct; /* Ephemeral table used to enforce DISTINCT */ |
| 17881 | } *aFunc; |
| 17882 | int nFunc; /* Number of entries in aFunc[] */ |
| 17883 | }; |
| 17884 | |
| 17885 | /* |
| 17886 | ** The datatype ynVar is a signed integer, either 16-bit or 32-bit. |
| 17887 | ** Usually it is 16-bits. But if SQLITE_MAX_VARIABLE_NUMBER is greater |
| 17888 | ** than 32767 we have to make it 32-bit. 16-bit is preferred because |
| 17889 | ** it uses less memory in the Expr object, which is a big memory user |
| @@ -18676,10 +18685,11 @@ | |
| 18676 | #endif |
| 18677 | AutoincInfo *pAinc; /* Information about AUTOINCREMENT counters */ |
| 18678 | Parse *pToplevel; /* Parse structure for main program (or NULL) */ |
| 18679 | Table *pTriggerTab; /* Table triggers are being coded for */ |
| 18680 | Parse *pParentParse; /* Parent parser if this parser is nested */ |
| 18681 | int addrCrTab; /* Address of OP_CreateBtree opcode on CREATE TABLE */ |
| 18682 | u32 nQueryLoop; /* Est number of iterations of a query (10*log2(N)) */ |
| 18683 | u32 oldmask; /* Mask of old.* columns referenced */ |
| 18684 | u32 newmask; /* Mask of new.* columns referenced */ |
| 18685 | u8 eTriggerOp; /* TK_UPDATE, TK_INSERT or TK_DELETE */ |
| @@ -19642,10 +19652,11 @@ | |
| 19642 | SQLITE_PRIVATE int sqlite3ExprCompare(Parse*,Expr*, Expr*, int); |
| 19643 | SQLITE_PRIVATE int sqlite3ExprCompareSkip(Expr*, Expr*, int); |
| 19644 | SQLITE_PRIVATE int sqlite3ExprListCompare(ExprList*, ExprList*, int); |
| 19645 | SQLITE_PRIVATE int sqlite3ExprImpliesExpr(Parse*,Expr*, Expr*, int); |
| 19646 | SQLITE_PRIVATE int sqlite3ExprImpliesNonNullRow(Expr*,int); |
| 19647 | SQLITE_PRIVATE void sqlite3ExprAnalyzeAggregates(NameContext*, Expr*); |
| 19648 | SQLITE_PRIVATE void sqlite3ExprAnalyzeAggList(NameContext*,ExprList*); |
| 19649 | SQLITE_PRIVATE int sqlite3ExprCoveredByIndex(Expr*, int iCur, Index *pIdx); |
| 19650 | SQLITE_PRIVATE int sqlite3FunctionUsesThisSrc(Expr*, SrcList*); |
| 19651 | SQLITE_PRIVATE Vdbe *sqlite3GetVdbe(Parse*); |
| @@ -30013,11 +30024,11 @@ | |
| 30013 | sqlite3TreeViewLine(pView, "EXISTS-expr flags=0x%x", pExpr->flags); |
| 30014 | sqlite3TreeViewSelect(pView, pExpr->x.pSelect, 0); |
| 30015 | break; |
| 30016 | } |
| 30017 | case TK_SELECT: { |
| 30018 | sqlite3TreeViewLine(pView, "SELECT-expr flags=0x%x", pExpr->flags); |
| 30019 | sqlite3TreeViewSelect(pView, pExpr->x.pSelect, 0); |
| 30020 | break; |
| 30021 | } |
| 30022 | case TK_IN: { |
| 30023 | sqlite3TreeViewLine(pView, "IN flags=0x%x", pExpr->flags); |
| @@ -30932,13 +30943,13 @@ | |
| 30932 | pMem->n = (int)(z - zOut); |
| 30933 | } |
| 30934 | *z = 0; |
| 30935 | assert( (pMem->n+(desiredEnc==SQLITE_UTF8?1:2))<=len ); |
| 30936 | |
| 30937 | c = pMem->flags; |
| 30938 | sqlite3VdbeMemRelease(pMem); |
| 30939 | pMem->flags = MEM_Str|MEM_Term|(c&(MEM_AffMask|MEM_Subtype)); |
| 30940 | pMem->enc = desiredEnc; |
| 30941 | pMem->z = (char*)zOut; |
| 30942 | pMem->zMalloc = pMem->z; |
| 30943 | pMem->szMalloc = sqlite3DbMallocSize(pMem->db, pMem->z); |
| 30944 | |
| @@ -38285,11 +38296,14 @@ | |
| 38285 | ** 2. Write lock (ofst==0). |
| 38286 | ** 3. Read locks (ofst>=3 && ofst<SQLITE_SHM_NLOCK). |
| 38287 | ** |
| 38288 | ** In other words, if this is a blocking lock, none of the locks that |
| 38289 | ** occur later in the above list than the lock being obtained may be |
| 38290 | ** held. */ |
| 38291 | #ifdef SQLITE_ENABLE_SETLK_TIMEOUT |
| 38292 | assert( (flags & SQLITE_SHM_UNLOCK) || pDbFd->iBusyTimeout==0 || ( |
| 38293 | (ofst!=2) /* not RECOVER */ |
| 38294 | && (ofst!=1 || (p->exclMask|p->sharedMask)==0) |
| 38295 | && (ofst!=0 || (p->exclMask|p->sharedMask)<3) |
| @@ -60401,11 +60415,11 @@ | |
| 60401 | nCollide = idx; |
| 60402 | for(iKey=walHash(iPage); sLoc.aHash[iKey]; iKey=walNextHash(iKey)){ |
| 60403 | if( (nCollide--)==0 ) return SQLITE_CORRUPT_BKPT; |
| 60404 | } |
| 60405 | sLoc.aPgno[idx] = iPage; |
| 60406 | sLoc.aHash[iKey] = (ht_slot)idx; |
| 60407 | |
| 60408 | #ifdef SQLITE_ENABLE_EXPENSIVE_ASSERT |
| 60409 | /* Verify that the number of entries in the hash table exactly equals |
| 60410 | ** the number of entries in the mapping region. |
| 60411 | */ |
| @@ -80835,11 +80849,15 @@ | |
| 80835 | ** if the VDBE has just been set to run but has not actually executed any |
| 80836 | ** instructions yet, leave the main database error information unchanged. |
| 80837 | */ |
| 80838 | if( p->pc>=0 ){ |
| 80839 | vdbeInvokeSqllog(p); |
| 80840 | sqlite3VdbeTransferError(p); |
| 80841 | if( p->runOnlyOnce ) p->expired = 1; |
| 80842 | }else if( p->rc && p->expired ){ |
| 80843 | /* The expired flag was set on the VDBE before the first call |
| 80844 | ** to sqlite3_step(). For consistency (since sqlite3_step() was |
| 80845 | ** called), set the database error in this case as well. |
| @@ -80855,12 +80873,14 @@ | |
| 80855 | if( p->apCsr ) for(i=0; i<p->nCursor; i++) assert( p->apCsr[i]==0 ); |
| 80856 | if( p->aMem ){ |
| 80857 | for(i=0; i<p->nMem; i++) assert( p->aMem[i].flags==MEM_Undefined ); |
| 80858 | } |
| 80859 | #endif |
| 80860 | sqlite3DbFree(db, p->zErrMsg); |
| 80861 | p->zErrMsg = 0; |
| 80862 | p->pResultSet = 0; |
| 80863 | #ifdef SQLITE_DEBUG |
| 80864 | p->nWrite = 0; |
| 80865 | #endif |
| 80866 | |
| @@ -85818,10 +85838,12 @@ | |
| 85818 | /* This happens if a malloc() inside a call to sqlite3_column_text() or |
| 85819 | ** sqlite3_column_text16() failed. */ |
| 85820 | goto no_mem; |
| 85821 | } |
| 85822 | assert( p->rc==SQLITE_OK || (p->rc&0xff)==SQLITE_BUSY ); |
| 85823 | assert( p->bIsReader || p->readOnly!=0 ); |
| 85824 | p->iCurrentTime = 0; |
| 85825 | assert( p->explain==0 ); |
| 85826 | p->pResultSet = 0; |
| 85827 | db->busyHandler.nBusy = 0; |
| @@ -93131,13 +93153,11 @@ | |
| 93131 | /* Jump to here if the sqlite3_interrupt() API sets the interrupt |
| 93132 | ** flag. |
| 93133 | */ |
| 93134 | abort_due_to_interrupt: |
| 93135 | assert( AtomicLoad(&db->u1.isInterrupted) ); |
| 93136 | rc = db->mallocFailed ? SQLITE_NOMEM_BKPT : SQLITE_INTERRUPT; |
| 93137 | p->rc = rc; |
| 93138 | sqlite3VdbeError(p, "%s", sqlite3ErrStr(rc)); |
| 93139 | goto abort_due_to_error; |
| 93140 | } |
| 93141 | |
| 93142 | |
| 93143 | /************** End of vdbe.c ************************************************/ |
| @@ -99532,11 +99552,16 @@ | |
| 99532 | assert( pExpr!=0 ); |
| 99533 | } |
| 99534 | op = pExpr->op; |
| 99535 | if( op==TK_SELECT ){ |
| 99536 | assert( pExpr->flags&EP_xIsSelect ); |
| 99537 | return sqlite3ExprAffinity(pExpr->x.pSelect->pEList->a[0].pExpr); |
| 99538 | } |
| 99539 | if( op==TK_REGISTER ) op = pExpr->op2; |
| 99540 | #ifndef SQLITE_OMIT_CAST |
| 99541 | if( op==TK_CAST ){ |
| 99542 | assert( !ExprHasProperty(pExpr, EP_IntValue) ); |
| @@ -102032,11 +102057,11 @@ | |
| 102032 | ** satisfy the query. This is preferable to generating a new |
| 102033 | ** ephemeral table. */ |
| 102034 | if( pParse->nErr==0 && (p = isCandidateForInOpt(pX))!=0 ){ |
| 102035 | sqlite3 *db = pParse->db; /* Database connection */ |
| 102036 | Table *pTab; /* Table <table>. */ |
| 102037 | i16 iDb; /* Database idx for pTab */ |
| 102038 | ExprList *pEList = p->pEList; |
| 102039 | int nExpr = pEList->nExpr; |
| 102040 | |
| 102041 | assert( p->pEList!=0 ); /* Because of isCandidateForInOpt(p) */ |
| 102042 | assert( p->pEList->a[0].pExpr!=0 ); /* Because of isCandidateForInOpt(p) */ |
| @@ -102043,10 +102068,11 @@ | |
| 102043 | assert( p->pSrc!=0 ); /* Because of isCandidateForInOpt(p) */ |
| 102044 | pTab = p->pSrc->a[0].pTab; |
| 102045 | |
| 102046 | /* Code an OP_Transaction and OP_TableLock for <table>. */ |
| 102047 | iDb = sqlite3SchemaToIndex(db, pTab->pSchema); |
| 102048 | sqlite3CodeVerifySchema(pParse, iDb); |
| 102049 | sqlite3TableLock(pParse, iDb, pTab->tnum, 0, pTab->zName); |
| 102050 | |
| 102051 | assert(v); /* sqlite3GetVdbe() has always been previously called */ |
| 102052 | if( nExpr==1 && pEList->a[0].pExpr->iColumn<0 ){ |
| @@ -103276,14 +103302,11 @@ | |
| 103276 | int r1, r2; /* Various register numbers */ |
| 103277 | Expr tempX; /* Temporary expression node */ |
| 103278 | int p5 = 0; |
| 103279 | |
| 103280 | assert( target>0 && target<=pParse->nMem ); |
| 103281 | if( v==0 ){ |
| 103282 | assert( pParse->db->mallocFailed ); |
| 103283 | return 0; |
| 103284 | } |
| 103285 | |
| 103286 | expr_code_doover: |
| 103287 | if( pExpr==0 ){ |
| 103288 | op = TK_NULL; |
| 103289 | }else{ |
| @@ -104109,13 +104132,14 @@ | |
| 104109 | SQLITE_PRIVATE void sqlite3ExprCode(Parse *pParse, Expr *pExpr, int target){ |
| 104110 | int inReg; |
| 104111 | |
| 104112 | assert( pExpr==0 || !ExprHasVVAProperty(pExpr,EP_Immutable) ); |
| 104113 | assert( target>0 && target<=pParse->nMem ); |
| 104114 | inReg = sqlite3ExprCodeTarget(pParse, pExpr, target); |
| 104115 | assert( pParse->pVdbe!=0 || pParse->db->mallocFailed ); |
| 104116 | if( inReg!=target && pParse->pVdbe ){ |
| 104117 | u8 op; |
| 104118 | if( ExprHasProperty(pExpr,EP_Subquery) ){ |
| 104119 | op = OP_Copy; |
| 104120 | }else{ |
| 104121 | op = OP_SCopy; |
| @@ -105189,10 +105213,68 @@ | |
| 105189 | sqlite3WalkExpr(&w, pExpr->y.pWin->pFilter); |
| 105190 | } |
| 105191 | #endif |
| 105192 | return cnt.nThis>0 || cnt.nOther==0; |
| 105193 | } |
| 105194 | |
| 105195 | /* |
| 105196 | ** Add a new element to the pAggInfo->aCol[] array. Return the index of |
| 105197 | ** the new element. Return a negative number if malloc fails. |
| 105198 | */ |
| @@ -105220,11 +105302,11 @@ | |
| 105220 | sizeof(pInfo->aFunc[0]), |
| 105221 | &pInfo->nFunc, |
| 105222 | &i |
| 105223 | ); |
| 105224 | return i; |
| 105225 | } |
| 105226 | |
| 105227 | /* |
| 105228 | ** This is the xExprCallback for a tree walker. It is used to |
| 105229 | ** implement sqlite3ExprAnalyzeAggregates(). See sqlite3ExprAnalyzeAggregates |
| 105230 | ** for additional information. |
| @@ -108177,10 +108259,34 @@ | |
| 108177 | assert( regOut!=regStat && regOut!=regStat+1 ); |
| 108178 | sqlite3VdbeAddFunctionCall(pParse, 0, regStat, regOut, 1+IsStat4, |
| 108179 | &statGetFuncdef, 0); |
| 108180 | } |
| 108181 | |
| 108182 | /* |
| 108183 | ** Generate code to do an analysis of all indices associated with |
| 108184 | ** a single table. |
| 108185 | */ |
| 108186 | static void analyzeOneTable( |
| @@ -108393,11 +108499,11 @@ | |
| 108393 | } |
| 108394 | for(i=0; i<nColTest; i++){ |
| 108395 | char *pColl = (char*)sqlite3LocateCollSeq(pParse, pIdx->azColl[i]); |
| 108396 | sqlite3VdbeAddOp2(v, OP_Integer, i, regChng); |
| 108397 | sqlite3VdbeAddOp3(v, OP_Column, iIdxCur, i, regTemp); |
| 108398 | VdbeComment((v, "%s.column(%d)", pIdx->zName, i)); |
| 108399 | aGotoChng[i] = |
| 108400 | sqlite3VdbeAddOp4(v, OP_Ne, regTemp, 0, regPrev+i, pColl, P4_COLLSEQ); |
| 108401 | sqlite3VdbeChangeP5(v, SQLITE_NULLEQ); |
| 108402 | VdbeCoverage(v); |
| 108403 | } |
| @@ -108414,11 +108520,11 @@ | |
| 108414 | */ |
| 108415 | sqlite3VdbeJumpHere(v, addrNextRow-1); |
| 108416 | for(i=0; i<nColTest; i++){ |
| 108417 | sqlite3VdbeJumpHere(v, aGotoChng[i]); |
| 108418 | sqlite3VdbeAddOp3(v, OP_Column, iIdxCur, i, regPrev+i); |
| 108419 | VdbeComment((v, "%s.column(%d)", pIdx->zName, i)); |
| 108420 | } |
| 108421 | sqlite3VdbeResolveLabel(v, endDistinctTest); |
| 108422 | sqlite3DbFree(db, aGotoChng); |
| 108423 | } |
| 108424 | |
| @@ -108440,11 +108546,11 @@ | |
| 108440 | regKey = sqlite3GetTempRange(pParse, pPk->nKeyCol); |
| 108441 | for(j=0; j<pPk->nKeyCol; j++){ |
| 108442 | k = sqlite3TableColumnToIndex(pIdx, pPk->aiColumn[j]); |
| 108443 | assert( k>=0 && k<pIdx->nColumn ); |
| 108444 | sqlite3VdbeAddOp3(v, OP_Column, iIdxCur, k, regKey+j); |
| 108445 | VdbeComment((v, "%s.column(%d)", pIdx->zName, i)); |
| 108446 | } |
| 108447 | sqlite3VdbeAddOp3(v, OP_MakeRecord, regKey, pPk->nKeyCol, regRowid); |
| 108448 | sqlite3ReleaseTempRange(pParse, regKey, pPk->nKeyCol); |
| 108449 | } |
| 108450 | } |
| @@ -110251,16 +110357,25 @@ | |
| 110251 | |
| 110252 | /* Initialize any AUTOINCREMENT data structures required. |
| 110253 | */ |
| 110254 | sqlite3AutoincrementBegin(pParse); |
| 110255 | |
| 110256 | /* Code constant expressions that where factored out of inner loops */ |
| 110257 | if( pParse->pConstExpr ){ |
| 110258 | ExprList *pEL = pParse->pConstExpr; |
| 110259 | pParse->okConstFactor = 0; |
| 110260 | for(i=0; i<pEL->nExpr; i++){ |
| 110261 | sqlite3ExprCode(pParse, pEL->a[i].pExpr, pEL->a[i].u.iConstExprReg); |
| 110262 | } |
| 110263 | } |
| 110264 | |
| 110265 | /* Finally, jump back to the beginning of the executable code. */ |
| 110266 | sqlite3VdbeGoto(v, 1); |
| @@ -114091,25 +114206,37 @@ | |
| 114091 | ** Apart from that, we have little to go on besides intuition as to |
| 114092 | ** how aiRowEst[] should be initialized. The numbers generated here |
| 114093 | ** are based on typical values found in actual indices. |
| 114094 | */ |
| 114095 | SQLITE_PRIVATE void sqlite3DefaultRowEst(Index *pIdx){ |
| 114096 | /* 10, 9, 8, 7, 6 */ |
| 114097 | LogEst aVal[] = { 33, 32, 30, 28, 26 }; |
| 114098 | LogEst *a = pIdx->aiRowLogEst; |
| 114099 | int nCopy = MIN(ArraySize(aVal), pIdx->nKeyCol); |
| 114100 | int i; |
| 114101 | |
| 114102 | /* Indexes with default row estimates should not have stat1 data */ |
| 114103 | assert( !pIdx->hasStat1 ); |
| 114104 | |
| 114105 | /* Set the first entry (number of rows in the index) to the estimated |
| 114106 | ** number of rows in the table, or half the number of rows in the table |
| 114107 | ** for a partial index. But do not let the estimate drop below 10. */ |
| 114108 | a[0] = pIdx->pTable->nRowLogEst; |
| 114109 | if( pIdx->pPartIdxWhere!=0 ) a[0] -= 10; assert( 10==sqlite3LogEst(2) ); |
| 114110 | if( a[0]<33 ) a[0] = 33; assert( 33==sqlite3LogEst(10) ); |
| 114111 | |
| 114112 | /* Estimate that a[1] is 10, a[2] is 9, a[3] is 8, a[4] is 7, a[5] is |
| 114113 | ** 6 and each subsequent value (if any) is 5. */ |
| 114114 | memcpy(&a[1], aVal, nCopy*sizeof(LogEst)); |
| 114115 | for(i=nCopy+1; i<=pIdx->nKeyCol; i++){ |
| @@ -128405,21 +128532,22 @@ | |
| 128405 | ** |
| 128406 | ** If the same database is attached more than once, the first |
| 128407 | ** attached database is returned. |
| 128408 | */ |
| 128409 | SQLITE_PRIVATE int sqlite3SchemaToIndex(sqlite3 *db, Schema *pSchema){ |
| 128410 | int i = -1000000; |
| 128411 | |
| 128412 | /* If pSchema is NULL, then return -1000000. This happens when code in |
| 128413 | ** expr.c is trying to resolve a reference to a transient table (i.e. one |
| 128414 | ** created by a sub-select). In this case the return value of this |
| 128415 | ** function should never be used. |
| 128416 | ** |
| 128417 | ** We return -1000000 instead of the more usual -1 simply because using |
| 128418 | ** -1000000 as the incorrect index into db->aDb[] is much |
| 128419 | ** more likely to cause a segfault than -1 (of course there are assert() |
| 128420 | ** statements too, but it never hurts to play the odds). |
| 128421 | */ |
| 128422 | assert( sqlite3_mutex_held(db->mutex) ); |
| 128423 | if( pSchema ){ |
| 128424 | for(i=0; 1; i++){ |
| 128425 | assert( i<db->nDb ); |
| @@ -128429,16 +128557,31 @@ | |
| 128429 | } |
| 128430 | assert( i>=0 && i<db->nDb ); |
| 128431 | } |
| 128432 | return i; |
| 128433 | } |
| 128434 | |
| 128435 | /* |
| 128436 | ** Free all memory allocations in the pParse object |
| 128437 | */ |
| 128438 | SQLITE_PRIVATE void sqlite3ParserReset(Parse *pParse){ |
| 128439 | sqlite3 *db = pParse->db; |
| 128440 | sqlite3DbFree(db, pParse->aLabel); |
| 128441 | sqlite3ExprListDelete(db, pParse->pConstExpr); |
| 128442 | if( db ){ |
| 128443 | assert( db->lookaside.bDisable >= pParse->disableLookaside ); |
| 128444 | db->lookaside.bDisable -= pParse->disableLookaside; |
| @@ -128970,13 +129113,13 @@ | |
| 128970 | Expr *pHaving, /* the HAVING clause */ |
| 128971 | ExprList *pOrderBy, /* the ORDER BY clause */ |
| 128972 | u32 selFlags, /* Flag parameters, such as SF_Distinct */ |
| 128973 | Expr *pLimit /* LIMIT value. NULL means not used */ |
| 128974 | ){ |
| 128975 | Select *pNew; |
| 128976 | Select standin; |
| 128977 | pNew = sqlite3DbMallocRawNN(pParse->db, sizeof(*pNew) ); |
| 128978 | if( pNew==0 ){ |
| 128979 | assert( pParse->db->mallocFailed ); |
| 128980 | pNew = &standin; |
| 128981 | } |
| 128982 | if( pEList==0 ){ |
| @@ -129006,16 +129149,15 @@ | |
| 129006 | pNew->pWin = 0; |
| 129007 | pNew->pWinDefn = 0; |
| 129008 | #endif |
| 129009 | if( pParse->db->mallocFailed ) { |
| 129010 | clearSelect(pParse->db, pNew, pNew!=&standin); |
| 129011 | pNew = 0; |
| 129012 | }else{ |
| 129013 | assert( pNew->pSrc!=0 || pParse->nErr>0 ); |
| 129014 | } |
| 129015 | assert( pNew!=&standin ); |
| 129016 | return pNew; |
| 129017 | } |
| 129018 | |
| 129019 | |
| 129020 | /* |
| 129021 | ** Delete the given Select structure and all of its substructures. |
| @@ -132624,10 +132766,11 @@ | |
| 132624 | int isLeftJoin = 0; /* True if pSub is the right side of a LEFT JOIN */ |
| 132625 | int i; /* Loop counter */ |
| 132626 | Expr *pWhere; /* The WHERE clause */ |
| 132627 | struct SrcList_item *pSubitem; /* The subquery */ |
| 132628 | sqlite3 *db = pParse->db; |
| 132629 | |
| 132630 | /* Check to see if flattening is permitted. Return 0 if not. |
| 132631 | */ |
| 132632 | assert( p!=0 ); |
| 132633 | assert( p->pPrior==0 ); |
| @@ -132998,10 +133141,12 @@ | |
| 132998 | } |
| 132999 | |
| 133000 | /* Finially, delete what is left of the subquery and return |
| 133001 | ** success. |
| 133002 | */ |
| 133003 | sqlite3SelectDelete(db, pSub1); |
| 133004 | |
| 133005 | #if SELECTTRACE_ENABLED |
| 133006 | if( sqlite3SelectTrace & 0x100 ){ |
| 133007 | SELECTTRACE(0x100,pParse,p,("After flattening:\n")); |
| @@ -134582,14 +134727,14 @@ | |
| 134582 | ExprList *pEList = 0; /* List of columns to extract. */ |
| 134583 | SrcList *pTabList; /* List of tables to select from */ |
| 134584 | Expr *pWhere; /* The WHERE clause. May be NULL */ |
| 134585 | ExprList *pGroupBy; /* The GROUP BY clause. May be NULL */ |
| 134586 | Expr *pHaving; /* The HAVING clause. May be NULL */ |
| 134587 | int rc = 1; /* Value to return from this function */ |
| 134588 | DistinctCtx sDistinct; /* Info on how to code the DISTINCT keyword */ |
| 134589 | SortCtx sSort; /* Info on how to code the ORDER BY clause */ |
| 134590 | AggInfo sAggInfo; /* Information used by aggregate queries */ |
| 134591 | int iEnd; /* Address of the end of the query */ |
| 134592 | sqlite3 *db; /* The database connection */ |
| 134593 | ExprList *pMinMaxOrderBy = 0; /* Added ORDER BY for min/max queries */ |
| 134594 | u8 minMaxFlag; /* Flag for min/max queries */ |
| 134595 | |
| @@ -134597,11 +134742,10 @@ | |
| 134597 | v = sqlite3GetVdbe(pParse); |
| 134598 | if( p==0 || db->mallocFailed || pParse->nErr ){ |
| 134599 | return 1; |
| 134600 | } |
| 134601 | if( sqlite3AuthCheck(pParse, SQLITE_SELECT, 0, 0, 0) ) return 1; |
| 134602 | memset(&sAggInfo, 0, sizeof(sAggInfo)); |
| 134603 | #if SELECTTRACE_ENABLED |
| 134604 | SELECTTRACE(1,pParse,p, ("begin processing:\n", pParse->addrExplain)); |
| 134605 | if( sqlite3SelectTrace & 0x100 ){ |
| 134606 | sqlite3TreeViewSelect(0, p, 0); |
| 134607 | } |
| @@ -135187,18 +135331,24 @@ | |
| 135187 | |
| 135188 | /* Convert TK_COLUMN nodes into TK_AGG_COLUMN and make entries in |
| 135189 | ** sAggInfo for all TK_AGG_FUNCTION nodes in expressions of the |
| 135190 | ** SELECT statement. |
| 135191 | */ |
| 135192 | memset(&sNC, 0, sizeof(sNC)); |
| 135193 | sNC.pParse = pParse; |
| 135194 | sNC.pSrcList = pTabList; |
| 135195 | sNC.uNC.pAggInfo = &sAggInfo; |
| 135196 | VVA_ONLY( sNC.ncFlags = NC_UAggInfo; ) |
| 135197 | sAggInfo.mnReg = pParse->nMem+1; |
| 135198 | sAggInfo.nSortingColumn = pGroupBy ? pGroupBy->nExpr : 0; |
| 135199 | sAggInfo.pGroupBy = pGroupBy; |
| 135200 | sqlite3ExprAnalyzeAggList(&sNC, pEList); |
| 135201 | sqlite3ExprAnalyzeAggList(&sNC, sSort.pOrderBy); |
| 135202 | if( pHaving ){ |
| 135203 | if( pGroupBy ){ |
| 135204 | assert( pWhere==p->pWhere ); |
| @@ -135207,18 +135357,18 @@ | |
| 135207 | havingToWhere(pParse, p); |
| 135208 | pWhere = p->pWhere; |
| 135209 | } |
| 135210 | sqlite3ExprAnalyzeAggregates(&sNC, pHaving); |
| 135211 | } |
| 135212 | sAggInfo.nAccumulator = sAggInfo.nColumn; |
| 135213 | if( p->pGroupBy==0 && p->pHaving==0 && sAggInfo.nFunc==1 ){ |
| 135214 | minMaxFlag = minMaxQuery(db, sAggInfo.aFunc[0].pExpr, &pMinMaxOrderBy); |
| 135215 | }else{ |
| 135216 | minMaxFlag = WHERE_ORDERBY_NORMAL; |
| 135217 | } |
| 135218 | for(i=0; i<sAggInfo.nFunc; i++){ |
| 135219 | Expr *pExpr = sAggInfo.aFunc[i].pExpr; |
| 135220 | assert( !ExprHasProperty(pExpr, EP_xIsSelect) ); |
| 135221 | sNC.ncFlags |= NC_InAggFunc; |
| 135222 | sqlite3ExprAnalyzeAggList(&sNC, pExpr->x.pList); |
| 135223 | #ifndef SQLITE_OMIT_WINDOWFUNC |
| 135224 | assert( !IsWindowFunc(pExpr) ); |
| @@ -135226,26 +135376,26 @@ | |
| 135226 | sqlite3ExprAnalyzeAggregates(&sNC, pExpr->y.pWin->pFilter); |
| 135227 | } |
| 135228 | #endif |
| 135229 | sNC.ncFlags &= ~NC_InAggFunc; |
| 135230 | } |
| 135231 | sAggInfo.mxReg = pParse->nMem; |
| 135232 | if( db->mallocFailed ) goto select_end; |
| 135233 | #if SELECTTRACE_ENABLED |
| 135234 | if( sqlite3SelectTrace & 0x400 ){ |
| 135235 | int ii; |
| 135236 | SELECTTRACE(0x400,pParse,p,("After aggregate analysis %p:\n", &sAggInfo)); |
| 135237 | sqlite3TreeViewSelect(0, p, 0); |
| 135238 | for(ii=0; ii<sAggInfo.nColumn; ii++){ |
| 135239 | sqlite3DebugPrintf("agg-column[%d] iMem=%d\n", |
| 135240 | ii, sAggInfo.aCol[ii].iMem); |
| 135241 | sqlite3TreeViewExpr(0, sAggInfo.aCol[ii].pExpr, 0); |
| 135242 | } |
| 135243 | for(ii=0; ii<sAggInfo.nFunc; ii++){ |
| 135244 | sqlite3DebugPrintf("agg-func[%d]: iMem=%d\n", |
| 135245 | ii, sAggInfo.aFunc[ii].iMem); |
| 135246 | sqlite3TreeViewExpr(0, sAggInfo.aFunc[ii].pExpr, 0); |
| 135247 | } |
| 135248 | } |
| 135249 | #endif |
| 135250 | |
| 135251 | |
| @@ -135266,14 +135416,15 @@ | |
| 135266 | /* If there is a GROUP BY clause we might need a sorting index to |
| 135267 | ** implement it. Allocate that sorting index now. If it turns out |
| 135268 | ** that we do not need it after all, the OP_SorterOpen instruction |
| 135269 | ** will be converted into a Noop. |
| 135270 | */ |
| 135271 | sAggInfo.sortingIdx = pParse->nTab++; |
| 135272 | pKeyInfo = sqlite3KeyInfoFromExprList(pParse,pGroupBy,0,sAggInfo.nColumn); |
| 135273 | addrSortingIdx = sqlite3VdbeAddOp4(v, OP_SorterOpen, |
| 135274 | sAggInfo.sortingIdx, sAggInfo.nSortingColumn, |
| 135275 | 0, (char*)pKeyInfo, P4_KEYINFO); |
| 135276 | |
| 135277 | /* Initialize memory locations used by GROUP BY aggregate processing |
| 135278 | */ |
| 135279 | iUseFlag = ++pParse->nMem; |
| @@ -135324,40 +135475,40 @@ | |
| 135324 | |
| 135325 | groupBySort = 1; |
| 135326 | nGroupBy = pGroupBy->nExpr; |
| 135327 | nCol = nGroupBy; |
| 135328 | j = nGroupBy; |
| 135329 | for(i=0; i<sAggInfo.nColumn; i++){ |
| 135330 | if( sAggInfo.aCol[i].iSorterColumn>=j ){ |
| 135331 | nCol++; |
| 135332 | j++; |
| 135333 | } |
| 135334 | } |
| 135335 | regBase = sqlite3GetTempRange(pParse, nCol); |
| 135336 | sqlite3ExprCodeExprList(pParse, pGroupBy, regBase, 0, 0); |
| 135337 | j = nGroupBy; |
| 135338 | for(i=0; i<sAggInfo.nColumn; i++){ |
| 135339 | struct AggInfo_col *pCol = &sAggInfo.aCol[i]; |
| 135340 | if( pCol->iSorterColumn>=j ){ |
| 135341 | int r1 = j + regBase; |
| 135342 | sqlite3ExprCodeGetColumnOfTable(v, |
| 135343 | pCol->pTab, pCol->iTable, pCol->iColumn, r1); |
| 135344 | j++; |
| 135345 | } |
| 135346 | } |
| 135347 | regRecord = sqlite3GetTempReg(pParse); |
| 135348 | sqlite3VdbeAddOp3(v, OP_MakeRecord, regBase, nCol, regRecord); |
| 135349 | sqlite3VdbeAddOp2(v, OP_SorterInsert, sAggInfo.sortingIdx, regRecord); |
| 135350 | sqlite3ReleaseTempReg(pParse, regRecord); |
| 135351 | sqlite3ReleaseTempRange(pParse, regBase, nCol); |
| 135352 | sqlite3WhereEnd(pWInfo); |
| 135353 | sAggInfo.sortingIdxPTab = sortPTab = pParse->nTab++; |
| 135354 | sortOut = sqlite3GetTempReg(pParse); |
| 135355 | sqlite3VdbeAddOp3(v, OP_OpenPseudo, sortPTab, sortOut, nCol); |
| 135356 | sqlite3VdbeAddOp2(v, OP_SorterSort, sAggInfo.sortingIdx, addrEnd); |
| 135357 | VdbeComment((v, "GROUP BY sort")); VdbeCoverage(v); |
| 135358 | sAggInfo.useSortingIdx = 1; |
| 135359 | } |
| 135360 | |
| 135361 | /* If the index or temporary table used by the GROUP BY sort |
| 135362 | ** will naturally deliver rows in the order required by the ORDER BY |
| 135363 | ** clause, cancel the ephemeral table open coded earlier. |
| @@ -135377,18 +135528,18 @@ | |
| 135377 | ** Then compare the current GROUP BY terms against the GROUP BY terms |
| 135378 | ** from the previous row currently stored in a0, a1, a2... |
| 135379 | */ |
| 135380 | addrTopOfLoop = sqlite3VdbeCurrentAddr(v); |
| 135381 | if( groupBySort ){ |
| 135382 | sqlite3VdbeAddOp3(v, OP_SorterData, sAggInfo.sortingIdx, |
| 135383 | sortOut, sortPTab); |
| 135384 | } |
| 135385 | for(j=0; j<pGroupBy->nExpr; j++){ |
| 135386 | if( groupBySort ){ |
| 135387 | sqlite3VdbeAddOp3(v, OP_Column, sortPTab, j, iBMem+j); |
| 135388 | }else{ |
| 135389 | sAggInfo.directMode = 1; |
| 135390 | sqlite3ExprCode(pParse, pGroupBy->a[j].pExpr, iBMem+j); |
| 135391 | } |
| 135392 | } |
| 135393 | sqlite3VdbeAddOp4(v, OP_Compare, iAMem, iBMem, pGroupBy->nExpr, |
| 135394 | (char*)sqlite3KeyInfoRef(pKeyInfo), P4_KEYINFO); |
| @@ -135414,18 +135565,18 @@ | |
| 135414 | |
| 135415 | /* Update the aggregate accumulators based on the content of |
| 135416 | ** the current row |
| 135417 | */ |
| 135418 | sqlite3VdbeJumpHere(v, addr1); |
| 135419 | updateAccumulator(pParse, iUseFlag, &sAggInfo); |
| 135420 | sqlite3VdbeAddOp2(v, OP_Integer, 1, iUseFlag); |
| 135421 | VdbeComment((v, "indicate data in accumulator")); |
| 135422 | |
| 135423 | /* End of the loop |
| 135424 | */ |
| 135425 | if( groupBySort ){ |
| 135426 | sqlite3VdbeAddOp2(v, OP_SorterNext, sAggInfo.sortingIdx, addrTopOfLoop); |
| 135427 | VdbeCoverage(v); |
| 135428 | }else{ |
| 135429 | sqlite3WhereEnd(pWInfo); |
| 135430 | sqlite3VdbeChangeToNoop(v, addrSortingIdx); |
| 135431 | } |
| @@ -135454,11 +135605,11 @@ | |
| 135454 | addrOutputRow = sqlite3VdbeCurrentAddr(v); |
| 135455 | sqlite3VdbeAddOp2(v, OP_IfPos, iUseFlag, addrOutputRow+2); |
| 135456 | VdbeCoverage(v); |
| 135457 | VdbeComment((v, "Groupby result generator entry point")); |
| 135458 | sqlite3VdbeAddOp1(v, OP_Return, regOutputRow); |
| 135459 | finalizeAggFunctions(pParse, &sAggInfo); |
| 135460 | sqlite3ExprIfFalse(pParse, pHaving, addrOutputRow+1, SQLITE_JUMPIFNULL); |
| 135461 | selectInnerLoop(pParse, p, -1, &sSort, |
| 135462 | &sDistinct, pDest, |
| 135463 | addrOutputRow+1, addrSetAbort); |
| 135464 | sqlite3VdbeAddOp1(v, OP_Return, regOutputRow); |
| @@ -135465,19 +135616,19 @@ | |
| 135465 | VdbeComment((v, "end groupby result generator")); |
| 135466 | |
| 135467 | /* Generate a subroutine that will reset the group-by accumulator |
| 135468 | */ |
| 135469 | sqlite3VdbeResolveLabel(v, addrReset); |
| 135470 | resetAccumulator(pParse, &sAggInfo); |
| 135471 | sqlite3VdbeAddOp2(v, OP_Integer, 0, iUseFlag); |
| 135472 | VdbeComment((v, "indicate accumulator empty")); |
| 135473 | sqlite3VdbeAddOp1(v, OP_Return, regReset); |
| 135474 | |
| 135475 | } /* endif pGroupBy. Begin aggregate queries without GROUP BY: */ |
| 135476 | else { |
| 135477 | Table *pTab; |
| 135478 | if( (pTab = isSimpleCount(p, &sAggInfo))!=0 ){ |
| 135479 | /* If isSimpleCount() returns a pointer to a Table structure, then |
| 135480 | ** the SQL statement is of the form: |
| 135481 | ** |
| 135482 | ** SELECT count(*) FROM <tbl> |
| 135483 | ** |
| @@ -135528,11 +135679,11 @@ | |
| 135528 | /* Open a read-only cursor, execute the OP_Count, close the cursor. */ |
| 135529 | sqlite3VdbeAddOp4Int(v, OP_OpenRead, iCsr, iRoot, iDb, 1); |
| 135530 | if( pKeyInfo ){ |
| 135531 | sqlite3VdbeChangeP4(v, -1, (char *)pKeyInfo, P4_KEYINFO); |
| 135532 | } |
| 135533 | sqlite3VdbeAddOp2(v, OP_Count, iCsr, sAggInfo.aFunc[0].iMem); |
| 135534 | sqlite3VdbeAddOp1(v, OP_Close, iCsr); |
| 135535 | explainSimpleCount(pParse, pTab, pBest); |
| 135536 | }else{ |
| 135537 | int regAcc = 0; /* "populate accumulators" flag */ |
| 135538 | |
| @@ -135543,16 +135694,20 @@ | |
| 135543 | ** that the accumulator registers are (a) updated only once if |
| 135544 | ** there are no min() or max functions or (b) always updated for the |
| 135545 | ** first row visited by the aggregate, so that they are updated at |
| 135546 | ** least once even if the FILTER clause means the min() or max() |
| 135547 | ** function visits zero rows. */ |
| 135548 | if( sAggInfo.nAccumulator ){ |
| 135549 | for(i=0; i<sAggInfo.nFunc; i++){ |
| 135550 | if( ExprHasProperty(sAggInfo.aFunc[i].pExpr, EP_WinFunc) ) continue; |
| 135551 | if( sAggInfo.aFunc[i].pFunc->funcFlags&SQLITE_FUNC_NEEDCOLL ) break; |
| 135552 | } |
| 135553 | if( i==sAggInfo.nFunc ){ |
| 135554 | regAcc = ++pParse->nMem; |
| 135555 | sqlite3VdbeAddOp2(v, OP_Integer, 0, regAcc); |
| 135556 | } |
| 135557 | } |
| 135558 | |
| @@ -135559,11 +135714,11 @@ | |
| 135559 | /* This case runs if the aggregate has no GROUP BY clause. The |
| 135560 | ** processing is much simpler since there is only a single row |
| 135561 | ** of output. |
| 135562 | */ |
| 135563 | assert( p->pGroupBy==0 ); |
| 135564 | resetAccumulator(pParse, &sAggInfo); |
| 135565 | |
| 135566 | /* If this query is a candidate for the min/max optimization, then |
| 135567 | ** minMaxFlag will have been previously set to either |
| 135568 | ** WHERE_ORDERBY_MIN or WHERE_ORDERBY_MAX and pMinMaxOrderBy will |
| 135569 | ** be an appropriate ORDER BY expression for the optimization. |
| @@ -135575,19 +135730,19 @@ | |
| 135575 | pWInfo = sqlite3WhereBegin(pParse, pTabList, pWhere, pMinMaxOrderBy, |
| 135576 | 0, minMaxFlag, 0); |
| 135577 | if( pWInfo==0 ){ |
| 135578 | goto select_end; |
| 135579 | } |
| 135580 | updateAccumulator(pParse, regAcc, &sAggInfo); |
| 135581 | if( regAcc ) sqlite3VdbeAddOp2(v, OP_Integer, 1, regAcc); |
| 135582 | if( sqlite3WhereIsOrdered(pWInfo)>0 ){ |
| 135583 | sqlite3VdbeGoto(v, sqlite3WhereBreakLabel(pWInfo)); |
| 135584 | VdbeComment((v, "%s() by index", |
| 135585 | (minMaxFlag==WHERE_ORDERBY_MIN?"min":"max"))); |
| 135586 | } |
| 135587 | sqlite3WhereEnd(pWInfo); |
| 135588 | finalizeAggFunctions(pParse, &sAggInfo); |
| 135589 | } |
| 135590 | |
| 135591 | sSort.pOrderBy = 0; |
| 135592 | sqlite3ExprIfFalse(pParse, pHaving, addrEnd, SQLITE_JUMPIFNULL); |
| 135593 | selectInnerLoop(pParse, p, -1, 0, 0, |
| @@ -135622,12 +135777,29 @@ | |
| 135622 | /* Control jumps to here if an error is encountered above, or upon |
| 135623 | ** successful coding of the SELECT. |
| 135624 | */ |
| 135625 | select_end: |
| 135626 | sqlite3ExprListDelete(db, pMinMaxOrderBy); |
| 135627 | sqlite3DbFree(db, sAggInfo.aCol); |
| 135628 | sqlite3DbFree(db, sAggInfo.aFunc); |
| 135629 | #if SELECTTRACE_ENABLED |
| 135630 | SELECTTRACE(0x1,pParse,p,("end processing\n")); |
| 135631 | if( (sqlite3SelectTrace & 0x2000)!=0 && ExplainQueryPlanParent(pParse)==0 ){ |
| 135632 | sqlite3TreeViewSelect(0, p, 0); |
| 135633 | } |
| @@ -147847,10 +148019,11 @@ | |
| 147847 | pNew->rSetup = 0; |
| 147848 | pNew->prereq = mPrereq; |
| 147849 | pNew->nOut = rSize; |
| 147850 | pNew->u.btree.pIndex = pProbe; |
| 147851 | b = indexMightHelpWithOrderBy(pBuilder, pProbe, pSrc->iCursor); |
| 147852 | /* The ONEPASS_DESIRED flags never occurs together with ORDER BY */ |
| 147853 | assert( (pWInfo->wctrlFlags & WHERE_ONEPASS_DESIRED)==0 || b==0 ); |
| 147854 | if( pProbe->idxType==SQLITE_IDXTYPE_IPK ){ |
| 147855 | /* Integer primary key index */ |
| 147856 | pNew->wsFlags = WHERE_IPK; |
| @@ -147876,10 +148049,11 @@ | |
| 147876 | |
| 147877 | /* Full scan via index */ |
| 147878 | if( b |
| 147879 | || !HasRowid(pTab) |
| 147880 | || pProbe->pPartIdxWhere!=0 |
| 147881 | || ( m==0 |
| 147882 | && pProbe->bUnordered==0 |
| 147883 | && (pProbe->szIdxRow<pTab->szTabRow) |
| 147884 | && (pWInfo->wctrlFlags & WHERE_ONEPASS_DESIRED)==0 |
| 147885 | && sqlite3GlobalConfig.bUseCis |
| @@ -151315,16 +151489,20 @@ | |
| 151315 | |
| 151316 | ExprList *pSublist = 0; /* Expression list for sub-query */ |
| 151317 | Window *pMWin = p->pWin; /* Master window object */ |
| 151318 | Window *pWin; /* Window object iterator */ |
| 151319 | Table *pTab; |
| 151320 | u32 selFlags = p->selFlags; |
| 151321 | |
| 151322 | pTab = sqlite3DbMallocZero(db, sizeof(Table)); |
| 151323 | if( pTab==0 ){ |
| 151324 | return sqlite3ErrorToParser(db, SQLITE_NOMEM); |
| 151325 | } |
| 151326 | |
| 151327 | p->pSrc = 0; |
| 151328 | p->pWhere = 0; |
| 151329 | p->pGroupBy = 0; |
| 151330 | p->pHaving = 0; |
| @@ -151401,11 +151579,10 @@ | |
| 151401 | pParse, pSublist, pSrc, pWhere, pGroupBy, pHaving, pSort, 0, 0 |
| 151402 | ); |
| 151403 | p->pSrc = sqlite3SrcListAppend(pParse, 0, 0, 0); |
| 151404 | if( p->pSrc ){ |
| 151405 | Table *pTab2; |
| 151406 | Walker w; |
| 151407 | p->pSrc->a[0].pSelect = pSub; |
| 151408 | sqlite3SrcListAssignCursors(pParse, p->pSrc); |
| 151409 | pSub->selFlags |= SF_Expanded; |
| 151410 | pTab2 = sqlite3ResultSetOfSelect(pParse, pSub, SQLITE_AFF_NONE); |
| 151411 | pSub->selFlags |= (selFlags & SF_Aggregate); |
| @@ -224820,11 +224997,11 @@ | |
| 224820 | int nArg, /* Number of args */ |
| 224821 | sqlite3_value **apUnused /* Function arguments */ |
| 224822 | ){ |
| 224823 | assert( nArg==0 ); |
| 224824 | UNUSED_PARAM2(nArg, apUnused); |
| 224825 | sqlite3_result_text(pCtx, "fts5: 2020-05-25 16:19:56 0c1fcf4711a2e66c813aed38cf41cd3e2123ee8eb6db98118086764c4ba83350", -1, SQLITE_TRANSIENT); |
| 224826 | } |
| 224827 | |
| 224828 | /* |
| 224829 | ** Return true if zName is the extension on one of the shadow tables used |
| 224830 | ** by this module. |
| @@ -229603,12 +229780,12 @@ | |
| 229603 | } |
| 229604 | #endif /* SQLITE_CORE */ |
| 229605 | #endif /* !defined(SQLITE_CORE) || defined(SQLITE_ENABLE_STMTVTAB) */ |
| 229606 | |
| 229607 | /************** End of stmt.c ************************************************/ |
| 229608 | #if __LINE__!=229608 |
| 229609 | #undef SQLITE_SOURCE_ID |
| 229610 | #define SQLITE_SOURCE_ID "2020-05-25 16:19:56 0c1fcf4711a2e66c813aed38cf41cd3e2123ee8eb6db98118086764c4ba8alt2" |
| 229611 | #endif |
| 229612 | /* Return the source-id for this library */ |
| 229613 | SQLITE_API const char *sqlite3_sourceid(void){ return SQLITE_SOURCE_ID; } |
| 229614 | /************************** End of sqlite3.c ******************************/ |
| 229615 |
| --- src/sqlite3.c | |
| +++ src/sqlite3.c | |
| @@ -1,8 +1,8 @@ | |
| 1 | /****************************************************************************** |
| 2 | ** This file is an amalgamation of many separate C source files from SQLite |
| 3 | ** version 3.33.0. By combining all the individual C code files into this |
| 4 | ** single large file, the entire code can be compiled as a single translation |
| 5 | ** unit. This allows many compilers to do optimizations that would not be |
| 6 | ** possible if the files were compiled separately. Performance improvements |
| 7 | ** of 5% or more are commonly seen when SQLite is compiled as a single |
| 8 | ** translation unit. |
| @@ -1160,13 +1160,13 @@ | |
| 1160 | ** |
| 1161 | ** See also: [sqlite3_libversion()], |
| 1162 | ** [sqlite3_libversion_number()], [sqlite3_sourceid()], |
| 1163 | ** [sqlite_version()] and [sqlite_source_id()]. |
| 1164 | */ |
| 1165 | #define SQLITE_VERSION "3.33.0" |
| 1166 | #define SQLITE_VERSION_NUMBER 3033000 |
| 1167 | #define SQLITE_SOURCE_ID "2020-06-08 11:34:40 6e6b3729e0549de028f6c5bf494b2d69d621c81b61a1dc0a329d3950039342fb" |
| 1168 | |
| 1169 | /* |
| 1170 | ** CAPI3REF: Run-Time Library Version Numbers |
| 1171 | ** KEYWORDS: sqlite3_version sqlite3_sourceid |
| 1172 | ** |
| @@ -13449,14 +13449,14 @@ | |
| 13449 | |
| 13450 | /* |
| 13451 | ** WAL mode depends on atomic aligned 32-bit loads and stores in a few |
| 13452 | ** places. The following macros try to make this explicit. |
| 13453 | */ |
| 13454 | #ifndef __has_extension |
| 13455 | # define __has_extension(x) 0 /* compatibility with non-clang compilers */ |
| 13456 | #endif |
| 13457 | #if GCC_VERSION>=4007000 || __has_extension(c_atomic) |
| 13458 | # define AtomicLoad(PTR) __atomic_load_n((PTR),__ATOMIC_RELAXED) |
| 13459 | # define AtomicStore(PTR,VAL) __atomic_store_n((PTR),(VAL),__ATOMIC_RELAXED) |
| 13460 | #else |
| 13461 | # define AtomicLoad(PTR) (*(PTR)) |
| 13462 | # define AtomicStore(PTR,VAL) (*(PTR) = (VAL)) |
| @@ -17861,15 +17861,15 @@ | |
| 17861 | int nSortingColumn; /* Number of columns in the sorting index */ |
| 17862 | int mnReg, mxReg; /* Range of registers allocated for aCol and aFunc */ |
| 17863 | ExprList *pGroupBy; /* The group by clause */ |
| 17864 | struct AggInfo_col { /* For each column used in source tables */ |
| 17865 | Table *pTab; /* Source table */ |
| 17866 | Expr *pExpr; /* The original expression */ |
| 17867 | int iTable; /* Cursor number of the source table */ |
| 17868 | int iMem; /* Memory location that acts as accumulator */ |
| 17869 | i16 iColumn; /* Column number within the source table */ |
| 17870 | i16 iSorterColumn; /* Column number in the sorting index */ |
| 17871 | } *aCol; |
| 17872 | int nColumn; /* Number of used entries in aCol[] */ |
| 17873 | int nAccumulator; /* Number of columns that show through to the output. |
| 17874 | ** Additional columns are used only as parameters to |
| 17875 | ** aggregate functions */ |
| @@ -17878,12 +17878,21 @@ | |
| 17878 | FuncDef *pFunc; /* The aggregate function implementation */ |
| 17879 | int iMem; /* Memory location that acts as accumulator */ |
| 17880 | int iDistinct; /* Ephemeral table used to enforce DISTINCT */ |
| 17881 | } *aFunc; |
| 17882 | int nFunc; /* Number of entries in aFunc[] */ |
| 17883 | #ifdef SQLITE_DEBUG |
| 17884 | int iAggMagic; /* Magic number when valid */ |
| 17885 | #endif |
| 17886 | AggInfo *pNext; /* Next in list of them all */ |
| 17887 | }; |
| 17888 | |
| 17889 | /* |
| 17890 | ** Value for AggInfo.iAggMagic when the structure is valid |
| 17891 | */ |
| 17892 | #define AggInfoMagic 0x2059e99e |
| 17893 | |
| 17894 | /* |
| 17895 | ** The datatype ynVar is a signed integer, either 16-bit or 32-bit. |
| 17896 | ** Usually it is 16-bits. But if SQLITE_MAX_VARIABLE_NUMBER is greater |
| 17897 | ** than 32767 we have to make it 32-bit. 16-bit is preferred because |
| 17898 | ** it uses less memory in the Expr object, which is a big memory user |
| @@ -18676,10 +18685,11 @@ | |
| 18685 | #endif |
| 18686 | AutoincInfo *pAinc; /* Information about AUTOINCREMENT counters */ |
| 18687 | Parse *pToplevel; /* Parse structure for main program (or NULL) */ |
| 18688 | Table *pTriggerTab; /* Table triggers are being coded for */ |
| 18689 | Parse *pParentParse; /* Parent parser if this parser is nested */ |
| 18690 | AggInfo *pAggList; /* List of all AggInfo objects */ |
| 18691 | int addrCrTab; /* Address of OP_CreateBtree opcode on CREATE TABLE */ |
| 18692 | u32 nQueryLoop; /* Est number of iterations of a query (10*log2(N)) */ |
| 18693 | u32 oldmask; /* Mask of old.* columns referenced */ |
| 18694 | u32 newmask; /* Mask of new.* columns referenced */ |
| 18695 | u8 eTriggerOp; /* TK_UPDATE, TK_INSERT or TK_DELETE */ |
| @@ -19642,10 +19652,11 @@ | |
| 19652 | SQLITE_PRIVATE int sqlite3ExprCompare(Parse*,Expr*, Expr*, int); |
| 19653 | SQLITE_PRIVATE int sqlite3ExprCompareSkip(Expr*, Expr*, int); |
| 19654 | SQLITE_PRIVATE int sqlite3ExprListCompare(ExprList*, ExprList*, int); |
| 19655 | SQLITE_PRIVATE int sqlite3ExprImpliesExpr(Parse*,Expr*, Expr*, int); |
| 19656 | SQLITE_PRIVATE int sqlite3ExprImpliesNonNullRow(Expr*,int); |
| 19657 | SQLITE_PRIVATE void sqlite3AggInfoPersistWalkerInit(Walker*,Parse*); |
| 19658 | SQLITE_PRIVATE void sqlite3ExprAnalyzeAggregates(NameContext*, Expr*); |
| 19659 | SQLITE_PRIVATE void sqlite3ExprAnalyzeAggList(NameContext*,ExprList*); |
| 19660 | SQLITE_PRIVATE int sqlite3ExprCoveredByIndex(Expr*, int iCur, Index *pIdx); |
| 19661 | SQLITE_PRIVATE int sqlite3FunctionUsesThisSrc(Expr*, SrcList*); |
| 19662 | SQLITE_PRIVATE Vdbe *sqlite3GetVdbe(Parse*); |
| @@ -30013,11 +30024,11 @@ | |
| 30024 | sqlite3TreeViewLine(pView, "EXISTS-expr flags=0x%x", pExpr->flags); |
| 30025 | sqlite3TreeViewSelect(pView, pExpr->x.pSelect, 0); |
| 30026 | break; |
| 30027 | } |
| 30028 | case TK_SELECT: { |
| 30029 | sqlite3TreeViewLine(pView, "subquery-expr flags=0x%x", pExpr->flags); |
| 30030 | sqlite3TreeViewSelect(pView, pExpr->x.pSelect, 0); |
| 30031 | break; |
| 30032 | } |
| 30033 | case TK_IN: { |
| 30034 | sqlite3TreeViewLine(pView, "IN flags=0x%x", pExpr->flags); |
| @@ -30932,13 +30943,13 @@ | |
| 30943 | pMem->n = (int)(z - zOut); |
| 30944 | } |
| 30945 | *z = 0; |
| 30946 | assert( (pMem->n+(desiredEnc==SQLITE_UTF8?1:2))<=len ); |
| 30947 | |
| 30948 | c = MEM_Str|MEM_Term|(pMem->flags&(MEM_AffMask|MEM_Subtype)); |
| 30949 | sqlite3VdbeMemRelease(pMem); |
| 30950 | pMem->flags = c; |
| 30951 | pMem->enc = desiredEnc; |
| 30952 | pMem->z = (char*)zOut; |
| 30953 | pMem->zMalloc = pMem->z; |
| 30954 | pMem->szMalloc = sqlite3DbMallocSize(pMem->db, pMem->z); |
| 30955 | |
| @@ -38285,11 +38296,14 @@ | |
| 38296 | ** 2. Write lock (ofst==0). |
| 38297 | ** 3. Read locks (ofst>=3 && ofst<SQLITE_SHM_NLOCK). |
| 38298 | ** |
| 38299 | ** In other words, if this is a blocking lock, none of the locks that |
| 38300 | ** occur later in the above list than the lock being obtained may be |
| 38301 | ** held. |
| 38302 | ** |
| 38303 | ** It is not permitted to block on the RECOVER lock. |
| 38304 | */ |
| 38305 | #ifdef SQLITE_ENABLE_SETLK_TIMEOUT |
| 38306 | assert( (flags & SQLITE_SHM_UNLOCK) || pDbFd->iBusyTimeout==0 || ( |
| 38307 | (ofst!=2) /* not RECOVER */ |
| 38308 | && (ofst!=1 || (p->exclMask|p->sharedMask)==0) |
| 38309 | && (ofst!=0 || (p->exclMask|p->sharedMask)<3) |
| @@ -60401,11 +60415,11 @@ | |
| 60415 | nCollide = idx; |
| 60416 | for(iKey=walHash(iPage); sLoc.aHash[iKey]; iKey=walNextHash(iKey)){ |
| 60417 | if( (nCollide--)==0 ) return SQLITE_CORRUPT_BKPT; |
| 60418 | } |
| 60419 | sLoc.aPgno[idx] = iPage; |
| 60420 | AtomicStore(&sLoc.aHash[iKey], (ht_slot)idx); |
| 60421 | |
| 60422 | #ifdef SQLITE_ENABLE_EXPENSIVE_ASSERT |
| 60423 | /* Verify that the number of entries in the hash table exactly equals |
| 60424 | ** the number of entries in the mapping region. |
| 60425 | */ |
| @@ -80835,11 +80849,15 @@ | |
| 80849 | ** if the VDBE has just been set to run but has not actually executed any |
| 80850 | ** instructions yet, leave the main database error information unchanged. |
| 80851 | */ |
| 80852 | if( p->pc>=0 ){ |
| 80853 | vdbeInvokeSqllog(p); |
| 80854 | if( db->pErr || p->zErrMsg ){ |
| 80855 | sqlite3VdbeTransferError(p); |
| 80856 | }else{ |
| 80857 | db->errCode = p->rc; |
| 80858 | } |
| 80859 | if( p->runOnlyOnce ) p->expired = 1; |
| 80860 | }else if( p->rc && p->expired ){ |
| 80861 | /* The expired flag was set on the VDBE before the first call |
| 80862 | ** to sqlite3_step(). For consistency (since sqlite3_step() was |
| 80863 | ** called), set the database error in this case as well. |
| @@ -80855,12 +80873,14 @@ | |
| 80873 | if( p->apCsr ) for(i=0; i<p->nCursor; i++) assert( p->apCsr[i]==0 ); |
| 80874 | if( p->aMem ){ |
| 80875 | for(i=0; i<p->nMem; i++) assert( p->aMem[i].flags==MEM_Undefined ); |
| 80876 | } |
| 80877 | #endif |
| 80878 | if( p->zErrMsg ){ |
| 80879 | sqlite3DbFree(db, p->zErrMsg); |
| 80880 | p->zErrMsg = 0; |
| 80881 | } |
| 80882 | p->pResultSet = 0; |
| 80883 | #ifdef SQLITE_DEBUG |
| 80884 | p->nWrite = 0; |
| 80885 | #endif |
| 80886 | |
| @@ -85818,10 +85838,12 @@ | |
| 85838 | /* This happens if a malloc() inside a call to sqlite3_column_text() or |
| 85839 | ** sqlite3_column_text16() failed. */ |
| 85840 | goto no_mem; |
| 85841 | } |
| 85842 | assert( p->rc==SQLITE_OK || (p->rc&0xff)==SQLITE_BUSY ); |
| 85843 | testcase( p->rc!=SQLITE_OK ); |
| 85844 | p->rc = SQLITE_OK; |
| 85845 | assert( p->bIsReader || p->readOnly!=0 ); |
| 85846 | p->iCurrentTime = 0; |
| 85847 | assert( p->explain==0 ); |
| 85848 | p->pResultSet = 0; |
| 85849 | db->busyHandler.nBusy = 0; |
| @@ -93131,13 +93153,11 @@ | |
| 93153 | /* Jump to here if the sqlite3_interrupt() API sets the interrupt |
| 93154 | ** flag. |
| 93155 | */ |
| 93156 | abort_due_to_interrupt: |
| 93157 | assert( AtomicLoad(&db->u1.isInterrupted) ); |
| 93158 | rc = SQLITE_INTERRUPT; |
| 93159 | goto abort_due_to_error; |
| 93160 | } |
| 93161 | |
| 93162 | |
| 93163 | /************** End of vdbe.c ************************************************/ |
| @@ -99532,11 +99552,16 @@ | |
| 99552 | assert( pExpr!=0 ); |
| 99553 | } |
| 99554 | op = pExpr->op; |
| 99555 | if( op==TK_SELECT ){ |
| 99556 | assert( pExpr->flags&EP_xIsSelect ); |
| 99557 | if( ALWAYS(pExpr->x.pSelect) |
| 99558 | && pExpr->x.pSelect->pEList |
| 99559 | && ALWAYS(pExpr->x.pSelect->pEList->a[0].pExpr) |
| 99560 | ){ |
| 99561 | return sqlite3ExprAffinity(pExpr->x.pSelect->pEList->a[0].pExpr); |
| 99562 | } |
| 99563 | } |
| 99564 | if( op==TK_REGISTER ) op = pExpr->op2; |
| 99565 | #ifndef SQLITE_OMIT_CAST |
| 99566 | if( op==TK_CAST ){ |
| 99567 | assert( !ExprHasProperty(pExpr, EP_IntValue) ); |
| @@ -102032,11 +102057,11 @@ | |
| 102057 | ** satisfy the query. This is preferable to generating a new |
| 102058 | ** ephemeral table. */ |
| 102059 | if( pParse->nErr==0 && (p = isCandidateForInOpt(pX))!=0 ){ |
| 102060 | sqlite3 *db = pParse->db; /* Database connection */ |
| 102061 | Table *pTab; /* Table <table>. */ |
| 102062 | int iDb; /* Database idx for pTab */ |
| 102063 | ExprList *pEList = p->pEList; |
| 102064 | int nExpr = pEList->nExpr; |
| 102065 | |
| 102066 | assert( p->pEList!=0 ); /* Because of isCandidateForInOpt(p) */ |
| 102067 | assert( p->pEList->a[0].pExpr!=0 ); /* Because of isCandidateForInOpt(p) */ |
| @@ -102043,10 +102068,11 @@ | |
| 102068 | assert( p->pSrc!=0 ); /* Because of isCandidateForInOpt(p) */ |
| 102069 | pTab = p->pSrc->a[0].pTab; |
| 102070 | |
| 102071 | /* Code an OP_Transaction and OP_TableLock for <table>. */ |
| 102072 | iDb = sqlite3SchemaToIndex(db, pTab->pSchema); |
| 102073 | assert( iDb>=0 && iDb<SQLITE_MAX_ATTACHED ); |
| 102074 | sqlite3CodeVerifySchema(pParse, iDb); |
| 102075 | sqlite3TableLock(pParse, iDb, pTab->tnum, 0, pTab->zName); |
| 102076 | |
| 102077 | assert(v); /* sqlite3GetVdbe() has always been previously called */ |
| 102078 | if( nExpr==1 && pEList->a[0].pExpr->iColumn<0 ){ |
| @@ -103276,14 +103302,11 @@ | |
| 103302 | int r1, r2; /* Various register numbers */ |
| 103303 | Expr tempX; /* Temporary expression node */ |
| 103304 | int p5 = 0; |
| 103305 | |
| 103306 | assert( target>0 && target<=pParse->nMem ); |
| 103307 | assert( v!=0 ); |
| 103308 | |
| 103309 | expr_code_doover: |
| 103310 | if( pExpr==0 ){ |
| 103311 | op = TK_NULL; |
| 103312 | }else{ |
| @@ -104109,13 +104132,14 @@ | |
| 104132 | SQLITE_PRIVATE void sqlite3ExprCode(Parse *pParse, Expr *pExpr, int target){ |
| 104133 | int inReg; |
| 104134 | |
| 104135 | assert( pExpr==0 || !ExprHasVVAProperty(pExpr,EP_Immutable) ); |
| 104136 | assert( target>0 && target<=pParse->nMem ); |
| 104137 | assert( pParse->pVdbe!=0 || pParse->db->mallocFailed ); |
| 104138 | if( pParse->pVdbe==0 ) return; |
| 104139 | inReg = sqlite3ExprCodeTarget(pParse, pExpr, target); |
| 104140 | if( inReg!=target ){ |
| 104141 | u8 op; |
| 104142 | if( ExprHasProperty(pExpr,EP_Subquery) ){ |
| 104143 | op = OP_Copy; |
| 104144 | }else{ |
| 104145 | op = OP_SCopy; |
| @@ -105189,10 +105213,68 @@ | |
| 105213 | sqlite3WalkExpr(&w, pExpr->y.pWin->pFilter); |
| 105214 | } |
| 105215 | #endif |
| 105216 | return cnt.nThis>0 || cnt.nOther==0; |
| 105217 | } |
| 105218 | |
| 105219 | /* |
| 105220 | ** This is a Walker expression node callback. |
| 105221 | ** |
| 105222 | ** For Expr nodes that contain pAggInfo pointers, make sure the AggInfo |
| 105223 | ** object that is referenced does not refer directly to the Expr. If |
| 105224 | ** it does, make a copy. This is done because the pExpr argument is |
| 105225 | ** subject to change. |
| 105226 | ** |
| 105227 | ** The copy is stored on pParse->pConstExpr with a register number of 0. |
| 105228 | ** This will cause the expression to be deleted automatically when the |
| 105229 | ** Parse object is destroyed, but the zero register number means that it |
| 105230 | ** will not generate any code in the preamble. |
| 105231 | */ |
| 105232 | static int agginfoPersistExprCb(Walker *pWalker, Expr *pExpr){ |
| 105233 | if( ALWAYS(!ExprHasProperty(pExpr, EP_TokenOnly|EP_Reduced)) |
| 105234 | && pExpr->pAggInfo!=0 |
| 105235 | ){ |
| 105236 | AggInfo *pAggInfo = pExpr->pAggInfo; |
| 105237 | int iAgg = pExpr->iAgg; |
| 105238 | Parse *pParse = pWalker->pParse; |
| 105239 | sqlite3 *db = pParse->db; |
| 105240 | assert( pExpr->op==TK_AGG_COLUMN || pExpr->op==TK_AGG_FUNCTION ); |
| 105241 | if( pExpr->op==TK_AGG_COLUMN ){ |
| 105242 | assert( iAgg>=0 && iAgg<pAggInfo->nColumn ); |
| 105243 | if( pAggInfo->aCol[iAgg].pExpr==pExpr ){ |
| 105244 | pExpr = sqlite3ExprDup(db, pExpr, 0); |
| 105245 | if( pExpr ){ |
| 105246 | pAggInfo->aCol[iAgg].pExpr = pExpr; |
| 105247 | pParse->pConstExpr = |
| 105248 | sqlite3ExprListAppend(pParse, pParse->pConstExpr, pExpr); |
| 105249 | } |
| 105250 | } |
| 105251 | }else{ |
| 105252 | assert( iAgg>=0 && iAgg<pAggInfo->nFunc ); |
| 105253 | if( pAggInfo->aFunc[iAgg].pExpr==pExpr ){ |
| 105254 | pExpr = sqlite3ExprDup(db, pExpr, 0); |
| 105255 | if( pExpr ){ |
| 105256 | pAggInfo->aFunc[iAgg].pExpr = pExpr; |
| 105257 | pParse->pConstExpr = |
| 105258 | sqlite3ExprListAppend(pParse, pParse->pConstExpr, pExpr); |
| 105259 | } |
| 105260 | } |
| 105261 | } |
| 105262 | } |
| 105263 | return WRC_Continue; |
| 105264 | } |
| 105265 | |
| 105266 | /* |
| 105267 | ** Initialize a Walker object so that will persist AggInfo entries referenced |
| 105268 | ** by the tree that is walked. |
| 105269 | */ |
| 105270 | SQLITE_PRIVATE void sqlite3AggInfoPersistWalkerInit(Walker *pWalker, Parse *pParse){ |
| 105271 | memset(pWalker, 0, sizeof(*pWalker)); |
| 105272 | pWalker->pParse = pParse; |
| 105273 | pWalker->xExprCallback = agginfoPersistExprCb; |
| 105274 | pWalker->xSelectCallback = sqlite3SelectWalkNoop; |
| 105275 | } |
| 105276 | |
| 105277 | /* |
| 105278 | ** Add a new element to the pAggInfo->aCol[] array. Return the index of |
| 105279 | ** the new element. Return a negative number if malloc fails. |
| 105280 | */ |
| @@ -105220,11 +105302,11 @@ | |
| 105302 | sizeof(pInfo->aFunc[0]), |
| 105303 | &pInfo->nFunc, |
| 105304 | &i |
| 105305 | ); |
| 105306 | return i; |
| 105307 | } |
| 105308 | |
| 105309 | /* |
| 105310 | ** This is the xExprCallback for a tree walker. It is used to |
| 105311 | ** implement sqlite3ExprAnalyzeAggregates(). See sqlite3ExprAnalyzeAggregates |
| 105312 | ** for additional information. |
| @@ -108177,10 +108259,34 @@ | |
| 108259 | assert( regOut!=regStat && regOut!=regStat+1 ); |
| 108260 | sqlite3VdbeAddFunctionCall(pParse, 0, regStat, regOut, 1+IsStat4, |
| 108261 | &statGetFuncdef, 0); |
| 108262 | } |
| 108263 | |
| 108264 | #ifdef SQLITE_ENABLE_EXPLAIN_COMMENTS |
| 108265 | /* Add a comment to the most recent VDBE opcode that is the name |
| 108266 | ** of the k-th column of the pIdx index. |
| 108267 | */ |
| 108268 | static void analyzeVdbeCommentIndexWithColumnName( |
| 108269 | Vdbe *v, /* Prepared statement under construction */ |
| 108270 | Index *pIdx, /* Index whose column is being loaded */ |
| 108271 | int k /* Which column index */ |
| 108272 | ){ |
| 108273 | int i; /* Index of column in the table */ |
| 108274 | assert( k>=0 && k<pIdx->nColumn ); |
| 108275 | i = pIdx->aiColumn[k]; |
| 108276 | if( NEVER(i==XN_ROWID) ){ |
| 108277 | VdbeComment((v,"%s.rowid",pIdx->zName)); |
| 108278 | }else if( i==XN_EXPR ){ |
| 108279 | VdbeComment((v,"%s.expr(%d)",pIdx->zName, k)); |
| 108280 | }else{ |
| 108281 | VdbeComment((v,"%s.%s", pIdx->zName, pIdx->pTable->aCol[i].zName)); |
| 108282 | } |
| 108283 | } |
| 108284 | #else |
| 108285 | # define analyzeVdbeCommentIndexWithColumnName(a,b,c) |
| 108286 | #endif /* SQLITE_DEBUG */ |
| 108287 | |
| 108288 | /* |
| 108289 | ** Generate code to do an analysis of all indices associated with |
| 108290 | ** a single table. |
| 108291 | */ |
| 108292 | static void analyzeOneTable( |
| @@ -108393,11 +108499,11 @@ | |
| 108499 | } |
| 108500 | for(i=0; i<nColTest; i++){ |
| 108501 | char *pColl = (char*)sqlite3LocateCollSeq(pParse, pIdx->azColl[i]); |
| 108502 | sqlite3VdbeAddOp2(v, OP_Integer, i, regChng); |
| 108503 | sqlite3VdbeAddOp3(v, OP_Column, iIdxCur, i, regTemp); |
| 108504 | analyzeVdbeCommentIndexWithColumnName(v,pIdx,i); |
| 108505 | aGotoChng[i] = |
| 108506 | sqlite3VdbeAddOp4(v, OP_Ne, regTemp, 0, regPrev+i, pColl, P4_COLLSEQ); |
| 108507 | sqlite3VdbeChangeP5(v, SQLITE_NULLEQ); |
| 108508 | VdbeCoverage(v); |
| 108509 | } |
| @@ -108414,11 +108520,11 @@ | |
| 108520 | */ |
| 108521 | sqlite3VdbeJumpHere(v, addrNextRow-1); |
| 108522 | for(i=0; i<nColTest; i++){ |
| 108523 | sqlite3VdbeJumpHere(v, aGotoChng[i]); |
| 108524 | sqlite3VdbeAddOp3(v, OP_Column, iIdxCur, i, regPrev+i); |
| 108525 | analyzeVdbeCommentIndexWithColumnName(v,pIdx,i); |
| 108526 | } |
| 108527 | sqlite3VdbeResolveLabel(v, endDistinctTest); |
| 108528 | sqlite3DbFree(db, aGotoChng); |
| 108529 | } |
| 108530 | |
| @@ -108440,11 +108546,11 @@ | |
| 108546 | regKey = sqlite3GetTempRange(pParse, pPk->nKeyCol); |
| 108547 | for(j=0; j<pPk->nKeyCol; j++){ |
| 108548 | k = sqlite3TableColumnToIndex(pIdx, pPk->aiColumn[j]); |
| 108549 | assert( k>=0 && k<pIdx->nColumn ); |
| 108550 | sqlite3VdbeAddOp3(v, OP_Column, iIdxCur, k, regKey+j); |
| 108551 | analyzeVdbeCommentIndexWithColumnName(v,pIdx,k); |
| 108552 | } |
| 108553 | sqlite3VdbeAddOp3(v, OP_MakeRecord, regKey, pPk->nKeyCol, regRowid); |
| 108554 | sqlite3ReleaseTempRange(pParse, regKey, pPk->nKeyCol); |
| 108555 | } |
| 108556 | } |
| @@ -110251,16 +110357,25 @@ | |
| 110357 | |
| 110358 | /* Initialize any AUTOINCREMENT data structures required. |
| 110359 | */ |
| 110360 | sqlite3AutoincrementBegin(pParse); |
| 110361 | |
| 110362 | /* Code constant expressions that where factored out of inner loops. |
| 110363 | ** |
| 110364 | ** The pConstExpr list might also contain expressions that we simply |
| 110365 | ** want to keep around until the Parse object is deleted. Such |
| 110366 | ** expressions have iConstExprReg==0. Do not generate code for |
| 110367 | ** those expressions, of course. |
| 110368 | */ |
| 110369 | if( pParse->pConstExpr ){ |
| 110370 | ExprList *pEL = pParse->pConstExpr; |
| 110371 | pParse->okConstFactor = 0; |
| 110372 | for(i=0; i<pEL->nExpr; i++){ |
| 110373 | int iReg = pEL->a[i].u.iConstExprReg; |
| 110374 | if( iReg>0 ){ |
| 110375 | sqlite3ExprCode(pParse, pEL->a[i].pExpr, iReg); |
| 110376 | } |
| 110377 | } |
| 110378 | } |
| 110379 | |
| 110380 | /* Finally, jump back to the beginning of the executable code. */ |
| 110381 | sqlite3VdbeGoto(v, 1); |
| @@ -114091,25 +114206,37 @@ | |
| 114206 | ** Apart from that, we have little to go on besides intuition as to |
| 114207 | ** how aiRowEst[] should be initialized. The numbers generated here |
| 114208 | ** are based on typical values found in actual indices. |
| 114209 | */ |
| 114210 | SQLITE_PRIVATE void sqlite3DefaultRowEst(Index *pIdx){ |
| 114211 | /* 10, 9, 8, 7, 6 */ |
| 114212 | static const LogEst aVal[] = { 33, 32, 30, 28, 26 }; |
| 114213 | LogEst *a = pIdx->aiRowLogEst; |
| 114214 | LogEst x; |
| 114215 | int nCopy = MIN(ArraySize(aVal), pIdx->nKeyCol); |
| 114216 | int i; |
| 114217 | |
| 114218 | /* Indexes with default row estimates should not have stat1 data */ |
| 114219 | assert( !pIdx->hasStat1 ); |
| 114220 | |
| 114221 | /* Set the first entry (number of rows in the index) to the estimated |
| 114222 | ** number of rows in the table, or half the number of rows in the table |
| 114223 | ** for a partial index. |
| 114224 | ** |
| 114225 | ** 2020-05-27: If some of the stat data is coming from the sqlite_stat1 |
| 114226 | ** table but other parts we are having to guess at, then do not let the |
| 114227 | ** estimated number of rows in the table be less than 1000 (LogEst 99). |
| 114228 | ** Failure to do this can cause the indexes for which we do not have |
| 114229 | ** stat1 data to be ignored by the query planner. tag-20200527-1 |
| 114230 | */ |
| 114231 | x = pIdx->pTable->nRowLogEst; |
| 114232 | assert( 99==sqlite3LogEst(1000) ); |
| 114233 | if( x<99 ){ |
| 114234 | pIdx->pTable->nRowLogEst = x = 99; |
| 114235 | } |
| 114236 | if( pIdx->pPartIdxWhere!=0 ) x -= 10; assert( 10==sqlite3LogEst(2) ); |
| 114237 | a[0] = x; |
| 114238 | |
| 114239 | /* Estimate that a[1] is 10, a[2] is 9, a[3] is 8, a[4] is 7, a[5] is |
| 114240 | ** 6 and each subsequent value (if any) is 5. */ |
| 114241 | memcpy(&a[1], aVal, nCopy*sizeof(LogEst)); |
| 114242 | for(i=nCopy+1; i<=pIdx->nKeyCol; i++){ |
| @@ -128405,21 +128532,22 @@ | |
| 128532 | ** |
| 128533 | ** If the same database is attached more than once, the first |
| 128534 | ** attached database is returned. |
| 128535 | */ |
| 128536 | SQLITE_PRIVATE int sqlite3SchemaToIndex(sqlite3 *db, Schema *pSchema){ |
| 128537 | int i = -32768; |
| 128538 | |
| 128539 | /* If pSchema is NULL, then return -32768. This happens when code in |
| 128540 | ** expr.c is trying to resolve a reference to a transient table (i.e. one |
| 128541 | ** created by a sub-select). In this case the return value of this |
| 128542 | ** function should never be used. |
| 128543 | ** |
| 128544 | ** We return -32768 instead of the more usual -1 simply because using |
| 128545 | ** -32768 as the incorrect index into db->aDb[] is much |
| 128546 | ** more likely to cause a segfault than -1 (of course there are assert() |
| 128547 | ** statements too, but it never hurts to play the odds) and |
| 128548 | ** -32768 will still fit into a 16-bit signed integer. |
| 128549 | */ |
| 128550 | assert( sqlite3_mutex_held(db->mutex) ); |
| 128551 | if( pSchema ){ |
| 128552 | for(i=0; 1; i++){ |
| 128553 | assert( i<db->nDb ); |
| @@ -128429,16 +128557,31 @@ | |
| 128557 | } |
| 128558 | assert( i>=0 && i<db->nDb ); |
| 128559 | } |
| 128560 | return i; |
| 128561 | } |
| 128562 | |
| 128563 | /* |
| 128564 | ** Deallocate a single AggInfo object |
| 128565 | */ |
| 128566 | static void agginfoFree(sqlite3 *db, AggInfo *p){ |
| 128567 | sqlite3DbFree(db, p->aCol); |
| 128568 | sqlite3DbFree(db, p->aFunc); |
| 128569 | sqlite3DbFree(db, p); |
| 128570 | } |
| 128571 | |
| 128572 | /* |
| 128573 | ** Free all memory allocations in the pParse object |
| 128574 | */ |
| 128575 | SQLITE_PRIVATE void sqlite3ParserReset(Parse *pParse){ |
| 128576 | sqlite3 *db = pParse->db; |
| 128577 | AggInfo *pThis = pParse->pAggList; |
| 128578 | while( pThis ){ |
| 128579 | AggInfo *pNext = pThis->pNext; |
| 128580 | agginfoFree(db, pThis); |
| 128581 | pThis = pNext; |
| 128582 | } |
| 128583 | sqlite3DbFree(db, pParse->aLabel); |
| 128584 | sqlite3ExprListDelete(db, pParse->pConstExpr); |
| 128585 | if( db ){ |
| 128586 | assert( db->lookaside.bDisable >= pParse->disableLookaside ); |
| 128587 | db->lookaside.bDisable -= pParse->disableLookaside; |
| @@ -128970,13 +129113,13 @@ | |
| 129113 | Expr *pHaving, /* the HAVING clause */ |
| 129114 | ExprList *pOrderBy, /* the ORDER BY clause */ |
| 129115 | u32 selFlags, /* Flag parameters, such as SF_Distinct */ |
| 129116 | Expr *pLimit /* LIMIT value. NULL means not used */ |
| 129117 | ){ |
| 129118 | Select *pNew, *pAllocated; |
| 129119 | Select standin; |
| 129120 | pAllocated = pNew = sqlite3DbMallocRawNN(pParse->db, sizeof(*pNew) ); |
| 129121 | if( pNew==0 ){ |
| 129122 | assert( pParse->db->mallocFailed ); |
| 129123 | pNew = &standin; |
| 129124 | } |
| 129125 | if( pEList==0 ){ |
| @@ -129006,16 +129149,15 @@ | |
| 129149 | pNew->pWin = 0; |
| 129150 | pNew->pWinDefn = 0; |
| 129151 | #endif |
| 129152 | if( pParse->db->mallocFailed ) { |
| 129153 | clearSelect(pParse->db, pNew, pNew!=&standin); |
| 129154 | pAllocated = 0; |
| 129155 | }else{ |
| 129156 | assert( pNew->pSrc!=0 || pParse->nErr>0 ); |
| 129157 | } |
| 129158 | return pAllocated; |
| 129159 | } |
| 129160 | |
| 129161 | |
| 129162 | /* |
| 129163 | ** Delete the given Select structure and all of its substructures. |
| @@ -132624,10 +132766,11 @@ | |
| 132766 | int isLeftJoin = 0; /* True if pSub is the right side of a LEFT JOIN */ |
| 132767 | int i; /* Loop counter */ |
| 132768 | Expr *pWhere; /* The WHERE clause */ |
| 132769 | struct SrcList_item *pSubitem; /* The subquery */ |
| 132770 | sqlite3 *db = pParse->db; |
| 132771 | Walker w; /* Walker to persist agginfo data */ |
| 132772 | |
| 132773 | /* Check to see if flattening is permitted. Return 0 if not. |
| 132774 | */ |
| 132775 | assert( p!=0 ); |
| 132776 | assert( p->pPrior==0 ); |
| @@ -132998,10 +133141,12 @@ | |
| 133141 | } |
| 133142 | |
| 133143 | /* Finially, delete what is left of the subquery and return |
| 133144 | ** success. |
| 133145 | */ |
| 133146 | sqlite3AggInfoPersistWalkerInit(&w, pParse); |
| 133147 | sqlite3WalkSelect(&w,pSub1); |
| 133148 | sqlite3SelectDelete(db, pSub1); |
| 133149 | |
| 133150 | #if SELECTTRACE_ENABLED |
| 133151 | if( sqlite3SelectTrace & 0x100 ){ |
| 133152 | SELECTTRACE(0x100,pParse,p,("After flattening:\n")); |
| @@ -134582,14 +134727,14 @@ | |
| 134727 | ExprList *pEList = 0; /* List of columns to extract. */ |
| 134728 | SrcList *pTabList; /* List of tables to select from */ |
| 134729 | Expr *pWhere; /* The WHERE clause. May be NULL */ |
| 134730 | ExprList *pGroupBy; /* The GROUP BY clause. May be NULL */ |
| 134731 | Expr *pHaving; /* The HAVING clause. May be NULL */ |
| 134732 | AggInfo *pAggInfo = 0; /* Aggregate information */ |
| 134733 | int rc = 1; /* Value to return from this function */ |
| 134734 | DistinctCtx sDistinct; /* Info on how to code the DISTINCT keyword */ |
| 134735 | SortCtx sSort; /* Info on how to code the ORDER BY clause */ |
| 134736 | int iEnd; /* Address of the end of the query */ |
| 134737 | sqlite3 *db; /* The database connection */ |
| 134738 | ExprList *pMinMaxOrderBy = 0; /* Added ORDER BY for min/max queries */ |
| 134739 | u8 minMaxFlag; /* Flag for min/max queries */ |
| 134740 | |
| @@ -134597,11 +134742,10 @@ | |
| 134742 | v = sqlite3GetVdbe(pParse); |
| 134743 | if( p==0 || db->mallocFailed || pParse->nErr ){ |
| 134744 | return 1; |
| 134745 | } |
| 134746 | if( sqlite3AuthCheck(pParse, SQLITE_SELECT, 0, 0, 0) ) return 1; |
| 134747 | #if SELECTTRACE_ENABLED |
| 134748 | SELECTTRACE(1,pParse,p, ("begin processing:\n", pParse->addrExplain)); |
| 134749 | if( sqlite3SelectTrace & 0x100 ){ |
| 134750 | sqlite3TreeViewSelect(0, p, 0); |
| 134751 | } |
| @@ -135187,18 +135331,24 @@ | |
| 135331 | |
| 135332 | /* Convert TK_COLUMN nodes into TK_AGG_COLUMN and make entries in |
| 135333 | ** sAggInfo for all TK_AGG_FUNCTION nodes in expressions of the |
| 135334 | ** SELECT statement. |
| 135335 | */ |
| 135336 | pAggInfo = sqlite3DbMallocZero(db, sizeof(*pAggInfo) ); |
| 135337 | if( pAggInfo==0 ){ |
| 135338 | goto select_end; |
| 135339 | } |
| 135340 | pAggInfo->pNext = pParse->pAggList; |
| 135341 | pParse->pAggList = pAggInfo; |
| 135342 | memset(&sNC, 0, sizeof(sNC)); |
| 135343 | sNC.pParse = pParse; |
| 135344 | sNC.pSrcList = pTabList; |
| 135345 | sNC.uNC.pAggInfo = pAggInfo; |
| 135346 | VVA_ONLY( sNC.ncFlags = NC_UAggInfo; ) |
| 135347 | pAggInfo->mnReg = pParse->nMem+1; |
| 135348 | pAggInfo->nSortingColumn = pGroupBy ? pGroupBy->nExpr : 0; |
| 135349 | pAggInfo->pGroupBy = pGroupBy; |
| 135350 | sqlite3ExprAnalyzeAggList(&sNC, pEList); |
| 135351 | sqlite3ExprAnalyzeAggList(&sNC, sSort.pOrderBy); |
| 135352 | if( pHaving ){ |
| 135353 | if( pGroupBy ){ |
| 135354 | assert( pWhere==p->pWhere ); |
| @@ -135207,18 +135357,18 @@ | |
| 135357 | havingToWhere(pParse, p); |
| 135358 | pWhere = p->pWhere; |
| 135359 | } |
| 135360 | sqlite3ExprAnalyzeAggregates(&sNC, pHaving); |
| 135361 | } |
| 135362 | pAggInfo->nAccumulator = pAggInfo->nColumn; |
| 135363 | if( p->pGroupBy==0 && p->pHaving==0 && pAggInfo->nFunc==1 ){ |
| 135364 | minMaxFlag = minMaxQuery(db, pAggInfo->aFunc[0].pExpr, &pMinMaxOrderBy); |
| 135365 | }else{ |
| 135366 | minMaxFlag = WHERE_ORDERBY_NORMAL; |
| 135367 | } |
| 135368 | for(i=0; i<pAggInfo->nFunc; i++){ |
| 135369 | Expr *pExpr = pAggInfo->aFunc[i].pExpr; |
| 135370 | assert( !ExprHasProperty(pExpr, EP_xIsSelect) ); |
| 135371 | sNC.ncFlags |= NC_InAggFunc; |
| 135372 | sqlite3ExprAnalyzeAggList(&sNC, pExpr->x.pList); |
| 135373 | #ifndef SQLITE_OMIT_WINDOWFUNC |
| 135374 | assert( !IsWindowFunc(pExpr) ); |
| @@ -135226,26 +135376,26 @@ | |
| 135376 | sqlite3ExprAnalyzeAggregates(&sNC, pExpr->y.pWin->pFilter); |
| 135377 | } |
| 135378 | #endif |
| 135379 | sNC.ncFlags &= ~NC_InAggFunc; |
| 135380 | } |
| 135381 | pAggInfo->mxReg = pParse->nMem; |
| 135382 | if( db->mallocFailed ) goto select_end; |
| 135383 | #if SELECTTRACE_ENABLED |
| 135384 | if( sqlite3SelectTrace & 0x400 ){ |
| 135385 | int ii; |
| 135386 | SELECTTRACE(0x400,pParse,p,("After aggregate analysis %p:\n", pAggInfo)); |
| 135387 | sqlite3TreeViewSelect(0, p, 0); |
| 135388 | for(ii=0; ii<pAggInfo->nColumn; ii++){ |
| 135389 | sqlite3DebugPrintf("agg-column[%d] iMem=%d\n", |
| 135390 | ii, pAggInfo->aCol[ii].iMem); |
| 135391 | sqlite3TreeViewExpr(0, pAggInfo->aCol[ii].pExpr, 0); |
| 135392 | } |
| 135393 | for(ii=0; ii<pAggInfo->nFunc; ii++){ |
| 135394 | sqlite3DebugPrintf("agg-func[%d]: iMem=%d\n", |
| 135395 | ii, pAggInfo->aFunc[ii].iMem); |
| 135396 | sqlite3TreeViewExpr(0, pAggInfo->aFunc[ii].pExpr, 0); |
| 135397 | } |
| 135398 | } |
| 135399 | #endif |
| 135400 | |
| 135401 | |
| @@ -135266,14 +135416,15 @@ | |
| 135416 | /* If there is a GROUP BY clause we might need a sorting index to |
| 135417 | ** implement it. Allocate that sorting index now. If it turns out |
| 135418 | ** that we do not need it after all, the OP_SorterOpen instruction |
| 135419 | ** will be converted into a Noop. |
| 135420 | */ |
| 135421 | pAggInfo->sortingIdx = pParse->nTab++; |
| 135422 | pKeyInfo = sqlite3KeyInfoFromExprList(pParse, pGroupBy, |
| 135423 | 0, pAggInfo->nColumn); |
| 135424 | addrSortingIdx = sqlite3VdbeAddOp4(v, OP_SorterOpen, |
| 135425 | pAggInfo->sortingIdx, pAggInfo->nSortingColumn, |
| 135426 | 0, (char*)pKeyInfo, P4_KEYINFO); |
| 135427 | |
| 135428 | /* Initialize memory locations used by GROUP BY aggregate processing |
| 135429 | */ |
| 135430 | iUseFlag = ++pParse->nMem; |
| @@ -135324,40 +135475,40 @@ | |
| 135475 | |
| 135476 | groupBySort = 1; |
| 135477 | nGroupBy = pGroupBy->nExpr; |
| 135478 | nCol = nGroupBy; |
| 135479 | j = nGroupBy; |
| 135480 | for(i=0; i<pAggInfo->nColumn; i++){ |
| 135481 | if( pAggInfo->aCol[i].iSorterColumn>=j ){ |
| 135482 | nCol++; |
| 135483 | j++; |
| 135484 | } |
| 135485 | } |
| 135486 | regBase = sqlite3GetTempRange(pParse, nCol); |
| 135487 | sqlite3ExprCodeExprList(pParse, pGroupBy, regBase, 0, 0); |
| 135488 | j = nGroupBy; |
| 135489 | for(i=0; i<pAggInfo->nColumn; i++){ |
| 135490 | struct AggInfo_col *pCol = &pAggInfo->aCol[i]; |
| 135491 | if( pCol->iSorterColumn>=j ){ |
| 135492 | int r1 = j + regBase; |
| 135493 | sqlite3ExprCodeGetColumnOfTable(v, |
| 135494 | pCol->pTab, pCol->iTable, pCol->iColumn, r1); |
| 135495 | j++; |
| 135496 | } |
| 135497 | } |
| 135498 | regRecord = sqlite3GetTempReg(pParse); |
| 135499 | sqlite3VdbeAddOp3(v, OP_MakeRecord, regBase, nCol, regRecord); |
| 135500 | sqlite3VdbeAddOp2(v, OP_SorterInsert, pAggInfo->sortingIdx, regRecord); |
| 135501 | sqlite3ReleaseTempReg(pParse, regRecord); |
| 135502 | sqlite3ReleaseTempRange(pParse, regBase, nCol); |
| 135503 | sqlite3WhereEnd(pWInfo); |
| 135504 | pAggInfo->sortingIdxPTab = sortPTab = pParse->nTab++; |
| 135505 | sortOut = sqlite3GetTempReg(pParse); |
| 135506 | sqlite3VdbeAddOp3(v, OP_OpenPseudo, sortPTab, sortOut, nCol); |
| 135507 | sqlite3VdbeAddOp2(v, OP_SorterSort, pAggInfo->sortingIdx, addrEnd); |
| 135508 | VdbeComment((v, "GROUP BY sort")); VdbeCoverage(v); |
| 135509 | pAggInfo->useSortingIdx = 1; |
| 135510 | } |
| 135511 | |
| 135512 | /* If the index or temporary table used by the GROUP BY sort |
| 135513 | ** will naturally deliver rows in the order required by the ORDER BY |
| 135514 | ** clause, cancel the ephemeral table open coded earlier. |
| @@ -135377,18 +135528,18 @@ | |
| 135528 | ** Then compare the current GROUP BY terms against the GROUP BY terms |
| 135529 | ** from the previous row currently stored in a0, a1, a2... |
| 135530 | */ |
| 135531 | addrTopOfLoop = sqlite3VdbeCurrentAddr(v); |
| 135532 | if( groupBySort ){ |
| 135533 | sqlite3VdbeAddOp3(v, OP_SorterData, pAggInfo->sortingIdx, |
| 135534 | sortOut, sortPTab); |
| 135535 | } |
| 135536 | for(j=0; j<pGroupBy->nExpr; j++){ |
| 135537 | if( groupBySort ){ |
| 135538 | sqlite3VdbeAddOp3(v, OP_Column, sortPTab, j, iBMem+j); |
| 135539 | }else{ |
| 135540 | pAggInfo->directMode = 1; |
| 135541 | sqlite3ExprCode(pParse, pGroupBy->a[j].pExpr, iBMem+j); |
| 135542 | } |
| 135543 | } |
| 135544 | sqlite3VdbeAddOp4(v, OP_Compare, iAMem, iBMem, pGroupBy->nExpr, |
| 135545 | (char*)sqlite3KeyInfoRef(pKeyInfo), P4_KEYINFO); |
| @@ -135414,18 +135565,18 @@ | |
| 135565 | |
| 135566 | /* Update the aggregate accumulators based on the content of |
| 135567 | ** the current row |
| 135568 | */ |
| 135569 | sqlite3VdbeJumpHere(v, addr1); |
| 135570 | updateAccumulator(pParse, iUseFlag, pAggInfo); |
| 135571 | sqlite3VdbeAddOp2(v, OP_Integer, 1, iUseFlag); |
| 135572 | VdbeComment((v, "indicate data in accumulator")); |
| 135573 | |
| 135574 | /* End of the loop |
| 135575 | */ |
| 135576 | if( groupBySort ){ |
| 135577 | sqlite3VdbeAddOp2(v, OP_SorterNext, pAggInfo->sortingIdx, addrTopOfLoop); |
| 135578 | VdbeCoverage(v); |
| 135579 | }else{ |
| 135580 | sqlite3WhereEnd(pWInfo); |
| 135581 | sqlite3VdbeChangeToNoop(v, addrSortingIdx); |
| 135582 | } |
| @@ -135454,11 +135605,11 @@ | |
| 135605 | addrOutputRow = sqlite3VdbeCurrentAddr(v); |
| 135606 | sqlite3VdbeAddOp2(v, OP_IfPos, iUseFlag, addrOutputRow+2); |
| 135607 | VdbeCoverage(v); |
| 135608 | VdbeComment((v, "Groupby result generator entry point")); |
| 135609 | sqlite3VdbeAddOp1(v, OP_Return, regOutputRow); |
| 135610 | finalizeAggFunctions(pParse, pAggInfo); |
| 135611 | sqlite3ExprIfFalse(pParse, pHaving, addrOutputRow+1, SQLITE_JUMPIFNULL); |
| 135612 | selectInnerLoop(pParse, p, -1, &sSort, |
| 135613 | &sDistinct, pDest, |
| 135614 | addrOutputRow+1, addrSetAbort); |
| 135615 | sqlite3VdbeAddOp1(v, OP_Return, regOutputRow); |
| @@ -135465,19 +135616,19 @@ | |
| 135616 | VdbeComment((v, "end groupby result generator")); |
| 135617 | |
| 135618 | /* Generate a subroutine that will reset the group-by accumulator |
| 135619 | */ |
| 135620 | sqlite3VdbeResolveLabel(v, addrReset); |
| 135621 | resetAccumulator(pParse, pAggInfo); |
| 135622 | sqlite3VdbeAddOp2(v, OP_Integer, 0, iUseFlag); |
| 135623 | VdbeComment((v, "indicate accumulator empty")); |
| 135624 | sqlite3VdbeAddOp1(v, OP_Return, regReset); |
| 135625 | |
| 135626 | } /* endif pGroupBy. Begin aggregate queries without GROUP BY: */ |
| 135627 | else { |
| 135628 | Table *pTab; |
| 135629 | if( (pTab = isSimpleCount(p, pAggInfo))!=0 ){ |
| 135630 | /* If isSimpleCount() returns a pointer to a Table structure, then |
| 135631 | ** the SQL statement is of the form: |
| 135632 | ** |
| 135633 | ** SELECT count(*) FROM <tbl> |
| 135634 | ** |
| @@ -135528,11 +135679,11 @@ | |
| 135679 | /* Open a read-only cursor, execute the OP_Count, close the cursor. */ |
| 135680 | sqlite3VdbeAddOp4Int(v, OP_OpenRead, iCsr, iRoot, iDb, 1); |
| 135681 | if( pKeyInfo ){ |
| 135682 | sqlite3VdbeChangeP4(v, -1, (char *)pKeyInfo, P4_KEYINFO); |
| 135683 | } |
| 135684 | sqlite3VdbeAddOp2(v, OP_Count, iCsr, pAggInfo->aFunc[0].iMem); |
| 135685 | sqlite3VdbeAddOp1(v, OP_Close, iCsr); |
| 135686 | explainSimpleCount(pParse, pTab, pBest); |
| 135687 | }else{ |
| 135688 | int regAcc = 0; /* "populate accumulators" flag */ |
| 135689 | |
| @@ -135543,16 +135694,20 @@ | |
| 135694 | ** that the accumulator registers are (a) updated only once if |
| 135695 | ** there are no min() or max functions or (b) always updated for the |
| 135696 | ** first row visited by the aggregate, so that they are updated at |
| 135697 | ** least once even if the FILTER clause means the min() or max() |
| 135698 | ** function visits zero rows. */ |
| 135699 | if( pAggInfo->nAccumulator ){ |
| 135700 | for(i=0; i<pAggInfo->nFunc; i++){ |
| 135701 | if( ExprHasProperty(pAggInfo->aFunc[i].pExpr, EP_WinFunc) ){ |
| 135702 | continue; |
| 135703 | } |
| 135704 | if( pAggInfo->aFunc[i].pFunc->funcFlags&SQLITE_FUNC_NEEDCOLL ){ |
| 135705 | break; |
| 135706 | } |
| 135707 | } |
| 135708 | if( i==pAggInfo->nFunc ){ |
| 135709 | regAcc = ++pParse->nMem; |
| 135710 | sqlite3VdbeAddOp2(v, OP_Integer, 0, regAcc); |
| 135711 | } |
| 135712 | } |
| 135713 | |
| @@ -135559,11 +135714,11 @@ | |
| 135714 | /* This case runs if the aggregate has no GROUP BY clause. The |
| 135715 | ** processing is much simpler since there is only a single row |
| 135716 | ** of output. |
| 135717 | */ |
| 135718 | assert( p->pGroupBy==0 ); |
| 135719 | resetAccumulator(pParse, pAggInfo); |
| 135720 | |
| 135721 | /* If this query is a candidate for the min/max optimization, then |
| 135722 | ** minMaxFlag will have been previously set to either |
| 135723 | ** WHERE_ORDERBY_MIN or WHERE_ORDERBY_MAX and pMinMaxOrderBy will |
| 135724 | ** be an appropriate ORDER BY expression for the optimization. |
| @@ -135575,19 +135730,19 @@ | |
| 135730 | pWInfo = sqlite3WhereBegin(pParse, pTabList, pWhere, pMinMaxOrderBy, |
| 135731 | 0, minMaxFlag, 0); |
| 135732 | if( pWInfo==0 ){ |
| 135733 | goto select_end; |
| 135734 | } |
| 135735 | updateAccumulator(pParse, regAcc, pAggInfo); |
| 135736 | if( regAcc ) sqlite3VdbeAddOp2(v, OP_Integer, 1, regAcc); |
| 135737 | if( sqlite3WhereIsOrdered(pWInfo)>0 ){ |
| 135738 | sqlite3VdbeGoto(v, sqlite3WhereBreakLabel(pWInfo)); |
| 135739 | VdbeComment((v, "%s() by index", |
| 135740 | (minMaxFlag==WHERE_ORDERBY_MIN?"min":"max"))); |
| 135741 | } |
| 135742 | sqlite3WhereEnd(pWInfo); |
| 135743 | finalizeAggFunctions(pParse, pAggInfo); |
| 135744 | } |
| 135745 | |
| 135746 | sSort.pOrderBy = 0; |
| 135747 | sqlite3ExprIfFalse(pParse, pHaving, addrEnd, SQLITE_JUMPIFNULL); |
| 135748 | selectInnerLoop(pParse, p, -1, 0, 0, |
| @@ -135622,12 +135777,29 @@ | |
| 135777 | /* Control jumps to here if an error is encountered above, or upon |
| 135778 | ** successful coding of the SELECT. |
| 135779 | */ |
| 135780 | select_end: |
| 135781 | sqlite3ExprListDelete(db, pMinMaxOrderBy); |
| 135782 | #ifdef SQLITE_DEBUG |
| 135783 | if( pAggInfo ){ |
| 135784 | for(i=0; i<pAggInfo->nColumn; i++){ |
| 135785 | Expr *pExpr = pAggInfo->aCol[i].pExpr; |
| 135786 | assert( pExpr!=0 || db->mallocFailed ); |
| 135787 | if( pExpr==0 ) continue; |
| 135788 | assert( pExpr->pAggInfo==pAggInfo ); |
| 135789 | assert( pExpr->iAgg==i ); |
| 135790 | } |
| 135791 | for(i=0; i<pAggInfo->nFunc; i++){ |
| 135792 | Expr *pExpr = pAggInfo->aFunc[i].pExpr; |
| 135793 | assert( pExpr!=0 || db->mallocFailed ); |
| 135794 | if( pExpr==0 ) continue; |
| 135795 | assert( pExpr->pAggInfo==pAggInfo ); |
| 135796 | assert( pExpr->iAgg==i ); |
| 135797 | } |
| 135798 | } |
| 135799 | #endif |
| 135800 | |
| 135801 | #if SELECTTRACE_ENABLED |
| 135802 | SELECTTRACE(0x1,pParse,p,("end processing\n")); |
| 135803 | if( (sqlite3SelectTrace & 0x2000)!=0 && ExplainQueryPlanParent(pParse)==0 ){ |
| 135804 | sqlite3TreeViewSelect(0, p, 0); |
| 135805 | } |
| @@ -147847,10 +148019,11 @@ | |
| 148019 | pNew->rSetup = 0; |
| 148020 | pNew->prereq = mPrereq; |
| 148021 | pNew->nOut = rSize; |
| 148022 | pNew->u.btree.pIndex = pProbe; |
| 148023 | b = indexMightHelpWithOrderBy(pBuilder, pProbe, pSrc->iCursor); |
| 148024 | |
| 148025 | /* The ONEPASS_DESIRED flags never occurs together with ORDER BY */ |
| 148026 | assert( (pWInfo->wctrlFlags & WHERE_ONEPASS_DESIRED)==0 || b==0 ); |
| 148027 | if( pProbe->idxType==SQLITE_IDXTYPE_IPK ){ |
| 148028 | /* Integer primary key index */ |
| 148029 | pNew->wsFlags = WHERE_IPK; |
| @@ -147876,10 +148049,11 @@ | |
| 148049 | |
| 148050 | /* Full scan via index */ |
| 148051 | if( b |
| 148052 | || !HasRowid(pTab) |
| 148053 | || pProbe->pPartIdxWhere!=0 |
| 148054 | || pSrc->fg.isIndexedBy |
| 148055 | || ( m==0 |
| 148056 | && pProbe->bUnordered==0 |
| 148057 | && (pProbe->szIdxRow<pTab->szTabRow) |
| 148058 | && (pWInfo->wctrlFlags & WHERE_ONEPASS_DESIRED)==0 |
| 148059 | && sqlite3GlobalConfig.bUseCis |
| @@ -151315,16 +151489,20 @@ | |
| 151489 | |
| 151490 | ExprList *pSublist = 0; /* Expression list for sub-query */ |
| 151491 | Window *pMWin = p->pWin; /* Master window object */ |
| 151492 | Window *pWin; /* Window object iterator */ |
| 151493 | Table *pTab; |
| 151494 | Walker w; |
| 151495 | |
| 151496 | u32 selFlags = p->selFlags; |
| 151497 | |
| 151498 | pTab = sqlite3DbMallocZero(db, sizeof(Table)); |
| 151499 | if( pTab==0 ){ |
| 151500 | return sqlite3ErrorToParser(db, SQLITE_NOMEM); |
| 151501 | } |
| 151502 | sqlite3AggInfoPersistWalkerInit(&w, pParse); |
| 151503 | sqlite3WalkSelect(&w, p); |
| 151504 | |
| 151505 | p->pSrc = 0; |
| 151506 | p->pWhere = 0; |
| 151507 | p->pGroupBy = 0; |
| 151508 | p->pHaving = 0; |
| @@ -151401,11 +151579,10 @@ | |
| 151579 | pParse, pSublist, pSrc, pWhere, pGroupBy, pHaving, pSort, 0, 0 |
| 151580 | ); |
| 151581 | p->pSrc = sqlite3SrcListAppend(pParse, 0, 0, 0); |
| 151582 | if( p->pSrc ){ |
| 151583 | Table *pTab2; |
| 151584 | p->pSrc->a[0].pSelect = pSub; |
| 151585 | sqlite3SrcListAssignCursors(pParse, p->pSrc); |
| 151586 | pSub->selFlags |= SF_Expanded; |
| 151587 | pTab2 = sqlite3ResultSetOfSelect(pParse, pSub, SQLITE_AFF_NONE); |
| 151588 | pSub->selFlags |= (selFlags & SF_Aggregate); |
| @@ -224820,11 +224997,11 @@ | |
| 224997 | int nArg, /* Number of args */ |
| 224998 | sqlite3_value **apUnused /* Function arguments */ |
| 224999 | ){ |
| 225000 | assert( nArg==0 ); |
| 225001 | UNUSED_PARAM2(nArg, apUnused); |
| 225002 | sqlite3_result_text(pCtx, "fts5: 2020-06-08 11:34:40 6e6b3729e0549de028f6c5bf494b2d69d621c81b61a1dc0a329d3950039342fb", -1, SQLITE_TRANSIENT); |
| 225003 | } |
| 225004 | |
| 225005 | /* |
| 225006 | ** Return true if zName is the extension on one of the shadow tables used |
| 225007 | ** by this module. |
| @@ -229603,12 +229780,12 @@ | |
| 229780 | } |
| 229781 | #endif /* SQLITE_CORE */ |
| 229782 | #endif /* !defined(SQLITE_CORE) || defined(SQLITE_ENABLE_STMTVTAB) */ |
| 229783 | |
| 229784 | /************** End of stmt.c ************************************************/ |
| 229785 | #if __LINE__!=229785 |
| 229786 | #undef SQLITE_SOURCE_ID |
| 229787 | #define SQLITE_SOURCE_ID "2020-06-08 11:34:40 6e6b3729e0549de028f6c5bf494b2d69d621c81b61a1dc0a329d39500393alt2" |
| 229788 | #endif |
| 229789 | /* Return the source-id for this library */ |
| 229790 | SQLITE_API const char *sqlite3_sourceid(void){ return SQLITE_SOURCE_ID; } |
| 229791 | /************************** End of sqlite3.c ******************************/ |
| 229792 |
+3
-3
| --- src/sqlite3.h | ||
| +++ src/sqlite3.h | ||
| @@ -121,13 +121,13 @@ | ||
| 121 | 121 | ** |
| 122 | 122 | ** See also: [sqlite3_libversion()], |
| 123 | 123 | ** [sqlite3_libversion_number()], [sqlite3_sourceid()], |
| 124 | 124 | ** [sqlite_version()] and [sqlite_source_id()]. |
| 125 | 125 | */ |
| 126 | -#define SQLITE_VERSION "3.32.1" | |
| 127 | -#define SQLITE_VERSION_NUMBER 3032001 | |
| 128 | -#define SQLITE_SOURCE_ID "2020-05-25 16:19:56 0c1fcf4711a2e66c813aed38cf41cd3e2123ee8eb6db98118086764c4ba83350" | |
| 126 | +#define SQLITE_VERSION "3.33.0" | |
| 127 | +#define SQLITE_VERSION_NUMBER 3033000 | |
| 128 | +#define SQLITE_SOURCE_ID "2020-06-08 11:34:40 6e6b3729e0549de028f6c5bf494b2d69d621c81b61a1dc0a329d3950039342fb" | |
| 129 | 129 | |
| 130 | 130 | /* |
| 131 | 131 | ** CAPI3REF: Run-Time Library Version Numbers |
| 132 | 132 | ** KEYWORDS: sqlite3_version sqlite3_sourceid |
| 133 | 133 | ** |
| 134 | 134 |
| --- src/sqlite3.h | |
| +++ src/sqlite3.h | |
| @@ -121,13 +121,13 @@ | |
| 121 | ** |
| 122 | ** See also: [sqlite3_libversion()], |
| 123 | ** [sqlite3_libversion_number()], [sqlite3_sourceid()], |
| 124 | ** [sqlite_version()] and [sqlite_source_id()]. |
| 125 | */ |
| 126 | #define SQLITE_VERSION "3.32.1" |
| 127 | #define SQLITE_VERSION_NUMBER 3032001 |
| 128 | #define SQLITE_SOURCE_ID "2020-05-25 16:19:56 0c1fcf4711a2e66c813aed38cf41cd3e2123ee8eb6db98118086764c4ba83350" |
| 129 | |
| 130 | /* |
| 131 | ** CAPI3REF: Run-Time Library Version Numbers |
| 132 | ** KEYWORDS: sqlite3_version sqlite3_sourceid |
| 133 | ** |
| 134 |
| --- src/sqlite3.h | |
| +++ src/sqlite3.h | |
| @@ -121,13 +121,13 @@ | |
| 121 | ** |
| 122 | ** See also: [sqlite3_libversion()], |
| 123 | ** [sqlite3_libversion_number()], [sqlite3_sourceid()], |
| 124 | ** [sqlite_version()] and [sqlite_source_id()]. |
| 125 | */ |
| 126 | #define SQLITE_VERSION "3.33.0" |
| 127 | #define SQLITE_VERSION_NUMBER 3033000 |
| 128 | #define SQLITE_SOURCE_ID "2020-06-08 11:34:40 6e6b3729e0549de028f6c5bf494b2d69d621c81b61a1dc0a329d3950039342fb" |
| 129 | |
| 130 | /* |
| 131 | ** CAPI3REF: Run-Time Library Version Numbers |
| 132 | ** KEYWORDS: sqlite3_version sqlite3_sourceid |
| 133 | ** |
| 134 |
-1
| --- src/style.c | ||
| +++ src/style.c | ||
| @@ -1607,11 +1607,10 @@ | ||
| 1607 | 1607 | ** a leading slash, and has %R/ prepended to it. |
| 1608 | 1608 | ** |
| 1609 | 1609 | ** Meaning that no follow-up call to pass a non-0 first argument |
| 1610 | 1610 | ** to close the tag. zSrc is ignored if the first argument is not |
| 1611 | 1611 | ** 0. |
| 1612 | -** | |
| 1613 | 1612 | */ |
| 1614 | 1613 | void style_emit_script_tag(int isCloser, const char * zSrc){ |
| 1615 | 1614 | if(0==isCloser){ |
| 1616 | 1615 | if(zSrc!=0 && zSrc[0]!=0){ |
| 1617 | 1616 | CX("<script src='%R/%T'></script>\n", zSrc); |
| 1618 | 1617 |
| --- src/style.c | |
| +++ src/style.c | |
| @@ -1607,11 +1607,10 @@ | |
| 1607 | ** a leading slash, and has %R/ prepended to it. |
| 1608 | ** |
| 1609 | ** Meaning that no follow-up call to pass a non-0 first argument |
| 1610 | ** to close the tag. zSrc is ignored if the first argument is not |
| 1611 | ** 0. |
| 1612 | ** |
| 1613 | */ |
| 1614 | void style_emit_script_tag(int isCloser, const char * zSrc){ |
| 1615 | if(0==isCloser){ |
| 1616 | if(zSrc!=0 && zSrc[0]!=0){ |
| 1617 | CX("<script src='%R/%T'></script>\n", zSrc); |
| 1618 |
| --- src/style.c | |
| +++ src/style.c | |
| @@ -1607,11 +1607,10 @@ | |
| 1607 | ** a leading slash, and has %R/ prepended to it. |
| 1608 | ** |
| 1609 | ** Meaning that no follow-up call to pass a non-0 first argument |
| 1610 | ** to close the tag. zSrc is ignored if the first argument is not |
| 1611 | ** 0. |
| 1612 | */ |
| 1613 | void style_emit_script_tag(int isCloser, const char * zSrc){ |
| 1614 | if(0==isCloser){ |
| 1615 | if(zSrc!=0 && zSrc[0]!=0){ |
| 1616 | CX("<script src='%R/%T'></script>\n", zSrc); |
| 1617 |
-1
| --- src/style.c | ||
| +++ src/style.c | ||
| @@ -1607,11 +1607,10 @@ | ||
| 1607 | 1607 | ** a leading slash, and has %R/ prepended to it. |
| 1608 | 1608 | ** |
| 1609 | 1609 | ** Meaning that no follow-up call to pass a non-0 first argument |
| 1610 | 1610 | ** to close the tag. zSrc is ignored if the first argument is not |
| 1611 | 1611 | ** 0. |
| 1612 | -** | |
| 1613 | 1612 | */ |
| 1614 | 1613 | void style_emit_script_tag(int isCloser, const char * zSrc){ |
| 1615 | 1614 | if(0==isCloser){ |
| 1616 | 1615 | if(zSrc!=0 && zSrc[0]!=0){ |
| 1617 | 1616 | CX("<script src='%R/%T'></script>\n", zSrc); |
| 1618 | 1617 |
| --- src/style.c | |
| +++ src/style.c | |
| @@ -1607,11 +1607,10 @@ | |
| 1607 | ** a leading slash, and has %R/ prepended to it. |
| 1608 | ** |
| 1609 | ** Meaning that no follow-up call to pass a non-0 first argument |
| 1610 | ** to close the tag. zSrc is ignored if the first argument is not |
| 1611 | ** 0. |
| 1612 | ** |
| 1613 | */ |
| 1614 | void style_emit_script_tag(int isCloser, const char * zSrc){ |
| 1615 | if(0==isCloser){ |
| 1616 | if(zSrc!=0 && zSrc[0]!=0){ |
| 1617 | CX("<script src='%R/%T'></script>\n", zSrc); |
| 1618 |
| --- src/style.c | |
| +++ src/style.c | |
| @@ -1607,11 +1607,10 @@ | |
| 1607 | ** a leading slash, and has %R/ prepended to it. |
| 1608 | ** |
| 1609 | ** Meaning that no follow-up call to pass a non-0 first argument |
| 1610 | ** to close the tag. zSrc is ignored if the first argument is not |
| 1611 | ** 0. |
| 1612 | */ |
| 1613 | void style_emit_script_tag(int isCloser, const char * zSrc){ |
| 1614 | if(0==isCloser){ |
| 1615 | if(zSrc!=0 && zSrc[0]!=0){ |
| 1616 | CX("<script src='%R/%T'></script>\n", zSrc); |
| 1617 |
+23
-6
| --- src/th_main.c | ||
| +++ src/th_main.c | ||
| @@ -30,11 +30,12 @@ | ||
| 30 | 30 | #define TH_INIT_NONE ((u32)0x00000000) /* No flags. */ |
| 31 | 31 | #define TH_INIT_NEED_CONFIG ((u32)0x00000001) /* Open configuration first? */ |
| 32 | 32 | #define TH_INIT_FORCE_TCL ((u32)0x00000002) /* Force Tcl to be enabled? */ |
| 33 | 33 | #define TH_INIT_FORCE_RESET ((u32)0x00000004) /* Force TH1 commands re-added? */ |
| 34 | 34 | #define TH_INIT_FORCE_SETUP ((u32)0x00000008) /* Force eval of setup script? */ |
| 35 | -#define TH_INIT_MASK ((u32)0x0000000F) /* All possible init flags. */ | |
| 35 | +#define TH_INIT_NO_REPO ((u32)0x00000010) /* Skip opening repository. */ | |
| 36 | +#define TH_INIT_MASK ((u32)0x0000001F) /* All possible init flags. */ | |
| 36 | 37 | |
| 37 | 38 | /* |
| 38 | 39 | ** Useful and/or "well-known" combinations of flag values. |
| 39 | 40 | */ |
| 40 | 41 | #define TH_INIT_DEFAULT (TH_INIT_NONE) /* Default flags. */ |
| @@ -44,13 +45,13 @@ | ||
| 44 | 45 | |
| 45 | 46 | /* |
| 46 | 47 | ** Flags set by functions in this file to keep track of integration state |
| 47 | 48 | ** information. These flags should not be used outside of this file. |
| 48 | 49 | */ |
| 49 | -#define TH_STATE_CONFIG ((u32)0x00000010) /* We opened the config. */ | |
| 50 | -#define TH_STATE_REPOSITORY ((u32)0x00000020) /* We opened the repository. */ | |
| 51 | -#define TH_STATE_MASK ((u32)0x00000030) /* All possible state flags. */ | |
| 50 | +#define TH_STATE_CONFIG ((u32)0x00000020) /* We opened the config. */ | |
| 51 | +#define TH_STATE_REPOSITORY ((u32)0x00000040) /* We opened the repository. */ | |
| 52 | +#define TH_STATE_MASK ((u32)0x00000060) /* All possible state flags. */ | |
| 52 | 53 | |
| 53 | 54 | #ifdef FOSSIL_ENABLE_TH1_HOOKS |
| 54 | 55 | /* |
| 55 | 56 | ** These are the "well-known" TH1 error messages that occur when no hook is |
| 56 | 57 | ** registered to be called prior to executing a command or processing a web |
| @@ -1771,11 +1772,20 @@ | ||
| 1771 | 1772 | int szCol = th_strlen(zCol); |
| 1772 | 1773 | const char *zVal = (const char*)sqlite3_column_text(pStmt, i); |
| 1773 | 1774 | int szVal = sqlite3_column_bytes(pStmt, i); |
| 1774 | 1775 | Th_SetVar(interp, zCol, szCol, zVal, szVal); |
| 1775 | 1776 | } |
| 1777 | + if( g.thTrace ){ | |
| 1778 | + Th_Trace("query_eval {<pre>%#h</pre>}<br />\n", argl[2], argv[2]); | |
| 1779 | + } | |
| 1776 | 1780 | res = Th_Eval(interp, 0, argv[2], argl[2]); |
| 1781 | + if( g.thTrace ){ | |
| 1782 | + int nTrRes; | |
| 1783 | + char *zTrRes = (char*)Th_GetResult(g.interp, &nTrRes); | |
| 1784 | + Th_Trace("[query_eval] => %h {%#h}<br />\n", | |
| 1785 | + Th_ReturnCodeName(res, 0), nTrRes, zTrRes); | |
| 1786 | + } | |
| 1777 | 1787 | if( res==TH_BREAK || res==TH_CONTINUE ) res = TH_OK; |
| 1778 | 1788 | } |
| 1779 | 1789 | rc = sqlite3_finalize(pStmt); |
| 1780 | 1790 | if( rc!=SQLITE_OK ){ |
| 1781 | 1791 | if( noComplain ) return TH_OK; |
| @@ -2085,10 +2095,11 @@ | ||
| 2085 | 2095 | int wasInit = 0; |
| 2086 | 2096 | int needConfig = flags & TH_INIT_NEED_CONFIG; |
| 2087 | 2097 | int forceReset = flags & TH_INIT_FORCE_RESET; |
| 2088 | 2098 | int forceTcl = flags & TH_INIT_FORCE_TCL; |
| 2089 | 2099 | int forceSetup = flags & TH_INIT_FORCE_SETUP; |
| 2100 | + int noRepo = flags & TH_INIT_NO_REPO; | |
| 2090 | 2101 | static unsigned int aFlags[] = { 0, 1, WIKI_LINKSONLY }; |
| 2091 | 2102 | static int anonFlag = LOGIN_ANON; |
| 2092 | 2103 | static int zeroInt = 0; |
| 2093 | 2104 | static struct _Command { |
| 2094 | 2105 | const char *zName; |
| @@ -2152,11 +2163,11 @@ | ||
| 2152 | 2163 | ** This function uses several settings which may be defined in the |
| 2153 | 2164 | ** repository and/or the global configuration. Since the caller |
| 2154 | 2165 | ** passed a non-zero value for the needConfig parameter, make sure |
| 2155 | 2166 | ** the necessary database connections are open prior to continuing. |
| 2156 | 2167 | */ |
| 2157 | - Th_OpenConfig(1); | |
| 2168 | + Th_OpenConfig(!noRepo); | |
| 2158 | 2169 | } |
| 2159 | 2170 | if( forceReset || forceTcl || g.interp==0 ){ |
| 2160 | 2171 | int created = 0; |
| 2161 | 2172 | int i; |
| 2162 | 2173 | if( g.interp==0 ){ |
| @@ -2622,13 +2633,19 @@ | ||
| 2622 | 2633 | }else if( z[i]=='<' && isBeginScriptTag(&z[i]) ){ |
| 2623 | 2634 | sendText(z, i, 0); |
| 2624 | 2635 | z += i+5; |
| 2625 | 2636 | for(i=0; z[i] && (z[i]!='<' || !isEndScriptTag(&z[i])); i++){} |
| 2626 | 2637 | if( g.thTrace ){ |
| 2627 | - Th_Trace("eval {<pre>%#h</pre>}<br />", i, z); | |
| 2638 | + Th_Trace("render_eval {<pre>%#h</pre>}<br />\n", i, z); | |
| 2628 | 2639 | } |
| 2629 | 2640 | rc = Th_Eval(g.interp, 0, (const char*)z, i); |
| 2641 | + if( g.thTrace ){ | |
| 2642 | + int nTrRes; | |
| 2643 | + char *zTrRes = (char*)Th_GetResult(g.interp, &nTrRes); | |
| 2644 | + Th_Trace("[render_eval] => %h {%#h}<br />\n", | |
| 2645 | + Th_ReturnCodeName(rc, 0), nTrRes, zTrRes); | |
| 2646 | + } | |
| 2630 | 2647 | if( rc!=TH_OK ) break; |
| 2631 | 2648 | z += i; |
| 2632 | 2649 | if( z[0] ){ z += 6; } |
| 2633 | 2650 | i = 0; |
| 2634 | 2651 | }else{ |
| 2635 | 2652 |
| --- src/th_main.c | |
| +++ src/th_main.c | |
| @@ -30,11 +30,12 @@ | |
| 30 | #define TH_INIT_NONE ((u32)0x00000000) /* No flags. */ |
| 31 | #define TH_INIT_NEED_CONFIG ((u32)0x00000001) /* Open configuration first? */ |
| 32 | #define TH_INIT_FORCE_TCL ((u32)0x00000002) /* Force Tcl to be enabled? */ |
| 33 | #define TH_INIT_FORCE_RESET ((u32)0x00000004) /* Force TH1 commands re-added? */ |
| 34 | #define TH_INIT_FORCE_SETUP ((u32)0x00000008) /* Force eval of setup script? */ |
| 35 | #define TH_INIT_MASK ((u32)0x0000000F) /* All possible init flags. */ |
| 36 | |
| 37 | /* |
| 38 | ** Useful and/or "well-known" combinations of flag values. |
| 39 | */ |
| 40 | #define TH_INIT_DEFAULT (TH_INIT_NONE) /* Default flags. */ |
| @@ -44,13 +45,13 @@ | |
| 44 | |
| 45 | /* |
| 46 | ** Flags set by functions in this file to keep track of integration state |
| 47 | ** information. These flags should not be used outside of this file. |
| 48 | */ |
| 49 | #define TH_STATE_CONFIG ((u32)0x00000010) /* We opened the config. */ |
| 50 | #define TH_STATE_REPOSITORY ((u32)0x00000020) /* We opened the repository. */ |
| 51 | #define TH_STATE_MASK ((u32)0x00000030) /* All possible state flags. */ |
| 52 | |
| 53 | #ifdef FOSSIL_ENABLE_TH1_HOOKS |
| 54 | /* |
| 55 | ** These are the "well-known" TH1 error messages that occur when no hook is |
| 56 | ** registered to be called prior to executing a command or processing a web |
| @@ -1771,11 +1772,20 @@ | |
| 1771 | int szCol = th_strlen(zCol); |
| 1772 | const char *zVal = (const char*)sqlite3_column_text(pStmt, i); |
| 1773 | int szVal = sqlite3_column_bytes(pStmt, i); |
| 1774 | Th_SetVar(interp, zCol, szCol, zVal, szVal); |
| 1775 | } |
| 1776 | res = Th_Eval(interp, 0, argv[2], argl[2]); |
| 1777 | if( res==TH_BREAK || res==TH_CONTINUE ) res = TH_OK; |
| 1778 | } |
| 1779 | rc = sqlite3_finalize(pStmt); |
| 1780 | if( rc!=SQLITE_OK ){ |
| 1781 | if( noComplain ) return TH_OK; |
| @@ -2085,10 +2095,11 @@ | |
| 2085 | int wasInit = 0; |
| 2086 | int needConfig = flags & TH_INIT_NEED_CONFIG; |
| 2087 | int forceReset = flags & TH_INIT_FORCE_RESET; |
| 2088 | int forceTcl = flags & TH_INIT_FORCE_TCL; |
| 2089 | int forceSetup = flags & TH_INIT_FORCE_SETUP; |
| 2090 | static unsigned int aFlags[] = { 0, 1, WIKI_LINKSONLY }; |
| 2091 | static int anonFlag = LOGIN_ANON; |
| 2092 | static int zeroInt = 0; |
| 2093 | static struct _Command { |
| 2094 | const char *zName; |
| @@ -2152,11 +2163,11 @@ | |
| 2152 | ** This function uses several settings which may be defined in the |
| 2153 | ** repository and/or the global configuration. Since the caller |
| 2154 | ** passed a non-zero value for the needConfig parameter, make sure |
| 2155 | ** the necessary database connections are open prior to continuing. |
| 2156 | */ |
| 2157 | Th_OpenConfig(1); |
| 2158 | } |
| 2159 | if( forceReset || forceTcl || g.interp==0 ){ |
| 2160 | int created = 0; |
| 2161 | int i; |
| 2162 | if( g.interp==0 ){ |
| @@ -2622,13 +2633,19 @@ | |
| 2622 | }else if( z[i]=='<' && isBeginScriptTag(&z[i]) ){ |
| 2623 | sendText(z, i, 0); |
| 2624 | z += i+5; |
| 2625 | for(i=0; z[i] && (z[i]!='<' || !isEndScriptTag(&z[i])); i++){} |
| 2626 | if( g.thTrace ){ |
| 2627 | Th_Trace("eval {<pre>%#h</pre>}<br />", i, z); |
| 2628 | } |
| 2629 | rc = Th_Eval(g.interp, 0, (const char*)z, i); |
| 2630 | if( rc!=TH_OK ) break; |
| 2631 | z += i; |
| 2632 | if( z[0] ){ z += 6; } |
| 2633 | i = 0; |
| 2634 | }else{ |
| 2635 |
| --- src/th_main.c | |
| +++ src/th_main.c | |
| @@ -30,11 +30,12 @@ | |
| 30 | #define TH_INIT_NONE ((u32)0x00000000) /* No flags. */ |
| 31 | #define TH_INIT_NEED_CONFIG ((u32)0x00000001) /* Open configuration first? */ |
| 32 | #define TH_INIT_FORCE_TCL ((u32)0x00000002) /* Force Tcl to be enabled? */ |
| 33 | #define TH_INIT_FORCE_RESET ((u32)0x00000004) /* Force TH1 commands re-added? */ |
| 34 | #define TH_INIT_FORCE_SETUP ((u32)0x00000008) /* Force eval of setup script? */ |
| 35 | #define TH_INIT_NO_REPO ((u32)0x00000010) /* Skip opening repository. */ |
| 36 | #define TH_INIT_MASK ((u32)0x0000001F) /* All possible init flags. */ |
| 37 | |
| 38 | /* |
| 39 | ** Useful and/or "well-known" combinations of flag values. |
| 40 | */ |
| 41 | #define TH_INIT_DEFAULT (TH_INIT_NONE) /* Default flags. */ |
| @@ -44,13 +45,13 @@ | |
| 45 | |
| 46 | /* |
| 47 | ** Flags set by functions in this file to keep track of integration state |
| 48 | ** information. These flags should not be used outside of this file. |
| 49 | */ |
| 50 | #define TH_STATE_CONFIG ((u32)0x00000020) /* We opened the config. */ |
| 51 | #define TH_STATE_REPOSITORY ((u32)0x00000040) /* We opened the repository. */ |
| 52 | #define TH_STATE_MASK ((u32)0x00000060) /* All possible state flags. */ |
| 53 | |
| 54 | #ifdef FOSSIL_ENABLE_TH1_HOOKS |
| 55 | /* |
| 56 | ** These are the "well-known" TH1 error messages that occur when no hook is |
| 57 | ** registered to be called prior to executing a command or processing a web |
| @@ -1771,11 +1772,20 @@ | |
| 1772 | int szCol = th_strlen(zCol); |
| 1773 | const char *zVal = (const char*)sqlite3_column_text(pStmt, i); |
| 1774 | int szVal = sqlite3_column_bytes(pStmt, i); |
| 1775 | Th_SetVar(interp, zCol, szCol, zVal, szVal); |
| 1776 | } |
| 1777 | if( g.thTrace ){ |
| 1778 | Th_Trace("query_eval {<pre>%#h</pre>}<br />\n", argl[2], argv[2]); |
| 1779 | } |
| 1780 | res = Th_Eval(interp, 0, argv[2], argl[2]); |
| 1781 | if( g.thTrace ){ |
| 1782 | int nTrRes; |
| 1783 | char *zTrRes = (char*)Th_GetResult(g.interp, &nTrRes); |
| 1784 | Th_Trace("[query_eval] => %h {%#h}<br />\n", |
| 1785 | Th_ReturnCodeName(res, 0), nTrRes, zTrRes); |
| 1786 | } |
| 1787 | if( res==TH_BREAK || res==TH_CONTINUE ) res = TH_OK; |
| 1788 | } |
| 1789 | rc = sqlite3_finalize(pStmt); |
| 1790 | if( rc!=SQLITE_OK ){ |
| 1791 | if( noComplain ) return TH_OK; |
| @@ -2085,10 +2095,11 @@ | |
| 2095 | int wasInit = 0; |
| 2096 | int needConfig = flags & TH_INIT_NEED_CONFIG; |
| 2097 | int forceReset = flags & TH_INIT_FORCE_RESET; |
| 2098 | int forceTcl = flags & TH_INIT_FORCE_TCL; |
| 2099 | int forceSetup = flags & TH_INIT_FORCE_SETUP; |
| 2100 | int noRepo = flags & TH_INIT_NO_REPO; |
| 2101 | static unsigned int aFlags[] = { 0, 1, WIKI_LINKSONLY }; |
| 2102 | static int anonFlag = LOGIN_ANON; |
| 2103 | static int zeroInt = 0; |
| 2104 | static struct _Command { |
| 2105 | const char *zName; |
| @@ -2152,11 +2163,11 @@ | |
| 2163 | ** This function uses several settings which may be defined in the |
| 2164 | ** repository and/or the global configuration. Since the caller |
| 2165 | ** passed a non-zero value for the needConfig parameter, make sure |
| 2166 | ** the necessary database connections are open prior to continuing. |
| 2167 | */ |
| 2168 | Th_OpenConfig(!noRepo); |
| 2169 | } |
| 2170 | if( forceReset || forceTcl || g.interp==0 ){ |
| 2171 | int created = 0; |
| 2172 | int i; |
| 2173 | if( g.interp==0 ){ |
| @@ -2622,13 +2633,19 @@ | |
| 2633 | }else if( z[i]=='<' && isBeginScriptTag(&z[i]) ){ |
| 2634 | sendText(z, i, 0); |
| 2635 | z += i+5; |
| 2636 | for(i=0; z[i] && (z[i]!='<' || !isEndScriptTag(&z[i])); i++){} |
| 2637 | if( g.thTrace ){ |
| 2638 | Th_Trace("render_eval {<pre>%#h</pre>}<br />\n", i, z); |
| 2639 | } |
| 2640 | rc = Th_Eval(g.interp, 0, (const char*)z, i); |
| 2641 | if( g.thTrace ){ |
| 2642 | int nTrRes; |
| 2643 | char *zTrRes = (char*)Th_GetResult(g.interp, &nTrRes); |
| 2644 | Th_Trace("[render_eval] => %h {%#h}<br />\n", |
| 2645 | Th_ReturnCodeName(rc, 0), nTrRes, zTrRes); |
| 2646 | } |
| 2647 | if( rc!=TH_OK ) break; |
| 2648 | z += i; |
| 2649 | if( z[0] ){ z += 6; } |
| 2650 | i = 0; |
| 2651 | }else{ |
| 2652 |
+7
-5
| --- src/timeline.c | ||
| +++ src/timeline.c | ||
| @@ -999,11 +999,11 @@ | ||
| 999 | 999 | } |
| 1000 | 1000 | if( pRow->mergeOut>=0 ){ |
| 1001 | 1001 | cgi_printf("\"mo\":%d,", aiMap[pRow->mergeOut]); |
| 1002 | 1002 | if( pRow->mergeUpto==0 ) pRow->mergeUpto = pRow->idx; |
| 1003 | 1003 | cgi_printf("\"mu\":%d,", pRow->mergeUpto); |
| 1004 | - if( pRow->cherrypickUpto>0 && pRow->cherrypickUpto<pRow->mergeUpto ){ | |
| 1004 | + if( pRow->cherrypickUpto>0 && pRow->cherrypickUpto<=pRow->mergeUpto ){ | |
| 1005 | 1005 | cgi_printf("\"cu\":%d,", pRow->cherrypickUpto); |
| 1006 | 1006 | } |
| 1007 | 1007 | } |
| 1008 | 1008 | if( pRow->isStepParent ){ |
| 1009 | 1009 | cgi_printf("\"sb\":%d,", pRow->aiRiser[pRow->iRail]); |
| @@ -2357,22 +2357,24 @@ | ||
| 2357 | 2357 | url_add_parameter(&url, "c", 0); |
| 2358 | 2358 | }else if( rCirca>0.0 ){ |
| 2359 | 2359 | Blob sql2; |
| 2360 | 2360 | blob_init(&sql2, blob_sql_text(&sql), -1); |
| 2361 | 2361 | blob_append_sql(&sql2, |
| 2362 | - " AND event.mtime<=%f ORDER BY event.mtime DESC", rCirca); | |
| 2362 | + " AND event.mtime>=%f ORDER BY event.mtime ASC", rCirca); | |
| 2363 | 2363 | if( nEntry>0 ){ |
| 2364 | 2364 | blob_append_sql(&sql2," LIMIT %d", (nEntry+1)/2); |
| 2365 | - nEntry -= (nEntry+1)/2; | |
| 2366 | 2365 | } |
| 2367 | 2366 | if( PB("showsql") ){ |
| 2368 | 2367 | @ <pre>%h(blob_sql_text(&sql2))</pre> |
| 2369 | 2368 | } |
| 2370 | 2369 | db_multi_exec("%s", blob_sql_text(&sql2)); |
| 2370 | + if( nEntry>0 ){ | |
| 2371 | + nEntry -= db_int(0,"select count(*) from timeline"); | |
| 2372 | + } | |
| 2371 | 2373 | blob_reset(&sql2); |
| 2372 | 2374 | blob_append_sql(&sql, |
| 2373 | - " AND event.mtime>=%f ORDER BY event.mtime ASC", | |
| 2375 | + " AND event.mtime<=%f ORDER BY event.mtime DESC", | |
| 2374 | 2376 | rCirca |
| 2375 | 2377 | ); |
| 2376 | 2378 | if( zMark==0 ) zMark = zCirca; |
| 2377 | 2379 | }else{ |
| 2378 | 2380 | blob_append_sql(&sql, " ORDER BY event.mtime DESC"); |
| @@ -3024,11 +3026,11 @@ | ||
| 3024 | 3026 | z = db_text(0, "SELECT date(%Q,'-1 day')", zToday); |
| 3025 | 3027 | style_submenu_element("Yesterday", "%R/thisdayinhistory?today=%t", z); |
| 3026 | 3028 | z = db_text(0, "SELECT date(%Q,'+1 day')", zToday); |
| 3027 | 3029 | style_submenu_element("Tomorrow", "%R/thisdayinhistory?today=%t", z); |
| 3028 | 3030 | zStartOfProject = db_text(0, |
| 3029 | - "SELECT datetime(min(mtime),toLocal()) FROM event;" | |
| 3031 | + "SELECT datetime(min(mtime),toLocal(),'startofday') FROM event;" | |
| 3030 | 3032 | ); |
| 3031 | 3033 | timeline_temp_table(); |
| 3032 | 3034 | db_prepare(&q, "SELECT * FROM timeline ORDER BY sortby DESC /*scan*/"); |
| 3033 | 3035 | for(i=0; i<sizeof(aYearsAgo)/sizeof(aYearsAgo[0]); i++){ |
| 3034 | 3036 | int iAgo = aYearsAgo[i]; |
| 3035 | 3037 |
| --- src/timeline.c | |
| +++ src/timeline.c | |
| @@ -999,11 +999,11 @@ | |
| 999 | } |
| 1000 | if( pRow->mergeOut>=0 ){ |
| 1001 | cgi_printf("\"mo\":%d,", aiMap[pRow->mergeOut]); |
| 1002 | if( pRow->mergeUpto==0 ) pRow->mergeUpto = pRow->idx; |
| 1003 | cgi_printf("\"mu\":%d,", pRow->mergeUpto); |
| 1004 | if( pRow->cherrypickUpto>0 && pRow->cherrypickUpto<pRow->mergeUpto ){ |
| 1005 | cgi_printf("\"cu\":%d,", pRow->cherrypickUpto); |
| 1006 | } |
| 1007 | } |
| 1008 | if( pRow->isStepParent ){ |
| 1009 | cgi_printf("\"sb\":%d,", pRow->aiRiser[pRow->iRail]); |
| @@ -2357,22 +2357,24 @@ | |
| 2357 | url_add_parameter(&url, "c", 0); |
| 2358 | }else if( rCirca>0.0 ){ |
| 2359 | Blob sql2; |
| 2360 | blob_init(&sql2, blob_sql_text(&sql), -1); |
| 2361 | blob_append_sql(&sql2, |
| 2362 | " AND event.mtime<=%f ORDER BY event.mtime DESC", rCirca); |
| 2363 | if( nEntry>0 ){ |
| 2364 | blob_append_sql(&sql2," LIMIT %d", (nEntry+1)/2); |
| 2365 | nEntry -= (nEntry+1)/2; |
| 2366 | } |
| 2367 | if( PB("showsql") ){ |
| 2368 | @ <pre>%h(blob_sql_text(&sql2))</pre> |
| 2369 | } |
| 2370 | db_multi_exec("%s", blob_sql_text(&sql2)); |
| 2371 | blob_reset(&sql2); |
| 2372 | blob_append_sql(&sql, |
| 2373 | " AND event.mtime>=%f ORDER BY event.mtime ASC", |
| 2374 | rCirca |
| 2375 | ); |
| 2376 | if( zMark==0 ) zMark = zCirca; |
| 2377 | }else{ |
| 2378 | blob_append_sql(&sql, " ORDER BY event.mtime DESC"); |
| @@ -3024,11 +3026,11 @@ | |
| 3024 | z = db_text(0, "SELECT date(%Q,'-1 day')", zToday); |
| 3025 | style_submenu_element("Yesterday", "%R/thisdayinhistory?today=%t", z); |
| 3026 | z = db_text(0, "SELECT date(%Q,'+1 day')", zToday); |
| 3027 | style_submenu_element("Tomorrow", "%R/thisdayinhistory?today=%t", z); |
| 3028 | zStartOfProject = db_text(0, |
| 3029 | "SELECT datetime(min(mtime),toLocal()) FROM event;" |
| 3030 | ); |
| 3031 | timeline_temp_table(); |
| 3032 | db_prepare(&q, "SELECT * FROM timeline ORDER BY sortby DESC /*scan*/"); |
| 3033 | for(i=0; i<sizeof(aYearsAgo)/sizeof(aYearsAgo[0]); i++){ |
| 3034 | int iAgo = aYearsAgo[i]; |
| 3035 |
| --- src/timeline.c | |
| +++ src/timeline.c | |
| @@ -999,11 +999,11 @@ | |
| 999 | } |
| 1000 | if( pRow->mergeOut>=0 ){ |
| 1001 | cgi_printf("\"mo\":%d,", aiMap[pRow->mergeOut]); |
| 1002 | if( pRow->mergeUpto==0 ) pRow->mergeUpto = pRow->idx; |
| 1003 | cgi_printf("\"mu\":%d,", pRow->mergeUpto); |
| 1004 | if( pRow->cherrypickUpto>0 && pRow->cherrypickUpto<=pRow->mergeUpto ){ |
| 1005 | cgi_printf("\"cu\":%d,", pRow->cherrypickUpto); |
| 1006 | } |
| 1007 | } |
| 1008 | if( pRow->isStepParent ){ |
| 1009 | cgi_printf("\"sb\":%d,", pRow->aiRiser[pRow->iRail]); |
| @@ -2357,22 +2357,24 @@ | |
| 2357 | url_add_parameter(&url, "c", 0); |
| 2358 | }else if( rCirca>0.0 ){ |
| 2359 | Blob sql2; |
| 2360 | blob_init(&sql2, blob_sql_text(&sql), -1); |
| 2361 | blob_append_sql(&sql2, |
| 2362 | " AND event.mtime>=%f ORDER BY event.mtime ASC", rCirca); |
| 2363 | if( nEntry>0 ){ |
| 2364 | blob_append_sql(&sql2," LIMIT %d", (nEntry+1)/2); |
| 2365 | } |
| 2366 | if( PB("showsql") ){ |
| 2367 | @ <pre>%h(blob_sql_text(&sql2))</pre> |
| 2368 | } |
| 2369 | db_multi_exec("%s", blob_sql_text(&sql2)); |
| 2370 | if( nEntry>0 ){ |
| 2371 | nEntry -= db_int(0,"select count(*) from timeline"); |
| 2372 | } |
| 2373 | blob_reset(&sql2); |
| 2374 | blob_append_sql(&sql, |
| 2375 | " AND event.mtime<=%f ORDER BY event.mtime DESC", |
| 2376 | rCirca |
| 2377 | ); |
| 2378 | if( zMark==0 ) zMark = zCirca; |
| 2379 | }else{ |
| 2380 | blob_append_sql(&sql, " ORDER BY event.mtime DESC"); |
| @@ -3024,11 +3026,11 @@ | |
| 3026 | z = db_text(0, "SELECT date(%Q,'-1 day')", zToday); |
| 3027 | style_submenu_element("Yesterday", "%R/thisdayinhistory?today=%t", z); |
| 3028 | z = db_text(0, "SELECT date(%Q,'+1 day')", zToday); |
| 3029 | style_submenu_element("Tomorrow", "%R/thisdayinhistory?today=%t", z); |
| 3030 | zStartOfProject = db_text(0, |
| 3031 | "SELECT datetime(min(mtime),toLocal(),'startofday') FROM event;" |
| 3032 | ); |
| 3033 | timeline_temp_table(); |
| 3034 | db_prepare(&q, "SELECT * FROM timeline ORDER BY sortby DESC /*scan*/"); |
| 3035 | for(i=0; i<sizeof(aYearsAgo)/sizeof(aYearsAgo[0]); i++){ |
| 3036 | int iAgo = aYearsAgo[i]; |
| 3037 |
+1
| --- src/tkt.c | ||
| +++ src/tkt.c | ||
| @@ -512,10 +512,11 @@ | ||
| 512 | 512 | getAllTicketFields(); |
| 513 | 513 | initializeVariablesFromDb(); |
| 514 | 514 | zScript = ticket_viewpage_code(); |
| 515 | 515 | if( P("showfields")!=0 ) showAllFields(); |
| 516 | 516 | if( g.thTrace ) Th_Trace("BEGIN_TKTVIEW_SCRIPT<br />\n", -1); |
| 517 | + safe_html_context(DOCSRC_TICKET); | |
| 517 | 518 | Th_Render(zScript); |
| 518 | 519 | if( g.thTrace ) Th_Trace("END_TKTVIEW<br />\n", -1); |
| 519 | 520 | |
| 520 | 521 | zFullName = db_text(0, |
| 521 | 522 | "SELECT tkt_uuid FROM ticket" |
| 522 | 523 |
| --- src/tkt.c | |
| +++ src/tkt.c | |
| @@ -512,10 +512,11 @@ | |
| 512 | getAllTicketFields(); |
| 513 | initializeVariablesFromDb(); |
| 514 | zScript = ticket_viewpage_code(); |
| 515 | if( P("showfields")!=0 ) showAllFields(); |
| 516 | if( g.thTrace ) Th_Trace("BEGIN_TKTVIEW_SCRIPT<br />\n", -1); |
| 517 | Th_Render(zScript); |
| 518 | if( g.thTrace ) Th_Trace("END_TKTVIEW<br />\n", -1); |
| 519 | |
| 520 | zFullName = db_text(0, |
| 521 | "SELECT tkt_uuid FROM ticket" |
| 522 |
| --- src/tkt.c | |
| +++ src/tkt.c | |
| @@ -512,10 +512,11 @@ | |
| 512 | getAllTicketFields(); |
| 513 | initializeVariablesFromDb(); |
| 514 | zScript = ticket_viewpage_code(); |
| 515 | if( P("showfields")!=0 ) showAllFields(); |
| 516 | if( g.thTrace ) Th_Trace("BEGIN_TKTVIEW_SCRIPT<br />\n", -1); |
| 517 | safe_html_context(DOCSRC_TICKET); |
| 518 | Th_Render(zScript); |
| 519 | if( g.thTrace ) Th_Trace("END_TKTVIEW<br />\n", -1); |
| 520 | |
| 521 | zFullName = db_text(0, |
| 522 | "SELECT tkt_uuid FROM ticket" |
| 523 |
+1
-1
| --- src/unversioned.c | ||
| +++ src/unversioned.c | ||
| @@ -377,11 +377,11 @@ | ||
| 377 | 377 | } |
| 378 | 378 | #if defined(_WIN32) || defined(__CYGWIN__) |
| 379 | 379 | blob_add_cr(&content); |
| 380 | 380 | #endif |
| 381 | 381 | blob_write_to_file(&content, zTFile); |
| 382 | - zCmd = mprintf("%s \"%s\"", zEditor, zTFile); | |
| 382 | + zCmd = mprintf("%s %$", zEditor, zTFile); | |
| 383 | 383 | if( fossil_system(zCmd) ){ |
| 384 | 384 | fossil_fatal("editor aborted: %Q", zCmd); |
| 385 | 385 | } |
| 386 | 386 | fossil_free(zCmd); |
| 387 | 387 | blob_reset(&content); |
| 388 | 388 |
| --- src/unversioned.c | |
| +++ src/unversioned.c | |
| @@ -377,11 +377,11 @@ | |
| 377 | } |
| 378 | #if defined(_WIN32) || defined(__CYGWIN__) |
| 379 | blob_add_cr(&content); |
| 380 | #endif |
| 381 | blob_write_to_file(&content, zTFile); |
| 382 | zCmd = mprintf("%s \"%s\"", zEditor, zTFile); |
| 383 | if( fossil_system(zCmd) ){ |
| 384 | fossil_fatal("editor aborted: %Q", zCmd); |
| 385 | } |
| 386 | fossil_free(zCmd); |
| 387 | blob_reset(&content); |
| 388 |
| --- src/unversioned.c | |
| +++ src/unversioned.c | |
| @@ -377,11 +377,11 @@ | |
| 377 | } |
| 378 | #if defined(_WIN32) || defined(__CYGWIN__) |
| 379 | blob_add_cr(&content); |
| 380 | #endif |
| 381 | blob_write_to_file(&content, zTFile); |
| 382 | zCmd = mprintf("%s %$", zEditor, zTFile); |
| 383 | if( fossil_system(zCmd) ){ |
| 384 | fossil_fatal("editor aborted: %Q", zCmd); |
| 385 | } |
| 386 | fossil_free(zCmd); |
| 387 | blob_reset(&content); |
| 388 |
+64
-14
| --- src/update.c | ||
| +++ src/update.c | ||
| @@ -765,28 +765,31 @@ | ||
| 765 | 765 | } |
| 766 | 766 | |
| 767 | 767 | /* |
| 768 | 768 | ** COMMAND: revert |
| 769 | 769 | ** |
| 770 | -** Usage: %fossil revert ?-r REVISION? ?FILE ...? | |
| 770 | +** Usage: %fossil revert ?OPTIONS? ?FILE ...? | |
| 771 | 771 | ** |
| 772 | 772 | ** Revert to the current repository version of FILE, or to |
| 773 | -** the version associated with baseline REVISION if the -r flag | |
| 774 | -** appears. | |
| 773 | +** the baseline VERSION specified with -r flag. | |
| 775 | 774 | ** |
| 776 | 775 | ** If FILE was part of a rename operation, both the original file |
| 777 | 776 | ** and the renamed file are reverted. |
| 777 | +** | |
| 778 | +** Using a directory name for any of the FILE arguments is the same | |
| 779 | +** as using every subdirectory and file beneath that directory. | |
| 778 | 780 | ** |
| 779 | 781 | ** Revert all files if no file name is provided. |
| 780 | 782 | ** |
| 781 | 783 | ** If a file is reverted accidentally, it can be restored using |
| 782 | 784 | ** the "fossil undo" command. |
| 783 | 785 | ** |
| 784 | 786 | ** Options: |
| 785 | -** -r REVISION revert given FILE(s) back to given REVISION | |
| 787 | +** -r|--revision VERSION Revert given FILE(s) back to given | |
| 788 | +** VERSION | |
| 786 | 789 | ** |
| 787 | -** See also: redo, undo, update | |
| 790 | +** See also: redo, undo, checkout, update | |
| 788 | 791 | */ |
| 789 | 792 | void revert_cmd(void){ |
| 790 | 793 | Manifest *pCoManifest; /* Manifest of current checkout */ |
| 791 | 794 | Manifest *pRvManifest; /* Manifest of selected revert version */ |
| 792 | 795 | ManifestFile *pCoFile; /* File within current checkout manifest */ |
| @@ -794,20 +797,23 @@ | ||
| 794 | 797 | const char *zFile; /* Filename relative to checkout root */ |
| 795 | 798 | const char *zRevision; /* Selected revert version, NULL if current */ |
| 796 | 799 | Blob record = BLOB_INITIALIZER; /* Contents of each reverted file */ |
| 797 | 800 | int i; |
| 798 | 801 | Stmt q; |
| 802 | + int revertAll = 0; | |
| 803 | + int revisionOptNotSupported = 0; | |
| 799 | 804 | |
| 800 | 805 | undo_capture_command_line(); |
| 801 | 806 | zRevision = find_option("revision", "r", 1); |
| 802 | 807 | verify_all_options(); |
| 803 | 808 | |
| 804 | 809 | if( g.argc<2 ){ |
| 805 | 810 | usage("?OPTIONS? [FILE] ..."); |
| 806 | 811 | } |
| 807 | 812 | if( zRevision && g.argc<3 ){ |
| 808 | - fossil_fatal("the --revision option does not work for the entire tree"); | |
| 813 | + fossil_fatal("directories or the entire tree can only be reverted" | |
| 814 | + " back to current version"); | |
| 809 | 815 | } |
| 810 | 816 | db_must_be_within_tree(); |
| 811 | 817 | |
| 812 | 818 | /* Get manifests of revert version and (if different) current checkout. */ |
| 813 | 819 | pRvManifest = historical_manifest(zRevision); |
| @@ -821,21 +827,64 @@ | ||
| 821 | 827 | for(i=2; i<g.argc; i++){ |
| 822 | 828 | Blob fname; |
| 823 | 829 | zFile = mprintf("%/", g.argv[i]); |
| 824 | 830 | blob_zero(&fname); |
| 825 | 831 | file_tree_name(zFile, &fname, 0, 1); |
| 826 | - db_multi_exec( | |
| 827 | - "REPLACE INTO torevert VALUES(%B);" | |
| 828 | - "INSERT OR IGNORE INTO torevert" | |
| 829 | - " SELECT pathname" | |
| 830 | - " FROM vfile" | |
| 831 | - " WHERE origname=%B;", | |
| 832 | - &fname, &fname | |
| 833 | - ); | |
| 832 | + if( blob_eq(&fname, ".") ){ | |
| 833 | + if( zRevision ){ | |
| 834 | + revisionOptNotSupported = 1; | |
| 835 | + break; | |
| 836 | + } | |
| 837 | + revertAll = 1; | |
| 838 | + break; | |
| 839 | + }else if( db_exists( | |
| 840 | + "SELECT pathname" | |
| 841 | + " FROM vfile" | |
| 842 | + " WHERE (substr(pathname,1,length('%q/'))='%q/'" | |
| 843 | + " OR substr(origname,1,length('%q/'))='%q/');", | |
| 844 | + blob_str(&fname), blob_str(&fname), | |
| 845 | + blob_str(&fname), blob_str(&fname)) ){ | |
| 846 | + int vid; | |
| 847 | + vid = db_lget_int("checkout", 0); | |
| 848 | + vfile_check_signature(vid, 0); | |
| 849 | + | |
| 850 | + if( zRevision ){ | |
| 851 | + revisionOptNotSupported = 1; | |
| 852 | + break; | |
| 853 | + } | |
| 854 | + db_multi_exec( | |
| 855 | + "INSERT OR IGNORE INTO torevert" | |
| 856 | + " SELECT pathname" | |
| 857 | + " FROM vfile" | |
| 858 | + " WHERE (substr(pathname,1,length('%q/'))='%q/'" | |
| 859 | + " OR substr(origname,1,length('%q/'))='%q/')" | |
| 860 | + " AND (chnged OR deleted OR rid=0 OR pathname!=origname);", | |
| 861 | + blob_str(&fname), blob_str(&fname), | |
| 862 | + blob_str(&fname), blob_str(&fname) | |
| 863 | + ); | |
| 864 | + }else{ | |
| 865 | + db_multi_exec( | |
| 866 | + "REPLACE INTO torevert VALUES(%B);" | |
| 867 | + "INSERT OR IGNORE INTO torevert" | |
| 868 | + " SELECT pathname" | |
| 869 | + " FROM vfile" | |
| 870 | + " WHERE origname=%B;", | |
| 871 | + &fname, &fname | |
| 872 | + ); | |
| 873 | + } | |
| 834 | 874 | blob_reset(&fname); |
| 835 | 875 | } |
| 836 | 876 | }else{ |
| 877 | + revertAll = 1; | |
| 878 | + } | |
| 879 | + | |
| 880 | + if( revisionOptNotSupported ){ | |
| 881 | + fossil_fatal("directories or the entire tree can only be reverted" | |
| 882 | + " back to current version"); | |
| 883 | + } | |
| 884 | + | |
| 885 | + if ( revertAll ){ | |
| 837 | 886 | int vid; |
| 838 | 887 | vid = db_lget_int("checkout", 0); |
| 839 | 888 | vfile_check_signature(vid, 0); |
| 840 | 889 | db_multi_exec( |
| 841 | 890 | "DELETE FROM vmerge;" |
| @@ -843,10 +892,11 @@ | ||
| 843 | 892 | " SELECT pathname" |
| 844 | 893 | " FROM vfile " |
| 845 | 894 | " WHERE chnged OR deleted OR rid=0 OR pathname!=origname;" |
| 846 | 895 | ); |
| 847 | 896 | } |
| 897 | + | |
| 848 | 898 | db_multi_exec( |
| 849 | 899 | "INSERT OR IGNORE INTO torevert" |
| 850 | 900 | " SELECT origname" |
| 851 | 901 | " FROM vfile" |
| 852 | 902 | " WHERE origname!=pathname AND pathname IN (SELECT name FROM torevert);" |
| 853 | 903 |
| --- src/update.c | |
| +++ src/update.c | |
| @@ -765,28 +765,31 @@ | |
| 765 | } |
| 766 | |
| 767 | /* |
| 768 | ** COMMAND: revert |
| 769 | ** |
| 770 | ** Usage: %fossil revert ?-r REVISION? ?FILE ...? |
| 771 | ** |
| 772 | ** Revert to the current repository version of FILE, or to |
| 773 | ** the version associated with baseline REVISION if the -r flag |
| 774 | ** appears. |
| 775 | ** |
| 776 | ** If FILE was part of a rename operation, both the original file |
| 777 | ** and the renamed file are reverted. |
| 778 | ** |
| 779 | ** Revert all files if no file name is provided. |
| 780 | ** |
| 781 | ** If a file is reverted accidentally, it can be restored using |
| 782 | ** the "fossil undo" command. |
| 783 | ** |
| 784 | ** Options: |
| 785 | ** -r REVISION revert given FILE(s) back to given REVISION |
| 786 | ** |
| 787 | ** See also: redo, undo, update |
| 788 | */ |
| 789 | void revert_cmd(void){ |
| 790 | Manifest *pCoManifest; /* Manifest of current checkout */ |
| 791 | Manifest *pRvManifest; /* Manifest of selected revert version */ |
| 792 | ManifestFile *pCoFile; /* File within current checkout manifest */ |
| @@ -794,20 +797,23 @@ | |
| 794 | const char *zFile; /* Filename relative to checkout root */ |
| 795 | const char *zRevision; /* Selected revert version, NULL if current */ |
| 796 | Blob record = BLOB_INITIALIZER; /* Contents of each reverted file */ |
| 797 | int i; |
| 798 | Stmt q; |
| 799 | |
| 800 | undo_capture_command_line(); |
| 801 | zRevision = find_option("revision", "r", 1); |
| 802 | verify_all_options(); |
| 803 | |
| 804 | if( g.argc<2 ){ |
| 805 | usage("?OPTIONS? [FILE] ..."); |
| 806 | } |
| 807 | if( zRevision && g.argc<3 ){ |
| 808 | fossil_fatal("the --revision option does not work for the entire tree"); |
| 809 | } |
| 810 | db_must_be_within_tree(); |
| 811 | |
| 812 | /* Get manifests of revert version and (if different) current checkout. */ |
| 813 | pRvManifest = historical_manifest(zRevision); |
| @@ -821,21 +827,64 @@ | |
| 821 | for(i=2; i<g.argc; i++){ |
| 822 | Blob fname; |
| 823 | zFile = mprintf("%/", g.argv[i]); |
| 824 | blob_zero(&fname); |
| 825 | file_tree_name(zFile, &fname, 0, 1); |
| 826 | db_multi_exec( |
| 827 | "REPLACE INTO torevert VALUES(%B);" |
| 828 | "INSERT OR IGNORE INTO torevert" |
| 829 | " SELECT pathname" |
| 830 | " FROM vfile" |
| 831 | " WHERE origname=%B;", |
| 832 | &fname, &fname |
| 833 | ); |
| 834 | blob_reset(&fname); |
| 835 | } |
| 836 | }else{ |
| 837 | int vid; |
| 838 | vid = db_lget_int("checkout", 0); |
| 839 | vfile_check_signature(vid, 0); |
| 840 | db_multi_exec( |
| 841 | "DELETE FROM vmerge;" |
| @@ -843,10 +892,11 @@ | |
| 843 | " SELECT pathname" |
| 844 | " FROM vfile " |
| 845 | " WHERE chnged OR deleted OR rid=0 OR pathname!=origname;" |
| 846 | ); |
| 847 | } |
| 848 | db_multi_exec( |
| 849 | "INSERT OR IGNORE INTO torevert" |
| 850 | " SELECT origname" |
| 851 | " FROM vfile" |
| 852 | " WHERE origname!=pathname AND pathname IN (SELECT name FROM torevert);" |
| 853 |
| --- src/update.c | |
| +++ src/update.c | |
| @@ -765,28 +765,31 @@ | |
| 765 | } |
| 766 | |
| 767 | /* |
| 768 | ** COMMAND: revert |
| 769 | ** |
| 770 | ** Usage: %fossil revert ?OPTIONS? ?FILE ...? |
| 771 | ** |
| 772 | ** Revert to the current repository version of FILE, or to |
| 773 | ** the baseline VERSION specified with -r flag. |
| 774 | ** |
| 775 | ** If FILE was part of a rename operation, both the original file |
| 776 | ** and the renamed file are reverted. |
| 777 | ** |
| 778 | ** Using a directory name for any of the FILE arguments is the same |
| 779 | ** as using every subdirectory and file beneath that directory. |
| 780 | ** |
| 781 | ** Revert all files if no file name is provided. |
| 782 | ** |
| 783 | ** If a file is reverted accidentally, it can be restored using |
| 784 | ** the "fossil undo" command. |
| 785 | ** |
| 786 | ** Options: |
| 787 | ** -r|--revision VERSION Revert given FILE(s) back to given |
| 788 | ** VERSION |
| 789 | ** |
| 790 | ** See also: redo, undo, checkout, update |
| 791 | */ |
| 792 | void revert_cmd(void){ |
| 793 | Manifest *pCoManifest; /* Manifest of current checkout */ |
| 794 | Manifest *pRvManifest; /* Manifest of selected revert version */ |
| 795 | ManifestFile *pCoFile; /* File within current checkout manifest */ |
| @@ -794,20 +797,23 @@ | |
| 797 | const char *zFile; /* Filename relative to checkout root */ |
| 798 | const char *zRevision; /* Selected revert version, NULL if current */ |
| 799 | Blob record = BLOB_INITIALIZER; /* Contents of each reverted file */ |
| 800 | int i; |
| 801 | Stmt q; |
| 802 | int revertAll = 0; |
| 803 | int revisionOptNotSupported = 0; |
| 804 | |
| 805 | undo_capture_command_line(); |
| 806 | zRevision = find_option("revision", "r", 1); |
| 807 | verify_all_options(); |
| 808 | |
| 809 | if( g.argc<2 ){ |
| 810 | usage("?OPTIONS? [FILE] ..."); |
| 811 | } |
| 812 | if( zRevision && g.argc<3 ){ |
| 813 | fossil_fatal("directories or the entire tree can only be reverted" |
| 814 | " back to current version"); |
| 815 | } |
| 816 | db_must_be_within_tree(); |
| 817 | |
| 818 | /* Get manifests of revert version and (if different) current checkout. */ |
| 819 | pRvManifest = historical_manifest(zRevision); |
| @@ -821,21 +827,64 @@ | |
| 827 | for(i=2; i<g.argc; i++){ |
| 828 | Blob fname; |
| 829 | zFile = mprintf("%/", g.argv[i]); |
| 830 | blob_zero(&fname); |
| 831 | file_tree_name(zFile, &fname, 0, 1); |
| 832 | if( blob_eq(&fname, ".") ){ |
| 833 | if( zRevision ){ |
| 834 | revisionOptNotSupported = 1; |
| 835 | break; |
| 836 | } |
| 837 | revertAll = 1; |
| 838 | break; |
| 839 | }else if( db_exists( |
| 840 | "SELECT pathname" |
| 841 | " FROM vfile" |
| 842 | " WHERE (substr(pathname,1,length('%q/'))='%q/'" |
| 843 | " OR substr(origname,1,length('%q/'))='%q/');", |
| 844 | blob_str(&fname), blob_str(&fname), |
| 845 | blob_str(&fname), blob_str(&fname)) ){ |
| 846 | int vid; |
| 847 | vid = db_lget_int("checkout", 0); |
| 848 | vfile_check_signature(vid, 0); |
| 849 | |
| 850 | if( zRevision ){ |
| 851 | revisionOptNotSupported = 1; |
| 852 | break; |
| 853 | } |
| 854 | db_multi_exec( |
| 855 | "INSERT OR IGNORE INTO torevert" |
| 856 | " SELECT pathname" |
| 857 | " FROM vfile" |
| 858 | " WHERE (substr(pathname,1,length('%q/'))='%q/'" |
| 859 | " OR substr(origname,1,length('%q/'))='%q/')" |
| 860 | " AND (chnged OR deleted OR rid=0 OR pathname!=origname);", |
| 861 | blob_str(&fname), blob_str(&fname), |
| 862 | blob_str(&fname), blob_str(&fname) |
| 863 | ); |
| 864 | }else{ |
| 865 | db_multi_exec( |
| 866 | "REPLACE INTO torevert VALUES(%B);" |
| 867 | "INSERT OR IGNORE INTO torevert" |
| 868 | " SELECT pathname" |
| 869 | " FROM vfile" |
| 870 | " WHERE origname=%B;", |
| 871 | &fname, &fname |
| 872 | ); |
| 873 | } |
| 874 | blob_reset(&fname); |
| 875 | } |
| 876 | }else{ |
| 877 | revertAll = 1; |
| 878 | } |
| 879 | |
| 880 | if( revisionOptNotSupported ){ |
| 881 | fossil_fatal("directories or the entire tree can only be reverted" |
| 882 | " back to current version"); |
| 883 | } |
| 884 | |
| 885 | if ( revertAll ){ |
| 886 | int vid; |
| 887 | vid = db_lget_int("checkout", 0); |
| 888 | vfile_check_signature(vid, 0); |
| 889 | db_multi_exec( |
| 890 | "DELETE FROM vmerge;" |
| @@ -843,10 +892,11 @@ | |
| 892 | " SELECT pathname" |
| 893 | " FROM vfile " |
| 894 | " WHERE chnged OR deleted OR rid=0 OR pathname!=origname;" |
| 895 | ); |
| 896 | } |
| 897 | |
| 898 | db_multi_exec( |
| 899 | "INSERT OR IGNORE INTO torevert" |
| 900 | " SELECT origname" |
| 901 | " FROM vfile" |
| 902 | " WHERE origname!=pathname AND pathname IN (SELECT name FROM torevert);" |
| 903 |
+140
| --- src/util.c | ||
| +++ src/util.c | ||
| @@ -155,10 +155,124 @@ | ||
| 155 | 155 | zIn++; |
| 156 | 156 | } |
| 157 | 157 | } |
| 158 | 158 | return zStart; |
| 159 | 159 | } |
| 160 | + | |
| 161 | +/* | |
| 162 | +** If this local variable is set, fossil_assert_safe_command_string() | |
| 163 | +** returns false on an unsafe command-string rather than abort. Set | |
| 164 | +** this variable for testing. | |
| 165 | +*/ | |
| 166 | +static int safeCmdStrTest = 0; | |
| 167 | + | |
| 168 | +/* | |
| 169 | +** Check the input string to ensure that it is safe to pass into system(). | |
| 170 | +** A string is unsafe for system() on unix if it contains any of the following: | |
| 171 | +** | |
| 172 | +** * Any occurrance of '$' or '`' except after \ | |
| 173 | +** * Any of the following characters, unquoted: ;|& or \n except | |
| 174 | +** these characters are allowed as the very last character in the | |
| 175 | +** string. | |
| 176 | +** * Unbalanced single or double quotes | |
| 177 | +** | |
| 178 | +** This routine is intended as a second line of defense against attack. | |
| 179 | +** It should never fail. Dangerous shell strings should be detected and | |
| 180 | +** fixed before calling fossil_system(). This routine serves only as a | |
| 181 | +** safety net in case of bugs elsewhere in the system. | |
| 182 | +** | |
| 183 | +** If an unsafe string is seen, either abort (default) or print | |
| 184 | +** a warning message (if safeCmdStrTest is true). | |
| 185 | +*/ | |
| 186 | +static void fossil_assert_safe_command_string(const char *z){ | |
| 187 | + int unsafe = 0; | |
| 188 | +#ifndef _WIN32 | |
| 189 | + /* Unix */ | |
| 190 | + int inQuote = 0; | |
| 191 | + int i, c; | |
| 192 | + for(i=0; !unsafe && (c = z[i])!=0; i++){ | |
| 193 | + switch( c ){ | |
| 194 | + case '$': | |
| 195 | + case '`': { | |
| 196 | + if( inQuote!='\'' ) unsafe = i+1; | |
| 197 | + break; | |
| 198 | + } | |
| 199 | + case ';': | |
| 200 | + case '|': | |
| 201 | + case '&': | |
| 202 | + case '\n': { | |
| 203 | + if( inQuote!='\'' && z[i+1]!=0 ) unsafe = i+1; | |
| 204 | + break; | |
| 205 | + } | |
| 206 | + case '"': | |
| 207 | + case '\'': { | |
| 208 | + if( inQuote==0 ){ | |
| 209 | + inQuote = c; | |
| 210 | + }else if( inQuote==c ){ | |
| 211 | + inQuote = 0; | |
| 212 | + } | |
| 213 | + break; | |
| 214 | + } | |
| 215 | + case '\\': { | |
| 216 | + if( z[i+1]==0 ){ | |
| 217 | + unsafe = i+1; | |
| 218 | + }else if( inQuote!='\'' ){ | |
| 219 | + i++; | |
| 220 | + } | |
| 221 | + break; | |
| 222 | + } | |
| 223 | + } | |
| 224 | + } | |
| 225 | + if( inQuote ) unsafe = i; | |
| 226 | +#else | |
| 227 | + /* Windows */ | |
| 228 | + int i, c; | |
| 229 | + int inQuote = 0; | |
| 230 | + for(i=0; !unsafe && (c = z[i])!=0; i++){ | |
| 231 | + switch( c ){ | |
| 232 | + case '>': | |
| 233 | + case '<': | |
| 234 | + case '|': | |
| 235 | + case '&': | |
| 236 | + case '\n': { | |
| 237 | + if( inQuote==0 && z[i+1]!=0 ) unsafe = i+1; | |
| 238 | + break; | |
| 239 | + } | |
| 240 | + case '\\': { | |
| 241 | + if( z[i+1]=='"' ){ i++; } | |
| 242 | + break; | |
| 243 | + } | |
| 244 | + case '"': { | |
| 245 | + if( inQuote==c ){ | |
| 246 | + inQuote = 0; | |
| 247 | + }else{ | |
| 248 | + inQuote = c; | |
| 249 | + } | |
| 250 | + break; | |
| 251 | + } | |
| 252 | + case '^': { | |
| 253 | + if( z[i+1]=='"' ){ | |
| 254 | + unsafe = i+2; | |
| 255 | + }else if( z[i+1]!=0 ){ | |
| 256 | + i++; | |
| 257 | + } | |
| 258 | + break; | |
| 259 | + } | |
| 260 | + } | |
| 261 | + } | |
| 262 | + if( inQuote ) unsafe = i; | |
| 263 | +#endif | |
| 264 | + if( unsafe ){ | |
| 265 | + char *zMsg = mprintf("Unsafe command string: %s\n%*shere ----^", | |
| 266 | + z, unsafe+13, ""); | |
| 267 | + if( safeCmdStrTest ){ | |
| 268 | + fossil_print("%z\n", zMsg); | |
| 269 | + }else{ | |
| 270 | + fossil_panic("%s", zMsg); | |
| 271 | + } | |
| 272 | + } | |
| 273 | +} | |
| 160 | 274 | |
| 161 | 275 | /* |
| 162 | 276 | ** This function implements a cross-platform "system()" interface. |
| 163 | 277 | */ |
| 164 | 278 | int fossil_system(const char *zOrigCmd){ |
| @@ -170,17 +284,19 @@ | ||
| 170 | 284 | char *zNewCmd = mprintf("\"%s\"", zOrigCmd); |
| 171 | 285 | wchar_t *zUnicode = fossil_utf8_to_unicode(zNewCmd); |
| 172 | 286 | if( g.fSystemTrace ) { |
| 173 | 287 | fossil_trace("SYSTEM: %s\n", zNewCmd); |
| 174 | 288 | } |
| 289 | + fossil_assert_safe_command_string(zOrigCmd); | |
| 175 | 290 | rc = _wsystem(zUnicode); |
| 176 | 291 | fossil_unicode_free(zUnicode); |
| 177 | 292 | free(zNewCmd); |
| 178 | 293 | #else |
| 179 | 294 | /* On unix, evaluate the command directly. |
| 180 | 295 | */ |
| 181 | 296 | if( g.fSystemTrace ) fprintf(stderr, "SYSTEM: %s\n", zOrigCmd); |
| 297 | + fossil_assert_safe_command_string(zOrigCmd); | |
| 182 | 298 | |
| 183 | 299 | /* Unix systems should never shell-out while processing an HTTP request, |
| 184 | 300 | ** either via CGI, SCGI, or direct HTTP. The following assert verifies |
| 185 | 301 | ** this. And the following assert proves that Fossil is not vulnerable |
| 186 | 302 | ** to the ShellShock or BashDoor bug. |
| @@ -192,10 +308,34 @@ | ||
| 192 | 308 | rc = system(zOrigCmd); |
| 193 | 309 | fossil_limit_memory(1); |
| 194 | 310 | #endif |
| 195 | 311 | return rc; |
| 196 | 312 | } |
| 313 | + | |
| 314 | +/* | |
| 315 | +** COMMAND: test-fossil-system | |
| 316 | +** | |
| 317 | +** Read lines of input and send them to fossil_system() for evaluation. | |
| 318 | +** Use this command to verify that fossil_system() will not run "unsafe" | |
| 319 | +** commands. | |
| 320 | +*/ | |
| 321 | +void test_fossil_system_cmd(void){ | |
| 322 | + char zLine[10000]; | |
| 323 | + safeCmdStrTest = 1; | |
| 324 | + while(1){ | |
| 325 | + size_t n; | |
| 326 | + printf("system-test> "); | |
| 327 | + fflush(stdout); | |
| 328 | + if( !fgets(zLine, sizeof(zLine), stdin) ) break; | |
| 329 | + n = strlen(zLine); | |
| 330 | + while( n>0 && fossil_isspace(zLine[n-1]) ) n--; | |
| 331 | + zLine[n] = 0; | |
| 332 | + printf("cmd: [%s]\n", zLine); | |
| 333 | + fflush(stdout); | |
| 334 | + fossil_system(zLine); | |
| 335 | + } | |
| 336 | +} | |
| 197 | 337 | |
| 198 | 338 | /* |
| 199 | 339 | ** Like strcmp() except that it accepts NULL pointers. NULL sorts before |
| 200 | 340 | ** all non-NULL string pointers. Also, this strcmp() is a binary comparison |
| 201 | 341 | ** that does not consider locale. |
| 202 | 342 |
| --- src/util.c | |
| +++ src/util.c | |
| @@ -155,10 +155,124 @@ | |
| 155 | zIn++; |
| 156 | } |
| 157 | } |
| 158 | return zStart; |
| 159 | } |
| 160 | |
| 161 | /* |
| 162 | ** This function implements a cross-platform "system()" interface. |
| 163 | */ |
| 164 | int fossil_system(const char *zOrigCmd){ |
| @@ -170,17 +284,19 @@ | |
| 170 | char *zNewCmd = mprintf("\"%s\"", zOrigCmd); |
| 171 | wchar_t *zUnicode = fossil_utf8_to_unicode(zNewCmd); |
| 172 | if( g.fSystemTrace ) { |
| 173 | fossil_trace("SYSTEM: %s\n", zNewCmd); |
| 174 | } |
| 175 | rc = _wsystem(zUnicode); |
| 176 | fossil_unicode_free(zUnicode); |
| 177 | free(zNewCmd); |
| 178 | #else |
| 179 | /* On unix, evaluate the command directly. |
| 180 | */ |
| 181 | if( g.fSystemTrace ) fprintf(stderr, "SYSTEM: %s\n", zOrigCmd); |
| 182 | |
| 183 | /* Unix systems should never shell-out while processing an HTTP request, |
| 184 | ** either via CGI, SCGI, or direct HTTP. The following assert verifies |
| 185 | ** this. And the following assert proves that Fossil is not vulnerable |
| 186 | ** to the ShellShock or BashDoor bug. |
| @@ -192,10 +308,34 @@ | |
| 192 | rc = system(zOrigCmd); |
| 193 | fossil_limit_memory(1); |
| 194 | #endif |
| 195 | return rc; |
| 196 | } |
| 197 | |
| 198 | /* |
| 199 | ** Like strcmp() except that it accepts NULL pointers. NULL sorts before |
| 200 | ** all non-NULL string pointers. Also, this strcmp() is a binary comparison |
| 201 | ** that does not consider locale. |
| 202 |
| --- src/util.c | |
| +++ src/util.c | |
| @@ -155,10 +155,124 @@ | |
| 155 | zIn++; |
| 156 | } |
| 157 | } |
| 158 | return zStart; |
| 159 | } |
| 160 | |
| 161 | /* |
| 162 | ** If this local variable is set, fossil_assert_safe_command_string() |
| 163 | ** returns false on an unsafe command-string rather than abort. Set |
| 164 | ** this variable for testing. |
| 165 | */ |
| 166 | static int safeCmdStrTest = 0; |
| 167 | |
| 168 | /* |
| 169 | ** Check the input string to ensure that it is safe to pass into system(). |
| 170 | ** A string is unsafe for system() on unix if it contains any of the following: |
| 171 | ** |
| 172 | ** * Any occurrance of '$' or '`' except after \ |
| 173 | ** * Any of the following characters, unquoted: ;|& or \n except |
| 174 | ** these characters are allowed as the very last character in the |
| 175 | ** string. |
| 176 | ** * Unbalanced single or double quotes |
| 177 | ** |
| 178 | ** This routine is intended as a second line of defense against attack. |
| 179 | ** It should never fail. Dangerous shell strings should be detected and |
| 180 | ** fixed before calling fossil_system(). This routine serves only as a |
| 181 | ** safety net in case of bugs elsewhere in the system. |
| 182 | ** |
| 183 | ** If an unsafe string is seen, either abort (default) or print |
| 184 | ** a warning message (if safeCmdStrTest is true). |
| 185 | */ |
| 186 | static void fossil_assert_safe_command_string(const char *z){ |
| 187 | int unsafe = 0; |
| 188 | #ifndef _WIN32 |
| 189 | /* Unix */ |
| 190 | int inQuote = 0; |
| 191 | int i, c; |
| 192 | for(i=0; !unsafe && (c = z[i])!=0; i++){ |
| 193 | switch( c ){ |
| 194 | case '$': |
| 195 | case '`': { |
| 196 | if( inQuote!='\'' ) unsafe = i+1; |
| 197 | break; |
| 198 | } |
| 199 | case ';': |
| 200 | case '|': |
| 201 | case '&': |
| 202 | case '\n': { |
| 203 | if( inQuote!='\'' && z[i+1]!=0 ) unsafe = i+1; |
| 204 | break; |
| 205 | } |
| 206 | case '"': |
| 207 | case '\'': { |
| 208 | if( inQuote==0 ){ |
| 209 | inQuote = c; |
| 210 | }else if( inQuote==c ){ |
| 211 | inQuote = 0; |
| 212 | } |
| 213 | break; |
| 214 | } |
| 215 | case '\\': { |
| 216 | if( z[i+1]==0 ){ |
| 217 | unsafe = i+1; |
| 218 | }else if( inQuote!='\'' ){ |
| 219 | i++; |
| 220 | } |
| 221 | break; |
| 222 | } |
| 223 | } |
| 224 | } |
| 225 | if( inQuote ) unsafe = i; |
| 226 | #else |
| 227 | /* Windows */ |
| 228 | int i, c; |
| 229 | int inQuote = 0; |
| 230 | for(i=0; !unsafe && (c = z[i])!=0; i++){ |
| 231 | switch( c ){ |
| 232 | case '>': |
| 233 | case '<': |
| 234 | case '|': |
| 235 | case '&': |
| 236 | case '\n': { |
| 237 | if( inQuote==0 && z[i+1]!=0 ) unsafe = i+1; |
| 238 | break; |
| 239 | } |
| 240 | case '\\': { |
| 241 | if( z[i+1]=='"' ){ i++; } |
| 242 | break; |
| 243 | } |
| 244 | case '"': { |
| 245 | if( inQuote==c ){ |
| 246 | inQuote = 0; |
| 247 | }else{ |
| 248 | inQuote = c; |
| 249 | } |
| 250 | break; |
| 251 | } |
| 252 | case '^': { |
| 253 | if( z[i+1]=='"' ){ |
| 254 | unsafe = i+2; |
| 255 | }else if( z[i+1]!=0 ){ |
| 256 | i++; |
| 257 | } |
| 258 | break; |
| 259 | } |
| 260 | } |
| 261 | } |
| 262 | if( inQuote ) unsafe = i; |
| 263 | #endif |
| 264 | if( unsafe ){ |
| 265 | char *zMsg = mprintf("Unsafe command string: %s\n%*shere ----^", |
| 266 | z, unsafe+13, ""); |
| 267 | if( safeCmdStrTest ){ |
| 268 | fossil_print("%z\n", zMsg); |
| 269 | }else{ |
| 270 | fossil_panic("%s", zMsg); |
| 271 | } |
| 272 | } |
| 273 | } |
| 274 | |
| 275 | /* |
| 276 | ** This function implements a cross-platform "system()" interface. |
| 277 | */ |
| 278 | int fossil_system(const char *zOrigCmd){ |
| @@ -170,17 +284,19 @@ | |
| 284 | char *zNewCmd = mprintf("\"%s\"", zOrigCmd); |
| 285 | wchar_t *zUnicode = fossil_utf8_to_unicode(zNewCmd); |
| 286 | if( g.fSystemTrace ) { |
| 287 | fossil_trace("SYSTEM: %s\n", zNewCmd); |
| 288 | } |
| 289 | fossil_assert_safe_command_string(zOrigCmd); |
| 290 | rc = _wsystem(zUnicode); |
| 291 | fossil_unicode_free(zUnicode); |
| 292 | free(zNewCmd); |
| 293 | #else |
| 294 | /* On unix, evaluate the command directly. |
| 295 | */ |
| 296 | if( g.fSystemTrace ) fprintf(stderr, "SYSTEM: %s\n", zOrigCmd); |
| 297 | fossil_assert_safe_command_string(zOrigCmd); |
| 298 | |
| 299 | /* Unix systems should never shell-out while processing an HTTP request, |
| 300 | ** either via CGI, SCGI, or direct HTTP. The following assert verifies |
| 301 | ** this. And the following assert proves that Fossil is not vulnerable |
| 302 | ** to the ShellShock or BashDoor bug. |
| @@ -192,10 +308,34 @@ | |
| 308 | rc = system(zOrigCmd); |
| 309 | fossil_limit_memory(1); |
| 310 | #endif |
| 311 | return rc; |
| 312 | } |
| 313 | |
| 314 | /* |
| 315 | ** COMMAND: test-fossil-system |
| 316 | ** |
| 317 | ** Read lines of input and send them to fossil_system() for evaluation. |
| 318 | ** Use this command to verify that fossil_system() will not run "unsafe" |
| 319 | ** commands. |
| 320 | */ |
| 321 | void test_fossil_system_cmd(void){ |
| 322 | char zLine[10000]; |
| 323 | safeCmdStrTest = 1; |
| 324 | while(1){ |
| 325 | size_t n; |
| 326 | printf("system-test> "); |
| 327 | fflush(stdout); |
| 328 | if( !fgets(zLine, sizeof(zLine), stdin) ) break; |
| 329 | n = strlen(zLine); |
| 330 | while( n>0 && fossil_isspace(zLine[n-1]) ) n--; |
| 331 | zLine[n] = 0; |
| 332 | printf("cmd: [%s]\n", zLine); |
| 333 | fflush(stdout); |
| 334 | fossil_system(zLine); |
| 335 | } |
| 336 | } |
| 337 | |
| 338 | /* |
| 339 | ** Like strcmp() except that it accepts NULL pointers. NULL sorts before |
| 340 | ** all non-NULL string pointers. Also, this strcmp() is a binary comparison |
| 341 | ** that does not consider locale. |
| 342 |
+12
| --- src/wiki.c | ||
| +++ src/wiki.c | ||
| @@ -188,17 +188,20 @@ | ||
| 188 | 188 | ** Render wiki text according to its mimetype. |
| 189 | 189 | ** |
| 190 | 190 | ** text/x-fossil-wiki Fossil wiki |
| 191 | 191 | ** text/x-markdown Markdown |
| 192 | 192 | ** anything else... Plain text |
| 193 | +** | |
| 194 | +** If zMimetype is a null pointer, then use "text/x-fossil-wiki". | |
| 193 | 195 | */ |
| 194 | 196 | void wiki_render_by_mimetype(Blob *pWiki, const char *zMimetype){ |
| 195 | 197 | if( zMimetype==0 || fossil_strcmp(zMimetype, "text/x-fossil-wiki")==0 ){ |
| 196 | 198 | wiki_convert(pWiki, 0, 0); |
| 197 | 199 | }else if( fossil_strcmp(zMimetype, "text/x-markdown")==0 ){ |
| 198 | 200 | Blob tail = BLOB_INITIALIZER; |
| 199 | 201 | markdown_to_html(pWiki, 0, &tail); |
| 202 | + safe_html(&tail); | |
| 200 | 203 | @ %s(blob_str(&tail)) |
| 201 | 204 | blob_reset(&tail); |
| 202 | 205 | }else{ |
| 203 | 206 | @ <pre class='textPlain'> |
| 204 | 207 | @ %h(blob_str(pWiki)) |
| @@ -220,10 +223,11 @@ | ||
| 220 | 223 | }else{ |
| 221 | 224 | style_submenu_element("Plain-Text", "%R/md_rules?txt=1"); |
| 222 | 225 | } |
| 223 | 226 | blob_init(&x, builtin_text("markdown.md"), -1); |
| 224 | 227 | blob_materialize(&x); |
| 228 | + safe_html_context(DOCSRC_TRUSTED); | |
| 225 | 229 | wiki_render_by_mimetype(&x, fTxt ? "text/plain" : "text/x-markdown"); |
| 226 | 230 | blob_reset(&x); |
| 227 | 231 | style_footer(); |
| 228 | 232 | } |
| 229 | 233 | |
| @@ -241,10 +245,11 @@ | ||
| 241 | 245 | }else{ |
| 242 | 246 | style_submenu_element("Plain-Text", "%R/wiki_rules?txt=1"); |
| 243 | 247 | } |
| 244 | 248 | blob_init(&x, builtin_text("wiki.wiki"), -1); |
| 245 | 249 | blob_materialize(&x); |
| 250 | + safe_html_context(DOCSRC_TRUSTED); | |
| 246 | 251 | wiki_render_by_mimetype(&x, fTxt ? "text/plain" : "text/x-fossil-wiki"); |
| 247 | 252 | blob_reset(&x); |
| 248 | 253 | style_footer(); |
| 249 | 254 | } |
| 250 | 255 | |
| @@ -558,10 +563,11 @@ | ||
| 558 | 563 | } |
| 559 | 564 | if( zBody[0]==0 ){ |
| 560 | 565 | @ <i>This page has been deleted</i> |
| 561 | 566 | }else{ |
| 562 | 567 | blob_init(&wiki, zBody, -1); |
| 568 | + safe_html_context(DOCSRC_WIKI); | |
| 563 | 569 | wiki_render_by_mimetype(&wiki, zMimetype); |
| 564 | 570 | blob_reset(&wiki); |
| 565 | 571 | } |
| 566 | 572 | attachment_list(zPageName, "<hr /><h2>Attachments:</h2><ul>"); |
| 567 | 573 | manifest_destroy(pWiki); |
| @@ -745,10 +751,11 @@ | ||
| 745 | 751 | blob_append(&wiki, zBody, -1); |
| 746 | 752 | if( P("preview")!=0 ){ |
| 747 | 753 | havePreview = 1; |
| 748 | 754 | if( zBody[0] ){ |
| 749 | 755 | @ Preview:<hr /> |
| 756 | + safe_html_context(DOCSRC_WIKI); | |
| 750 | 757 | wiki_render_by_mimetype(&wiki, zMimetype); |
| 751 | 758 | @ <hr /> |
| 752 | 759 | blob_reset(&wiki); |
| 753 | 760 | } |
| 754 | 761 | } |
| @@ -1007,10 +1014,11 @@ | ||
| 1007 | 1014 | if( P("preview")!=0 ){ |
| 1008 | 1015 | Blob preview; |
| 1009 | 1016 | blob_zero(&preview); |
| 1010 | 1017 | appendRemark(&preview, zMimetype); |
| 1011 | 1018 | @ Preview:<hr /> |
| 1019 | + safe_html_context(DOCSRC_WIKI); | |
| 1012 | 1020 | wiki_render_by_mimetype(&preview, zMimetype); |
| 1013 | 1021 | @ <hr /> |
| 1014 | 1022 | blob_reset(&preview); |
| 1015 | 1023 | } |
| 1016 | 1024 | zUser = PD("u", g.zLogin); |
| @@ -1558,10 +1566,12 @@ | ||
| 1558 | 1566 | ** input blob before appending the output, which is |
| 1559 | 1567 | ** different from wiki_convert() and htmlize_to_blob(), and |
| 1560 | 1568 | ** precludes us simply appending the opening <html><body> |
| 1561 | 1569 | ** part to the body |
| 1562 | 1570 | */; |
| 1571 | + safe_html_context(DOCSRC_WIKI); | |
| 1572 | + safe_html(&html); | |
| 1563 | 1573 | }else if( fossil_strcmp(zMimetype, "text/plain")==0 ){ |
| 1564 | 1574 | htmlize_to_blob(&html,zBody,i); |
| 1565 | 1575 | }else{ |
| 1566 | 1576 | fossil_fatal("Unsupported MIME type '%s' for wiki page '%s'.", |
| 1567 | 1577 | zMimetype, pWiki->zWikiTitle ); |
| @@ -1799,10 +1809,12 @@ | ||
| 1799 | 1809 | }else{ |
| 1800 | 1810 | wiki_section_label(zPrefix, zName, mFlags); |
| 1801 | 1811 | } |
| 1802 | 1812 | wiki_submenu_to_edit_wiki(zPrefix, zName, mFlags); |
| 1803 | 1813 | @ <div class="accordion_panel"> |
| 1814 | + safe_html_context(DOCSRC_WIKI); | |
| 1815 | + safe_html(&tail); | |
| 1804 | 1816 | convert_href_and_output(&tail); |
| 1805 | 1817 | @ </div> |
| 1806 | 1818 | blob_reset(&tail); |
| 1807 | 1819 | blob_reset(&title); |
| 1808 | 1820 | blob_reset(&markdown); |
| 1809 | 1821 |
| --- src/wiki.c | |
| +++ src/wiki.c | |
| @@ -188,17 +188,20 @@ | |
| 188 | ** Render wiki text according to its mimetype. |
| 189 | ** |
| 190 | ** text/x-fossil-wiki Fossil wiki |
| 191 | ** text/x-markdown Markdown |
| 192 | ** anything else... Plain text |
| 193 | */ |
| 194 | void wiki_render_by_mimetype(Blob *pWiki, const char *zMimetype){ |
| 195 | if( zMimetype==0 || fossil_strcmp(zMimetype, "text/x-fossil-wiki")==0 ){ |
| 196 | wiki_convert(pWiki, 0, 0); |
| 197 | }else if( fossil_strcmp(zMimetype, "text/x-markdown")==0 ){ |
| 198 | Blob tail = BLOB_INITIALIZER; |
| 199 | markdown_to_html(pWiki, 0, &tail); |
| 200 | @ %s(blob_str(&tail)) |
| 201 | blob_reset(&tail); |
| 202 | }else{ |
| 203 | @ <pre class='textPlain'> |
| 204 | @ %h(blob_str(pWiki)) |
| @@ -220,10 +223,11 @@ | |
| 220 | }else{ |
| 221 | style_submenu_element("Plain-Text", "%R/md_rules?txt=1"); |
| 222 | } |
| 223 | blob_init(&x, builtin_text("markdown.md"), -1); |
| 224 | blob_materialize(&x); |
| 225 | wiki_render_by_mimetype(&x, fTxt ? "text/plain" : "text/x-markdown"); |
| 226 | blob_reset(&x); |
| 227 | style_footer(); |
| 228 | } |
| 229 | |
| @@ -241,10 +245,11 @@ | |
| 241 | }else{ |
| 242 | style_submenu_element("Plain-Text", "%R/wiki_rules?txt=1"); |
| 243 | } |
| 244 | blob_init(&x, builtin_text("wiki.wiki"), -1); |
| 245 | blob_materialize(&x); |
| 246 | wiki_render_by_mimetype(&x, fTxt ? "text/plain" : "text/x-fossil-wiki"); |
| 247 | blob_reset(&x); |
| 248 | style_footer(); |
| 249 | } |
| 250 | |
| @@ -558,10 +563,11 @@ | |
| 558 | } |
| 559 | if( zBody[0]==0 ){ |
| 560 | @ <i>This page has been deleted</i> |
| 561 | }else{ |
| 562 | blob_init(&wiki, zBody, -1); |
| 563 | wiki_render_by_mimetype(&wiki, zMimetype); |
| 564 | blob_reset(&wiki); |
| 565 | } |
| 566 | attachment_list(zPageName, "<hr /><h2>Attachments:</h2><ul>"); |
| 567 | manifest_destroy(pWiki); |
| @@ -745,10 +751,11 @@ | |
| 745 | blob_append(&wiki, zBody, -1); |
| 746 | if( P("preview")!=0 ){ |
| 747 | havePreview = 1; |
| 748 | if( zBody[0] ){ |
| 749 | @ Preview:<hr /> |
| 750 | wiki_render_by_mimetype(&wiki, zMimetype); |
| 751 | @ <hr /> |
| 752 | blob_reset(&wiki); |
| 753 | } |
| 754 | } |
| @@ -1007,10 +1014,11 @@ | |
| 1007 | if( P("preview")!=0 ){ |
| 1008 | Blob preview; |
| 1009 | blob_zero(&preview); |
| 1010 | appendRemark(&preview, zMimetype); |
| 1011 | @ Preview:<hr /> |
| 1012 | wiki_render_by_mimetype(&preview, zMimetype); |
| 1013 | @ <hr /> |
| 1014 | blob_reset(&preview); |
| 1015 | } |
| 1016 | zUser = PD("u", g.zLogin); |
| @@ -1558,10 +1566,12 @@ | |
| 1558 | ** input blob before appending the output, which is |
| 1559 | ** different from wiki_convert() and htmlize_to_blob(), and |
| 1560 | ** precludes us simply appending the opening <html><body> |
| 1561 | ** part to the body |
| 1562 | */; |
| 1563 | }else if( fossil_strcmp(zMimetype, "text/plain")==0 ){ |
| 1564 | htmlize_to_blob(&html,zBody,i); |
| 1565 | }else{ |
| 1566 | fossil_fatal("Unsupported MIME type '%s' for wiki page '%s'.", |
| 1567 | zMimetype, pWiki->zWikiTitle ); |
| @@ -1799,10 +1809,12 @@ | |
| 1799 | }else{ |
| 1800 | wiki_section_label(zPrefix, zName, mFlags); |
| 1801 | } |
| 1802 | wiki_submenu_to_edit_wiki(zPrefix, zName, mFlags); |
| 1803 | @ <div class="accordion_panel"> |
| 1804 | convert_href_and_output(&tail); |
| 1805 | @ </div> |
| 1806 | blob_reset(&tail); |
| 1807 | blob_reset(&title); |
| 1808 | blob_reset(&markdown); |
| 1809 |
| --- src/wiki.c | |
| +++ src/wiki.c | |
| @@ -188,17 +188,20 @@ | |
| 188 | ** Render wiki text according to its mimetype. |
| 189 | ** |
| 190 | ** text/x-fossil-wiki Fossil wiki |
| 191 | ** text/x-markdown Markdown |
| 192 | ** anything else... Plain text |
| 193 | ** |
| 194 | ** If zMimetype is a null pointer, then use "text/x-fossil-wiki". |
| 195 | */ |
| 196 | void wiki_render_by_mimetype(Blob *pWiki, const char *zMimetype){ |
| 197 | if( zMimetype==0 || fossil_strcmp(zMimetype, "text/x-fossil-wiki")==0 ){ |
| 198 | wiki_convert(pWiki, 0, 0); |
| 199 | }else if( fossil_strcmp(zMimetype, "text/x-markdown")==0 ){ |
| 200 | Blob tail = BLOB_INITIALIZER; |
| 201 | markdown_to_html(pWiki, 0, &tail); |
| 202 | safe_html(&tail); |
| 203 | @ %s(blob_str(&tail)) |
| 204 | blob_reset(&tail); |
| 205 | }else{ |
| 206 | @ <pre class='textPlain'> |
| 207 | @ %h(blob_str(pWiki)) |
| @@ -220,10 +223,11 @@ | |
| 223 | }else{ |
| 224 | style_submenu_element("Plain-Text", "%R/md_rules?txt=1"); |
| 225 | } |
| 226 | blob_init(&x, builtin_text("markdown.md"), -1); |
| 227 | blob_materialize(&x); |
| 228 | safe_html_context(DOCSRC_TRUSTED); |
| 229 | wiki_render_by_mimetype(&x, fTxt ? "text/plain" : "text/x-markdown"); |
| 230 | blob_reset(&x); |
| 231 | style_footer(); |
| 232 | } |
| 233 | |
| @@ -241,10 +245,11 @@ | |
| 245 | }else{ |
| 246 | style_submenu_element("Plain-Text", "%R/wiki_rules?txt=1"); |
| 247 | } |
| 248 | blob_init(&x, builtin_text("wiki.wiki"), -1); |
| 249 | blob_materialize(&x); |
| 250 | safe_html_context(DOCSRC_TRUSTED); |
| 251 | wiki_render_by_mimetype(&x, fTxt ? "text/plain" : "text/x-fossil-wiki"); |
| 252 | blob_reset(&x); |
| 253 | style_footer(); |
| 254 | } |
| 255 | |
| @@ -558,10 +563,11 @@ | |
| 563 | } |
| 564 | if( zBody[0]==0 ){ |
| 565 | @ <i>This page has been deleted</i> |
| 566 | }else{ |
| 567 | blob_init(&wiki, zBody, -1); |
| 568 | safe_html_context(DOCSRC_WIKI); |
| 569 | wiki_render_by_mimetype(&wiki, zMimetype); |
| 570 | blob_reset(&wiki); |
| 571 | } |
| 572 | attachment_list(zPageName, "<hr /><h2>Attachments:</h2><ul>"); |
| 573 | manifest_destroy(pWiki); |
| @@ -745,10 +751,11 @@ | |
| 751 | blob_append(&wiki, zBody, -1); |
| 752 | if( P("preview")!=0 ){ |
| 753 | havePreview = 1; |
| 754 | if( zBody[0] ){ |
| 755 | @ Preview:<hr /> |
| 756 | safe_html_context(DOCSRC_WIKI); |
| 757 | wiki_render_by_mimetype(&wiki, zMimetype); |
| 758 | @ <hr /> |
| 759 | blob_reset(&wiki); |
| 760 | } |
| 761 | } |
| @@ -1007,10 +1014,11 @@ | |
| 1014 | if( P("preview")!=0 ){ |
| 1015 | Blob preview; |
| 1016 | blob_zero(&preview); |
| 1017 | appendRemark(&preview, zMimetype); |
| 1018 | @ Preview:<hr /> |
| 1019 | safe_html_context(DOCSRC_WIKI); |
| 1020 | wiki_render_by_mimetype(&preview, zMimetype); |
| 1021 | @ <hr /> |
| 1022 | blob_reset(&preview); |
| 1023 | } |
| 1024 | zUser = PD("u", g.zLogin); |
| @@ -1558,10 +1566,12 @@ | |
| 1566 | ** input blob before appending the output, which is |
| 1567 | ** different from wiki_convert() and htmlize_to_blob(), and |
| 1568 | ** precludes us simply appending the opening <html><body> |
| 1569 | ** part to the body |
| 1570 | */; |
| 1571 | safe_html_context(DOCSRC_WIKI); |
| 1572 | safe_html(&html); |
| 1573 | }else if( fossil_strcmp(zMimetype, "text/plain")==0 ){ |
| 1574 | htmlize_to_blob(&html,zBody,i); |
| 1575 | }else{ |
| 1576 | fossil_fatal("Unsupported MIME type '%s' for wiki page '%s'.", |
| 1577 | zMimetype, pWiki->zWikiTitle ); |
| @@ -1799,10 +1809,12 @@ | |
| 1809 | }else{ |
| 1810 | wiki_section_label(zPrefix, zName, mFlags); |
| 1811 | } |
| 1812 | wiki_submenu_to_edit_wiki(zPrefix, zName, mFlags); |
| 1813 | @ <div class="accordion_panel"> |
| 1814 | safe_html_context(DOCSRC_WIKI); |
| 1815 | safe_html(&tail); |
| 1816 | convert_href_and_output(&tail); |
| 1817 | @ </div> |
| 1818 | blob_reset(&tail); |
| 1819 | blob_reset(&title); |
| 1820 | blob_reset(&markdown); |
| 1821 |
+322
-14
| --- src/wikiformat.c | ||
| +++ src/wikiformat.c | ||
| @@ -31,10 +31,11 @@ | ||
| 31 | 31 | #define WIKI_BUTTONS 0x008 /* Allow sub-menu buttons */ |
| 32 | 32 | #define WIKI_NOBADLINKS 0x010 /* Ignore broken hyperlinks */ |
| 33 | 33 | #define WIKI_LINKSONLY 0x020 /* No markup. Only decorate links */ |
| 34 | 34 | #define WIKI_NEWLINE 0x040 /* Honor \n - break lines at each \n */ |
| 35 | 35 | #define WIKI_MARKDOWNLINKS 0x080 /* Resolve hyperlinks as in markdown */ |
| 36 | +#define WIKI_SAFE 0x100 /* Make the result safe for embedding */ | |
| 36 | 37 | #endif |
| 37 | 38 | |
| 38 | 39 | |
| 39 | 40 | /* |
| 40 | 41 | ** These are the only markup attributes allowed. |
| @@ -248,10 +249,13 @@ | ||
| 248 | 249 | #define MUTYPE_TABLE 0x0040 /* <table> */ |
| 249 | 250 | #define MUTYPE_TR 0x0080 /* <tr> */ |
| 250 | 251 | #define MUTYPE_TD 0x0100 /* <td> or <th> */ |
| 251 | 252 | #define MUTYPE_SPECIAL 0x0200 /* <nowiki> or <verbatim> */ |
| 252 | 253 | #define MUTYPE_HYPERLINK 0x0400 /* <a> */ |
| 254 | + | |
| 255 | +/* MUTYPE values for elements that require strictly nested end-tags */ | |
| 256 | +#define MUTYPE_Nested 0x0656 | |
| 253 | 257 | |
| 254 | 258 | /* |
| 255 | 259 | ** These markup types must have an end tag. |
| 256 | 260 | */ |
| 257 | 261 | #define MUTYPE_STACK (MUTYPE_BLOCK | MUTYPE_FONT | MUTYPE_LIST | MUTYPE_TABLE) |
| @@ -469,11 +473,11 @@ | ||
| 469 | 473 | ** z points to a "<" character. Check to see if this is the start of |
| 470 | 474 | ** a valid markup. If it is, return the total number of characters in |
| 471 | 475 | ** the markup including the initial "<" and the terminating ">". If |
| 472 | 476 | ** it is not well-formed markup, return 0. |
| 473 | 477 | */ |
| 474 | -int htmlTagLength(const char *z){ | |
| 478 | +int html_tag_length(const char *z){ | |
| 475 | 479 | int n = 1; |
| 476 | 480 | int inparen = 0; |
| 477 | 481 | int c; |
| 478 | 482 | if( z[n]=='/' ){ n++; } |
| 479 | 483 | if( !fossil_isalpha(z[n]) ) return 0; |
| @@ -656,11 +660,11 @@ | ||
| 656 | 660 | ** characters in that token. Write the token type into *pTokenType. |
| 657 | 661 | */ |
| 658 | 662 | static int nextWikiToken(const char *z, Renderer *p, int *pTokenType){ |
| 659 | 663 | int n; |
| 660 | 664 | if( z[0]=='<' ){ |
| 661 | - n = htmlTagLength(z); | |
| 665 | + n = html_tag_length(z); | |
| 662 | 666 | if( n>0 ){ |
| 663 | 667 | *pTokenType = TOKEN_MARKUP; |
| 664 | 668 | return n; |
| 665 | 669 | }else{ |
| 666 | 670 | *pTokenType = TOKEN_CHARACTER; |
| @@ -1741,13 +1745,10 @@ | ||
| 1741 | 1745 | Renderer renderer; |
| 1742 | 1746 | |
| 1743 | 1747 | memset(&renderer, 0, sizeof(renderer)); |
| 1744 | 1748 | renderer.renderFlags = flags; |
| 1745 | 1749 | renderer.state = ALLOW_WIKI|AT_NEWLINE|AT_PARAGRAPH|flags; |
| 1746 | - if( flags & WIKI_NOBLOCK ){ | |
| 1747 | - renderer.state |= INLINE_MARKUP_ONLY; | |
| 1748 | - } | |
| 1749 | 1750 | if( flags & WIKI_INLINE ){ |
| 1750 | 1751 | renderer.wantAutoParagraph = 0; |
| 1751 | 1752 | }else{ |
| 1752 | 1753 | renderer.wantAutoParagraph = 1; |
| 1753 | 1754 | } |
| @@ -1805,25 +1806,37 @@ | ||
| 1805 | 1806 | } |
| 1806 | 1807 | |
| 1807 | 1808 | /* |
| 1808 | 1809 | ** COMMAND: test-markdown-render |
| 1809 | 1810 | ** |
| 1810 | -** Usage: %fossil test-markdown-render FILE | |
| 1811 | +** Usage: %fossil test-markdown-render FILE ... | |
| 1811 | 1812 | ** |
| 1812 | 1813 | ** Render markdown in FILE as HTML on stdout. |
| 1814 | +** Options: | |
| 1815 | +** | |
| 1816 | +** --safe Restrict the output to use only "safe" HTML | |
| 1813 | 1817 | */ |
| 1814 | 1818 | void test_markdown_render(void){ |
| 1815 | 1819 | Blob in, out; |
| 1820 | + int i; | |
| 1821 | + int bSafe = 0; | |
| 1816 | 1822 | db_find_and_open_repository(OPEN_OK_NOT_FOUND|OPEN_SUBSTITUTE,0); |
| 1823 | + bSafe = find_option("safe",0,0)!=0; | |
| 1817 | 1824 | verify_all_options(); |
| 1818 | - if( g.argc!=3 ) usage("FILE"); | |
| 1819 | - blob_zero(&out); | |
| 1820 | - blob_read_from_file(&in, g.argv[2], ExtFILE); | |
| 1821 | - markdown_to_html(&in, 0, &out); | |
| 1822 | - blob_write_to_file(&out, "-"); | |
| 1823 | - blob_reset(&in); | |
| 1824 | - blob_reset(&out); | |
| 1825 | + for(i=2; i<g.argc; i++){ | |
| 1826 | + blob_zero(&out); | |
| 1827 | + blob_read_from_file(&in, g.argv[i], ExtFILE); | |
| 1828 | + if( g.argc>3 ){ | |
| 1829 | + fossil_print("<!------ %h ------->\n", g.argv[i]); | |
| 1830 | + } | |
| 1831 | + markdown_to_html(&in, 0, &out); | |
| 1832 | + safe_html_context( bSafe ? DOCSRC_UNTRUSTED : DOCSRC_TRUSTED ); | |
| 1833 | + safe_html(&out); | |
| 1834 | + blob_write_to_file(&out, "-"); | |
| 1835 | + blob_reset(&in); | |
| 1836 | + blob_reset(&out); | |
| 1837 | + } | |
| 1825 | 1838 | } |
| 1826 | 1839 | |
| 1827 | 1840 | /* |
| 1828 | 1841 | ** Search for a <title>...</title> at the beginning of a wiki page. |
| 1829 | 1842 | ** Return true (nonzero) if a title is found. Return zero if there is |
| @@ -2026,11 +2039,11 @@ | ||
| 2026 | 2039 | */ |
| 2027 | 2040 | int html_token_length(const char *z){ |
| 2028 | 2041 | int n; |
| 2029 | 2042 | char c; |
| 2030 | 2043 | if( (c=z[0])=='<' ){ |
| 2031 | - n = htmlTagLength(z); | |
| 2044 | + n = html_tag_length(z); | |
| 2032 | 2045 | if( n<=0 ) n = 1; |
| 2033 | 2046 | }else if( fossil_isspace(c) ){ |
| 2034 | 2047 | for(n=1; z[n] && fossil_isspace(z[n]); n++){} |
| 2035 | 2048 | }else if( c=='&' ){ |
| 2036 | 2049 | n = z[1]=='#' ? 2 : 1; |
| @@ -2396,5 +2409,300 @@ | ||
| 2396 | 2409 | blob_reset(&in); |
| 2397 | 2410 | fossil_puts(blob_str(&out), 0); |
| 2398 | 2411 | blob_reset(&out); |
| 2399 | 2412 | } |
| 2400 | 2413 | } |
| 2414 | + | |
| 2415 | +/**************************************************************************** | |
| 2416 | +** safe-html: | |
| 2417 | +** | |
| 2418 | +** An interface for preventing HTML constructs (ex: <style>, <form>, etc) | |
| 2419 | +** from being inserted into Wiki and Forum posts using Markdown. See the | |
| 2420 | +** comment on safe_html_append() for additional information on what is meant | |
| 2421 | +** by "safe". | |
| 2422 | +** | |
| 2423 | +** The safe-html restrictions only apply to Markdown, as Fossil-Wiki only | |
| 2424 | +** allows safe-html by design - unsafe-HTML is never and has never been | |
| 2425 | +** allowed in Fossil-Wiki. | |
| 2426 | +** | |
| 2427 | +** This code is in the wikiformat.c file so that it can have access to the | |
| 2428 | +** white-list of acceptable HTML in the aMarkup[] array. | |
| 2429 | +*/ | |
| 2430 | + | |
| 2431 | +/* | |
| 2432 | +** An instance of this object keeps track of the nesting of HTML | |
| 2433 | +** elements for safe_html_append(). | |
| 2434 | +*/ | |
| 2435 | +typedef struct HtmlTagStack HtmlTagStack; | |
| 2436 | +struct HtmlTagStack { | |
| 2437 | + int n; /* Current tag stack depth */ | |
| 2438 | + int nAlloc; /* Space allocated for aStack[] */ | |
| 2439 | + int *aStack; /* The stack of tags */ | |
| 2440 | + int aSpace[10]; /* Initial static space, to avoid malloc() */ | |
| 2441 | +}; | |
| 2442 | + | |
| 2443 | +/* | |
| 2444 | +** Initialize bulk memory to a valid empty tagstack. | |
| 2445 | +*/ | |
| 2446 | +static void html_tagstack_init(HtmlTagStack *p){ | |
| 2447 | + p->n = 0; | |
| 2448 | + p->nAlloc = 0; | |
| 2449 | + p->aStack = p->aSpace; | |
| 2450 | +} | |
| 2451 | + | |
| 2452 | +/* | |
| 2453 | +** Push a new element onto the tag statk | |
| 2454 | +*/ | |
| 2455 | +static void html_tagstack_push(HtmlTagStack *p, int e){ | |
| 2456 | + if( p->n>=ArraySize(p->aSpace) && p->n>=p->nAlloc ){ | |
| 2457 | + if( p->nAlloc==0 ){ | |
| 2458 | + int *aNew; | |
| 2459 | + p->nAlloc = 50; | |
| 2460 | + aNew = fossil_malloc( sizeof(p->aStack[0])*p->nAlloc ); | |
| 2461 | + memcpy(aNew, p->aStack, sizeof(p->aStack[0])*p->n ); | |
| 2462 | + p->aStack = aNew; | |
| 2463 | + }else{ | |
| 2464 | + p->nAlloc *= 2; | |
| 2465 | + p->aStack = fossil_realloc(p->aStack, sizeof(p->aStack[0])*p->nAlloc ); | |
| 2466 | + } | |
| 2467 | + } | |
| 2468 | + p->aStack[p->n++] = e; | |
| 2469 | +} | |
| 2470 | + | |
| 2471 | +/* | |
| 2472 | +** Clear a tag stack, reclaiming any memory allocations. | |
| 2473 | +*/ | |
| 2474 | +static void html_tagstack_clear(HtmlTagStack *p){ | |
| 2475 | + if( p->nAlloc ){ | |
| 2476 | + fossil_free(p->aStack); | |
| 2477 | + p->nAlloc = 0; | |
| 2478 | + p->aStack = p->aSpace; | |
| 2479 | + } | |
| 2480 | + p->n = 0; | |
| 2481 | +} | |
| 2482 | + | |
| 2483 | +/* | |
| 2484 | +** The HTML end-tag eEnd wants to be added to pBlob. | |
| 2485 | +** | |
| 2486 | +** If an open-tag for eEnd exists anywhere on the stack, then | |
| 2487 | +** pop it and all prior elements from the task, issuing appropriate | |
| 2488 | +** end-tags as you go. | |
| 2489 | +** | |
| 2490 | +** If there is no open-tag for eEnd on the stack, then this | |
| 2491 | +** routine is a no-op. | |
| 2492 | +*/ | |
| 2493 | +static void html_tagstack_pop(HtmlTagStack *p, Blob *pBlob, int eEnd){ | |
| 2494 | + int i, e; | |
| 2495 | + if( eEnd!=0 ){ | |
| 2496 | + for(i=p->n-1; i>=0 && p->aStack[i]!=eEnd; i--){} | |
| 2497 | + if( i<0 ){ | |
| 2498 | + blob_appendf(pBlob, "<span class='error'></%s></span>", | |
| 2499 | + aMarkup[eEnd].zName); | |
| 2500 | + return; | |
| 2501 | + } | |
| 2502 | + }else if( p->n==0 ){ | |
| 2503 | + return; | |
| 2504 | + } | |
| 2505 | + do{ | |
| 2506 | + e = p->aStack[--p->n]; | |
| 2507 | + if( e==eEnd || (aMarkup[e].iType & MUTYPE_Nested)!=0 ){ | |
| 2508 | + blob_appendf(pBlob, "</%s>", aMarkup[e].zName); | |
| 2509 | + } | |
| 2510 | + }while( e!=eEnd && p->n>0 ); | |
| 2511 | +} | |
| 2512 | + | |
| 2513 | +/* | |
| 2514 | +** Append a safe translation of HTML text to a Blob object. | |
| 2515 | +** | |
| 2516 | +** Restriction: The input to this routine must be writable. | |
| 2517 | +* Temporary changes may be made to the input, but the input is restored | |
| 2518 | +** to its original state prior to returning. If zHtml[nHtml] is not a | |
| 2519 | +** zero character, then a zero might be written in that position | |
| 2520 | +** temporarily, but that slot will also be restored before this routine | |
| 2521 | +** returns. | |
| 2522 | +*/ | |
| 2523 | +static void safe_html_append(Blob *pBlob, char *zHtml, int nHtml){ | |
| 2524 | + char cLast; | |
| 2525 | + int i, j, n; | |
| 2526 | + HtmlTagStack s; | |
| 2527 | + ParsedMarkup markup; | |
| 2528 | + | |
| 2529 | + if( nHtml<=0 ) return; | |
| 2530 | + cLast = zHtml[nHtml]; | |
| 2531 | + zHtml[nHtml] = 0; | |
| 2532 | + html_tagstack_init(&s); | |
| 2533 | + | |
| 2534 | + i = 0; | |
| 2535 | + while( i<nHtml ){ | |
| 2536 | + if( zHtml[i]=='<' ){ | |
| 2537 | + j = i; | |
| 2538 | + }else{ | |
| 2539 | + char *z = strchr(zHtml+i, '<'); | |
| 2540 | + if( z==0 ){ | |
| 2541 | + blob_append(pBlob, zHtml+i, nHtml-i); | |
| 2542 | + break; | |
| 2543 | + } | |
| 2544 | + j = (int)(z - zHtml); | |
| 2545 | + blob_append(pBlob, zHtml+i, j-i); | |
| 2546 | + } | |
| 2547 | + n = html_tag_length(zHtml+j); | |
| 2548 | + if( n==0 ){ | |
| 2549 | + blob_append(pBlob, "<", 4); | |
| 2550 | + i = j+1; | |
| 2551 | + continue; | |
| 2552 | + }else{ | |
| 2553 | + i = j + n; | |
| 2554 | + } | |
| 2555 | + parseMarkup(&markup, zHtml+j); | |
| 2556 | + if( markup.iCode==MARKUP_INVALID ){ | |
| 2557 | + unparseMarkup(&markup); | |
| 2558 | + blob_appendf(pBlob, "<span class='error'><%.*s></span>", | |
| 2559 | + n-2, zHtml+j+1); | |
| 2560 | + continue; | |
| 2561 | + } | |
| 2562 | + if( (markup.iType & MUTYPE_Nested)==0 || markup.iCode==MARKUP_P ){ | |
| 2563 | + renderMarkup(pBlob, &markup); | |
| 2564 | + }else{ | |
| 2565 | + if( markup.endTag ){ | |
| 2566 | + html_tagstack_pop(&s, pBlob, markup.iCode); | |
| 2567 | + }else{ | |
| 2568 | + renderMarkup(pBlob, &markup); | |
| 2569 | + html_tagstack_push(&s, markup.iCode); | |
| 2570 | + } | |
| 2571 | + } | |
| 2572 | + unparseMarkup(&markup); | |
| 2573 | + } | |
| 2574 | + html_tagstack_pop(&s, pBlob, 0); | |
| 2575 | + html_tagstack_clear(&s); | |
| 2576 | + zHtml[nHtml] = cLast; | |
| 2577 | +} | |
| 2578 | + | |
| 2579 | +/* | |
| 2580 | +** This local variable is true if the safe_html() function is enabled. | |
| 2581 | +** In other words, this is true if the output of Markdown should be | |
| 2582 | +** restricted to use only "safe" HTML. | |
| 2583 | +*/ | |
| 2584 | +static int safeHtmlEnable = 1; | |
| 2585 | + | |
| 2586 | + | |
| 2587 | +#if INTERFACE | |
| 2588 | +/* | |
| 2589 | +** Allowed values for the eTrust parameter to safe_html_context(). | |
| 2590 | +*/ | |
| 2591 | +#define DOCSRC_FILE 1 /* Document is a checked-in file */ | |
| 2592 | +#define DOCSRC_FORUM 2 /* Document is a forum post */ | |
| 2593 | +#define DOCSRC_TICKET 3 /* Document is a ticket comment */ | |
| 2594 | +#define DOCSRC_WIKI 4 /* Document is a wiki page */ | |
| 2595 | +#define DOCSRC_TRUSTED 5 /* safe_html() is always a no-op */ | |
| 2596 | +#define DOCSRC_UNTRUSTED 6 /* safe_html() is always enabled */ | |
| 2597 | +#endif /* INTERFACE */ | |
| 2598 | + | |
| 2599 | + | |
| 2600 | +/* | |
| 2601 | +** Specify the context in which a markdown document with potentially | |
| 2602 | +** unsafe HTML will be rendered. | |
| 2603 | +*/ | |
| 2604 | +void safe_html_context(int eTrust){ | |
| 2605 | + static const char *zSafeHtmlSetting = 0; | |
| 2606 | + char cPerm = 0; | |
| 2607 | + if( eTrust==DOCSRC_TRUSTED ){ | |
| 2608 | + safeHtmlEnable = 0; | |
| 2609 | + return; | |
| 2610 | + } | |
| 2611 | + if( eTrust==DOCSRC_UNTRUSTED ){ | |
| 2612 | + safeHtmlEnable = 1; | |
| 2613 | + return; | |
| 2614 | + } | |
| 2615 | + if( zSafeHtmlSetting==0 ){ | |
| 2616 | + zSafeHtmlSetting = db_get("safe-html", ""); | |
| 2617 | + } | |
| 2618 | + switch( eTrust ){ | |
| 2619 | + case DOCSRC_FILE: cPerm = 'b'; break; | |
| 2620 | + case DOCSRC_FORUM: cPerm = 'f'; break; | |
| 2621 | + case DOCSRC_TICKET: cPerm = 't'; break; | |
| 2622 | + case DOCSRC_WIKI: cPerm = 'w'; break; | |
| 2623 | + } | |
| 2624 | + safeHtmlEnable = (strchr(zSafeHtmlSetting,cPerm)==0); | |
| 2625 | +} | |
| 2626 | + | |
| 2627 | +/* | |
| 2628 | +** The input blob contains HTML. If safe-html is enabled, then | |
| 2629 | +** convert the input into "safe HTML". The following modifications | |
| 2630 | +** are made: | |
| 2631 | +** | |
| 2632 | +** 1. Remove any elements that are not on the AllowedMarkup list. | |
| 2633 | +** (ex: <script>, <form>, etc.) | |
| 2634 | +** | |
| 2635 | +** 2. Remove any attributes that are not on the AllowedMarkup list. | |
| 2636 | +** (ex: onload=, id=, etc.) | |
| 2637 | +** | |
| 2638 | +** 3. Omit any surplus close-tags. This prevents the script from | |
| 2639 | +** terminating an <div> or similar in the outer context. | |
| 2640 | +** | |
| 2641 | +** 4. Insert additional close-tags as necessary so that any | |
| 2642 | +** tag in the input that needs a close-tag has one. This | |
| 2643 | +** prevents tags in the embedded script from affecting the | |
| 2644 | +** display of content that follows this script in the enclosing | |
| 2645 | +** context. | |
| 2646 | +** | |
| 2647 | +** This modifications are intended to make the generated HTML safe | |
| 2648 | +** to be embedded in a larger HTML document, such that the embedded | |
| 2649 | +** HTML has no influence on the formatting and operation of the | |
| 2650 | +** larger document. | |
| 2651 | +** | |
| 2652 | +** If safe-html is disabled, then this routine is a no-op. | |
| 2653 | +*/ | |
| 2654 | +void safe_html(Blob *in){ | |
| 2655 | + Blob out; /* Holding area for the revised text during construction */ | |
| 2656 | + char *z; /* Original input text */ | |
| 2657 | + int n; /* Number of bytes in the original input text */ | |
| 2658 | + int k; | |
| 2659 | + | |
| 2660 | + if( safeHtmlEnable==0 ) return; | |
| 2661 | + z = blob_str(in); | |
| 2662 | + n = blob_size(in); | |
| 2663 | + blob_init(&out, 0, 0); | |
| 2664 | + while( fossil_isspace(z[0]) ){ z++; n--; } | |
| 2665 | + for(k=n-1; k>5 && fossil_isspace(z[k]); k--){} | |
| 2666 | + | |
| 2667 | + if( fossil_strnicmp(z, "<div",4)==0 && !fossil_isalpha(z[4]) | |
| 2668 | + && fossil_strnicmp(z+k-5, "</div>",6)==0 | |
| 2669 | + ){ | |
| 2670 | + /* The input contains an outer <div>...</div>. Preserve the | |
| 2671 | + ** full scope of that <div>. */ | |
| 2672 | + int m = html_tag_length(z); | |
| 2673 | + k -= 5; | |
| 2674 | + blob_append(&out, z, m); | |
| 2675 | + safe_html_append(&out, z+m, k-m); | |
| 2676 | + blob_append(&out, z+k, n-k); | |
| 2677 | + }else{ | |
| 2678 | + safe_html_append(&out, z, n); | |
| 2679 | + } | |
| 2680 | + blob_reset(in); | |
| 2681 | + *in = out; | |
| 2682 | +} | |
| 2683 | + | |
| 2684 | +/* | |
| 2685 | +** COMMAND: test-safe-html | |
| 2686 | +** | |
| 2687 | +** Usage: %fossil test-safe-html FILE ... | |
| 2688 | +** | |
| 2689 | +** Read files named on the command-line. Send the text of each file | |
| 2690 | +** through safe_html_append() and then write the result on | |
| 2691 | +** standard output. | |
| 2692 | +*/ | |
| 2693 | +void test_safe_html_cmd(void){ | |
| 2694 | + int i; | |
| 2695 | + Blob x; | |
| 2696 | + for(i=2; i<g.argc; i++){ | |
| 2697 | + char *z; | |
| 2698 | + int n; | |
| 2699 | + blob_read_from_file(&x, g.argv[i], ExtFILE); | |
| 2700 | + blob_terminate(&x); | |
| 2701 | + safe_html(&x); | |
| 2702 | + z = blob_str(&x); | |
| 2703 | + n = blob_size(&x); | |
| 2704 | + while( n>0 && (z[n-1]=='\n' || z[n-1]=='\r') ) n--; | |
| 2705 | + fossil_print("%.*s\n", n, z); | |
| 2706 | + blob_reset(&x); | |
| 2707 | + } | |
| 2708 | +} | |
| 2401 | 2709 |
| --- src/wikiformat.c | |
| +++ src/wikiformat.c | |
| @@ -31,10 +31,11 @@ | |
| 31 | #define WIKI_BUTTONS 0x008 /* Allow sub-menu buttons */ |
| 32 | #define WIKI_NOBADLINKS 0x010 /* Ignore broken hyperlinks */ |
| 33 | #define WIKI_LINKSONLY 0x020 /* No markup. Only decorate links */ |
| 34 | #define WIKI_NEWLINE 0x040 /* Honor \n - break lines at each \n */ |
| 35 | #define WIKI_MARKDOWNLINKS 0x080 /* Resolve hyperlinks as in markdown */ |
| 36 | #endif |
| 37 | |
| 38 | |
| 39 | /* |
| 40 | ** These are the only markup attributes allowed. |
| @@ -248,10 +249,13 @@ | |
| 248 | #define MUTYPE_TABLE 0x0040 /* <table> */ |
| 249 | #define MUTYPE_TR 0x0080 /* <tr> */ |
| 250 | #define MUTYPE_TD 0x0100 /* <td> or <th> */ |
| 251 | #define MUTYPE_SPECIAL 0x0200 /* <nowiki> or <verbatim> */ |
| 252 | #define MUTYPE_HYPERLINK 0x0400 /* <a> */ |
| 253 | |
| 254 | /* |
| 255 | ** These markup types must have an end tag. |
| 256 | */ |
| 257 | #define MUTYPE_STACK (MUTYPE_BLOCK | MUTYPE_FONT | MUTYPE_LIST | MUTYPE_TABLE) |
| @@ -469,11 +473,11 @@ | |
| 469 | ** z points to a "<" character. Check to see if this is the start of |
| 470 | ** a valid markup. If it is, return the total number of characters in |
| 471 | ** the markup including the initial "<" and the terminating ">". If |
| 472 | ** it is not well-formed markup, return 0. |
| 473 | */ |
| 474 | int htmlTagLength(const char *z){ |
| 475 | int n = 1; |
| 476 | int inparen = 0; |
| 477 | int c; |
| 478 | if( z[n]=='/' ){ n++; } |
| 479 | if( !fossil_isalpha(z[n]) ) return 0; |
| @@ -656,11 +660,11 @@ | |
| 656 | ** characters in that token. Write the token type into *pTokenType. |
| 657 | */ |
| 658 | static int nextWikiToken(const char *z, Renderer *p, int *pTokenType){ |
| 659 | int n; |
| 660 | if( z[0]=='<' ){ |
| 661 | n = htmlTagLength(z); |
| 662 | if( n>0 ){ |
| 663 | *pTokenType = TOKEN_MARKUP; |
| 664 | return n; |
| 665 | }else{ |
| 666 | *pTokenType = TOKEN_CHARACTER; |
| @@ -1741,13 +1745,10 @@ | |
| 1741 | Renderer renderer; |
| 1742 | |
| 1743 | memset(&renderer, 0, sizeof(renderer)); |
| 1744 | renderer.renderFlags = flags; |
| 1745 | renderer.state = ALLOW_WIKI|AT_NEWLINE|AT_PARAGRAPH|flags; |
| 1746 | if( flags & WIKI_NOBLOCK ){ |
| 1747 | renderer.state |= INLINE_MARKUP_ONLY; |
| 1748 | } |
| 1749 | if( flags & WIKI_INLINE ){ |
| 1750 | renderer.wantAutoParagraph = 0; |
| 1751 | }else{ |
| 1752 | renderer.wantAutoParagraph = 1; |
| 1753 | } |
| @@ -1805,25 +1806,37 @@ | |
| 1805 | } |
| 1806 | |
| 1807 | /* |
| 1808 | ** COMMAND: test-markdown-render |
| 1809 | ** |
| 1810 | ** Usage: %fossil test-markdown-render FILE |
| 1811 | ** |
| 1812 | ** Render markdown in FILE as HTML on stdout. |
| 1813 | */ |
| 1814 | void test_markdown_render(void){ |
| 1815 | Blob in, out; |
| 1816 | db_find_and_open_repository(OPEN_OK_NOT_FOUND|OPEN_SUBSTITUTE,0); |
| 1817 | verify_all_options(); |
| 1818 | if( g.argc!=3 ) usage("FILE"); |
| 1819 | blob_zero(&out); |
| 1820 | blob_read_from_file(&in, g.argv[2], ExtFILE); |
| 1821 | markdown_to_html(&in, 0, &out); |
| 1822 | blob_write_to_file(&out, "-"); |
| 1823 | blob_reset(&in); |
| 1824 | blob_reset(&out); |
| 1825 | } |
| 1826 | |
| 1827 | /* |
| 1828 | ** Search for a <title>...</title> at the beginning of a wiki page. |
| 1829 | ** Return true (nonzero) if a title is found. Return zero if there is |
| @@ -2026,11 +2039,11 @@ | |
| 2026 | */ |
| 2027 | int html_token_length(const char *z){ |
| 2028 | int n; |
| 2029 | char c; |
| 2030 | if( (c=z[0])=='<' ){ |
| 2031 | n = htmlTagLength(z); |
| 2032 | if( n<=0 ) n = 1; |
| 2033 | }else if( fossil_isspace(c) ){ |
| 2034 | for(n=1; z[n] && fossil_isspace(z[n]); n++){} |
| 2035 | }else if( c=='&' ){ |
| 2036 | n = z[1]=='#' ? 2 : 1; |
| @@ -2396,5 +2409,300 @@ | |
| 2396 | blob_reset(&in); |
| 2397 | fossil_puts(blob_str(&out), 0); |
| 2398 | blob_reset(&out); |
| 2399 | } |
| 2400 | } |
| 2401 |
| --- src/wikiformat.c | |
| +++ src/wikiformat.c | |
| @@ -31,10 +31,11 @@ | |
| 31 | #define WIKI_BUTTONS 0x008 /* Allow sub-menu buttons */ |
| 32 | #define WIKI_NOBADLINKS 0x010 /* Ignore broken hyperlinks */ |
| 33 | #define WIKI_LINKSONLY 0x020 /* No markup. Only decorate links */ |
| 34 | #define WIKI_NEWLINE 0x040 /* Honor \n - break lines at each \n */ |
| 35 | #define WIKI_MARKDOWNLINKS 0x080 /* Resolve hyperlinks as in markdown */ |
| 36 | #define WIKI_SAFE 0x100 /* Make the result safe for embedding */ |
| 37 | #endif |
| 38 | |
| 39 | |
| 40 | /* |
| 41 | ** These are the only markup attributes allowed. |
| @@ -248,10 +249,13 @@ | |
| 249 | #define MUTYPE_TABLE 0x0040 /* <table> */ |
| 250 | #define MUTYPE_TR 0x0080 /* <tr> */ |
| 251 | #define MUTYPE_TD 0x0100 /* <td> or <th> */ |
| 252 | #define MUTYPE_SPECIAL 0x0200 /* <nowiki> or <verbatim> */ |
| 253 | #define MUTYPE_HYPERLINK 0x0400 /* <a> */ |
| 254 | |
| 255 | /* MUTYPE values for elements that require strictly nested end-tags */ |
| 256 | #define MUTYPE_Nested 0x0656 |
| 257 | |
| 258 | /* |
| 259 | ** These markup types must have an end tag. |
| 260 | */ |
| 261 | #define MUTYPE_STACK (MUTYPE_BLOCK | MUTYPE_FONT | MUTYPE_LIST | MUTYPE_TABLE) |
| @@ -469,11 +473,11 @@ | |
| 473 | ** z points to a "<" character. Check to see if this is the start of |
| 474 | ** a valid markup. If it is, return the total number of characters in |
| 475 | ** the markup including the initial "<" and the terminating ">". If |
| 476 | ** it is not well-formed markup, return 0. |
| 477 | */ |
| 478 | int html_tag_length(const char *z){ |
| 479 | int n = 1; |
| 480 | int inparen = 0; |
| 481 | int c; |
| 482 | if( z[n]=='/' ){ n++; } |
| 483 | if( !fossil_isalpha(z[n]) ) return 0; |
| @@ -656,11 +660,11 @@ | |
| 660 | ** characters in that token. Write the token type into *pTokenType. |
| 661 | */ |
| 662 | static int nextWikiToken(const char *z, Renderer *p, int *pTokenType){ |
| 663 | int n; |
| 664 | if( z[0]=='<' ){ |
| 665 | n = html_tag_length(z); |
| 666 | if( n>0 ){ |
| 667 | *pTokenType = TOKEN_MARKUP; |
| 668 | return n; |
| 669 | }else{ |
| 670 | *pTokenType = TOKEN_CHARACTER; |
| @@ -1741,13 +1745,10 @@ | |
| 1745 | Renderer renderer; |
| 1746 | |
| 1747 | memset(&renderer, 0, sizeof(renderer)); |
| 1748 | renderer.renderFlags = flags; |
| 1749 | renderer.state = ALLOW_WIKI|AT_NEWLINE|AT_PARAGRAPH|flags; |
| 1750 | if( flags & WIKI_INLINE ){ |
| 1751 | renderer.wantAutoParagraph = 0; |
| 1752 | }else{ |
| 1753 | renderer.wantAutoParagraph = 1; |
| 1754 | } |
| @@ -1805,25 +1806,37 @@ | |
| 1806 | } |
| 1807 | |
| 1808 | /* |
| 1809 | ** COMMAND: test-markdown-render |
| 1810 | ** |
| 1811 | ** Usage: %fossil test-markdown-render FILE ... |
| 1812 | ** |
| 1813 | ** Render markdown in FILE as HTML on stdout. |
| 1814 | ** Options: |
| 1815 | ** |
| 1816 | ** --safe Restrict the output to use only "safe" HTML |
| 1817 | */ |
| 1818 | void test_markdown_render(void){ |
| 1819 | Blob in, out; |
| 1820 | int i; |
| 1821 | int bSafe = 0; |
| 1822 | db_find_and_open_repository(OPEN_OK_NOT_FOUND|OPEN_SUBSTITUTE,0); |
| 1823 | bSafe = find_option("safe",0,0)!=0; |
| 1824 | verify_all_options(); |
| 1825 | for(i=2; i<g.argc; i++){ |
| 1826 | blob_zero(&out); |
| 1827 | blob_read_from_file(&in, g.argv[i], ExtFILE); |
| 1828 | if( g.argc>3 ){ |
| 1829 | fossil_print("<!------ %h ------->\n", g.argv[i]); |
| 1830 | } |
| 1831 | markdown_to_html(&in, 0, &out); |
| 1832 | safe_html_context( bSafe ? DOCSRC_UNTRUSTED : DOCSRC_TRUSTED ); |
| 1833 | safe_html(&out); |
| 1834 | blob_write_to_file(&out, "-"); |
| 1835 | blob_reset(&in); |
| 1836 | blob_reset(&out); |
| 1837 | } |
| 1838 | } |
| 1839 | |
| 1840 | /* |
| 1841 | ** Search for a <title>...</title> at the beginning of a wiki page. |
| 1842 | ** Return true (nonzero) if a title is found. Return zero if there is |
| @@ -2026,11 +2039,11 @@ | |
| 2039 | */ |
| 2040 | int html_token_length(const char *z){ |
| 2041 | int n; |
| 2042 | char c; |
| 2043 | if( (c=z[0])=='<' ){ |
| 2044 | n = html_tag_length(z); |
| 2045 | if( n<=0 ) n = 1; |
| 2046 | }else if( fossil_isspace(c) ){ |
| 2047 | for(n=1; z[n] && fossil_isspace(z[n]); n++){} |
| 2048 | }else if( c=='&' ){ |
| 2049 | n = z[1]=='#' ? 2 : 1; |
| @@ -2396,5 +2409,300 @@ | |
| 2409 | blob_reset(&in); |
| 2410 | fossil_puts(blob_str(&out), 0); |
| 2411 | blob_reset(&out); |
| 2412 | } |
| 2413 | } |
| 2414 | |
| 2415 | /**************************************************************************** |
| 2416 | ** safe-html: |
| 2417 | ** |
| 2418 | ** An interface for preventing HTML constructs (ex: <style>, <form>, etc) |
| 2419 | ** from being inserted into Wiki and Forum posts using Markdown. See the |
| 2420 | ** comment on safe_html_append() for additional information on what is meant |
| 2421 | ** by "safe". |
| 2422 | ** |
| 2423 | ** The safe-html restrictions only apply to Markdown, as Fossil-Wiki only |
| 2424 | ** allows safe-html by design - unsafe-HTML is never and has never been |
| 2425 | ** allowed in Fossil-Wiki. |
| 2426 | ** |
| 2427 | ** This code is in the wikiformat.c file so that it can have access to the |
| 2428 | ** white-list of acceptable HTML in the aMarkup[] array. |
| 2429 | */ |
| 2430 | |
| 2431 | /* |
| 2432 | ** An instance of this object keeps track of the nesting of HTML |
| 2433 | ** elements for safe_html_append(). |
| 2434 | */ |
| 2435 | typedef struct HtmlTagStack HtmlTagStack; |
| 2436 | struct HtmlTagStack { |
| 2437 | int n; /* Current tag stack depth */ |
| 2438 | int nAlloc; /* Space allocated for aStack[] */ |
| 2439 | int *aStack; /* The stack of tags */ |
| 2440 | int aSpace[10]; /* Initial static space, to avoid malloc() */ |
| 2441 | }; |
| 2442 | |
| 2443 | /* |
| 2444 | ** Initialize bulk memory to a valid empty tagstack. |
| 2445 | */ |
| 2446 | static void html_tagstack_init(HtmlTagStack *p){ |
| 2447 | p->n = 0; |
| 2448 | p->nAlloc = 0; |
| 2449 | p->aStack = p->aSpace; |
| 2450 | } |
| 2451 | |
| 2452 | /* |
| 2453 | ** Push a new element onto the tag statk |
| 2454 | */ |
| 2455 | static void html_tagstack_push(HtmlTagStack *p, int e){ |
| 2456 | if( p->n>=ArraySize(p->aSpace) && p->n>=p->nAlloc ){ |
| 2457 | if( p->nAlloc==0 ){ |
| 2458 | int *aNew; |
| 2459 | p->nAlloc = 50; |
| 2460 | aNew = fossil_malloc( sizeof(p->aStack[0])*p->nAlloc ); |
| 2461 | memcpy(aNew, p->aStack, sizeof(p->aStack[0])*p->n ); |
| 2462 | p->aStack = aNew; |
| 2463 | }else{ |
| 2464 | p->nAlloc *= 2; |
| 2465 | p->aStack = fossil_realloc(p->aStack, sizeof(p->aStack[0])*p->nAlloc ); |
| 2466 | } |
| 2467 | } |
| 2468 | p->aStack[p->n++] = e; |
| 2469 | } |
| 2470 | |
| 2471 | /* |
| 2472 | ** Clear a tag stack, reclaiming any memory allocations. |
| 2473 | */ |
| 2474 | static void html_tagstack_clear(HtmlTagStack *p){ |
| 2475 | if( p->nAlloc ){ |
| 2476 | fossil_free(p->aStack); |
| 2477 | p->nAlloc = 0; |
| 2478 | p->aStack = p->aSpace; |
| 2479 | } |
| 2480 | p->n = 0; |
| 2481 | } |
| 2482 | |
| 2483 | /* |
| 2484 | ** The HTML end-tag eEnd wants to be added to pBlob. |
| 2485 | ** |
| 2486 | ** If an open-tag for eEnd exists anywhere on the stack, then |
| 2487 | ** pop it and all prior elements from the task, issuing appropriate |
| 2488 | ** end-tags as you go. |
| 2489 | ** |
| 2490 | ** If there is no open-tag for eEnd on the stack, then this |
| 2491 | ** routine is a no-op. |
| 2492 | */ |
| 2493 | static void html_tagstack_pop(HtmlTagStack *p, Blob *pBlob, int eEnd){ |
| 2494 | int i, e; |
| 2495 | if( eEnd!=0 ){ |
| 2496 | for(i=p->n-1; i>=0 && p->aStack[i]!=eEnd; i--){} |
| 2497 | if( i<0 ){ |
| 2498 | blob_appendf(pBlob, "<span class='error'></%s></span>", |
| 2499 | aMarkup[eEnd].zName); |
| 2500 | return; |
| 2501 | } |
| 2502 | }else if( p->n==0 ){ |
| 2503 | return; |
| 2504 | } |
| 2505 | do{ |
| 2506 | e = p->aStack[--p->n]; |
| 2507 | if( e==eEnd || (aMarkup[e].iType & MUTYPE_Nested)!=0 ){ |
| 2508 | blob_appendf(pBlob, "</%s>", aMarkup[e].zName); |
| 2509 | } |
| 2510 | }while( e!=eEnd && p->n>0 ); |
| 2511 | } |
| 2512 | |
| 2513 | /* |
| 2514 | ** Append a safe translation of HTML text to a Blob object. |
| 2515 | ** |
| 2516 | ** Restriction: The input to this routine must be writable. |
| 2517 | * Temporary changes may be made to the input, but the input is restored |
| 2518 | ** to its original state prior to returning. If zHtml[nHtml] is not a |
| 2519 | ** zero character, then a zero might be written in that position |
| 2520 | ** temporarily, but that slot will also be restored before this routine |
| 2521 | ** returns. |
| 2522 | */ |
| 2523 | static void safe_html_append(Blob *pBlob, char *zHtml, int nHtml){ |
| 2524 | char cLast; |
| 2525 | int i, j, n; |
| 2526 | HtmlTagStack s; |
| 2527 | ParsedMarkup markup; |
| 2528 | |
| 2529 | if( nHtml<=0 ) return; |
| 2530 | cLast = zHtml[nHtml]; |
| 2531 | zHtml[nHtml] = 0; |
| 2532 | html_tagstack_init(&s); |
| 2533 | |
| 2534 | i = 0; |
| 2535 | while( i<nHtml ){ |
| 2536 | if( zHtml[i]=='<' ){ |
| 2537 | j = i; |
| 2538 | }else{ |
| 2539 | char *z = strchr(zHtml+i, '<'); |
| 2540 | if( z==0 ){ |
| 2541 | blob_append(pBlob, zHtml+i, nHtml-i); |
| 2542 | break; |
| 2543 | } |
| 2544 | j = (int)(z - zHtml); |
| 2545 | blob_append(pBlob, zHtml+i, j-i); |
| 2546 | } |
| 2547 | n = html_tag_length(zHtml+j); |
| 2548 | if( n==0 ){ |
| 2549 | blob_append(pBlob, "<", 4); |
| 2550 | i = j+1; |
| 2551 | continue; |
| 2552 | }else{ |
| 2553 | i = j + n; |
| 2554 | } |
| 2555 | parseMarkup(&markup, zHtml+j); |
| 2556 | if( markup.iCode==MARKUP_INVALID ){ |
| 2557 | unparseMarkup(&markup); |
| 2558 | blob_appendf(pBlob, "<span class='error'><%.*s></span>", |
| 2559 | n-2, zHtml+j+1); |
| 2560 | continue; |
| 2561 | } |
| 2562 | if( (markup.iType & MUTYPE_Nested)==0 || markup.iCode==MARKUP_P ){ |
| 2563 | renderMarkup(pBlob, &markup); |
| 2564 | }else{ |
| 2565 | if( markup.endTag ){ |
| 2566 | html_tagstack_pop(&s, pBlob, markup.iCode); |
| 2567 | }else{ |
| 2568 | renderMarkup(pBlob, &markup); |
| 2569 | html_tagstack_push(&s, markup.iCode); |
| 2570 | } |
| 2571 | } |
| 2572 | unparseMarkup(&markup); |
| 2573 | } |
| 2574 | html_tagstack_pop(&s, pBlob, 0); |
| 2575 | html_tagstack_clear(&s); |
| 2576 | zHtml[nHtml] = cLast; |
| 2577 | } |
| 2578 | |
| 2579 | /* |
| 2580 | ** This local variable is true if the safe_html() function is enabled. |
| 2581 | ** In other words, this is true if the output of Markdown should be |
| 2582 | ** restricted to use only "safe" HTML. |
| 2583 | */ |
| 2584 | static int safeHtmlEnable = 1; |
| 2585 | |
| 2586 | |
| 2587 | #if INTERFACE |
| 2588 | /* |
| 2589 | ** Allowed values for the eTrust parameter to safe_html_context(). |
| 2590 | */ |
| 2591 | #define DOCSRC_FILE 1 /* Document is a checked-in file */ |
| 2592 | #define DOCSRC_FORUM 2 /* Document is a forum post */ |
| 2593 | #define DOCSRC_TICKET 3 /* Document is a ticket comment */ |
| 2594 | #define DOCSRC_WIKI 4 /* Document is a wiki page */ |
| 2595 | #define DOCSRC_TRUSTED 5 /* safe_html() is always a no-op */ |
| 2596 | #define DOCSRC_UNTRUSTED 6 /* safe_html() is always enabled */ |
| 2597 | #endif /* INTERFACE */ |
| 2598 | |
| 2599 | |
| 2600 | /* |
| 2601 | ** Specify the context in which a markdown document with potentially |
| 2602 | ** unsafe HTML will be rendered. |
| 2603 | */ |
| 2604 | void safe_html_context(int eTrust){ |
| 2605 | static const char *zSafeHtmlSetting = 0; |
| 2606 | char cPerm = 0; |
| 2607 | if( eTrust==DOCSRC_TRUSTED ){ |
| 2608 | safeHtmlEnable = 0; |
| 2609 | return; |
| 2610 | } |
| 2611 | if( eTrust==DOCSRC_UNTRUSTED ){ |
| 2612 | safeHtmlEnable = 1; |
| 2613 | return; |
| 2614 | } |
| 2615 | if( zSafeHtmlSetting==0 ){ |
| 2616 | zSafeHtmlSetting = db_get("safe-html", ""); |
| 2617 | } |
| 2618 | switch( eTrust ){ |
| 2619 | case DOCSRC_FILE: cPerm = 'b'; break; |
| 2620 | case DOCSRC_FORUM: cPerm = 'f'; break; |
| 2621 | case DOCSRC_TICKET: cPerm = 't'; break; |
| 2622 | case DOCSRC_WIKI: cPerm = 'w'; break; |
| 2623 | } |
| 2624 | safeHtmlEnable = (strchr(zSafeHtmlSetting,cPerm)==0); |
| 2625 | } |
| 2626 | |
| 2627 | /* |
| 2628 | ** The input blob contains HTML. If safe-html is enabled, then |
| 2629 | ** convert the input into "safe HTML". The following modifications |
| 2630 | ** are made: |
| 2631 | ** |
| 2632 | ** 1. Remove any elements that are not on the AllowedMarkup list. |
| 2633 | ** (ex: <script>, <form>, etc.) |
| 2634 | ** |
| 2635 | ** 2. Remove any attributes that are not on the AllowedMarkup list. |
| 2636 | ** (ex: onload=, id=, etc.) |
| 2637 | ** |
| 2638 | ** 3. Omit any surplus close-tags. This prevents the script from |
| 2639 | ** terminating an <div> or similar in the outer context. |
| 2640 | ** |
| 2641 | ** 4. Insert additional close-tags as necessary so that any |
| 2642 | ** tag in the input that needs a close-tag has one. This |
| 2643 | ** prevents tags in the embedded script from affecting the |
| 2644 | ** display of content that follows this script in the enclosing |
| 2645 | ** context. |
| 2646 | ** |
| 2647 | ** This modifications are intended to make the generated HTML safe |
| 2648 | ** to be embedded in a larger HTML document, such that the embedded |
| 2649 | ** HTML has no influence on the formatting and operation of the |
| 2650 | ** larger document. |
| 2651 | ** |
| 2652 | ** If safe-html is disabled, then this routine is a no-op. |
| 2653 | */ |
| 2654 | void safe_html(Blob *in){ |
| 2655 | Blob out; /* Holding area for the revised text during construction */ |
| 2656 | char *z; /* Original input text */ |
| 2657 | int n; /* Number of bytes in the original input text */ |
| 2658 | int k; |
| 2659 | |
| 2660 | if( safeHtmlEnable==0 ) return; |
| 2661 | z = blob_str(in); |
| 2662 | n = blob_size(in); |
| 2663 | blob_init(&out, 0, 0); |
| 2664 | while( fossil_isspace(z[0]) ){ z++; n--; } |
| 2665 | for(k=n-1; k>5 && fossil_isspace(z[k]); k--){} |
| 2666 | |
| 2667 | if( fossil_strnicmp(z, "<div",4)==0 && !fossil_isalpha(z[4]) |
| 2668 | && fossil_strnicmp(z+k-5, "</div>",6)==0 |
| 2669 | ){ |
| 2670 | /* The input contains an outer <div>...</div>. Preserve the |
| 2671 | ** full scope of that <div>. */ |
| 2672 | int m = html_tag_length(z); |
| 2673 | k -= 5; |
| 2674 | blob_append(&out, z, m); |
| 2675 | safe_html_append(&out, z+m, k-m); |
| 2676 | blob_append(&out, z+k, n-k); |
| 2677 | }else{ |
| 2678 | safe_html_append(&out, z, n); |
| 2679 | } |
| 2680 | blob_reset(in); |
| 2681 | *in = out; |
| 2682 | } |
| 2683 | |
| 2684 | /* |
| 2685 | ** COMMAND: test-safe-html |
| 2686 | ** |
| 2687 | ** Usage: %fossil test-safe-html FILE ... |
| 2688 | ** |
| 2689 | ** Read files named on the command-line. Send the text of each file |
| 2690 | ** through safe_html_append() and then write the result on |
| 2691 | ** standard output. |
| 2692 | */ |
| 2693 | void test_safe_html_cmd(void){ |
| 2694 | int i; |
| 2695 | Blob x; |
| 2696 | for(i=2; i<g.argc; i++){ |
| 2697 | char *z; |
| 2698 | int n; |
| 2699 | blob_read_from_file(&x, g.argv[i], ExtFILE); |
| 2700 | blob_terminate(&x); |
| 2701 | safe_html(&x); |
| 2702 | z = blob_str(&x); |
| 2703 | n = blob_size(&x); |
| 2704 | while( n>0 && (z[n-1]=='\n' || z[n-1]=='\r') ) n--; |
| 2705 | fossil_print("%.*s\n", n, z); |
| 2706 | blob_reset(&x); |
| 2707 | } |
| 2708 | } |
| 2709 |
+12
-15
| --- test/amend.test | ||
| +++ test/amend.test | ||
| @@ -103,11 +103,11 @@ | ||
| 103 | 103 | 1234 1234 |
| 104 | 104 | 123456 #123456 |
| 105 | 105 | } { |
| 106 | 106 | incr tc |
| 107 | 107 | fossil amend $HASH -bgcolor $color |
| 108 | - test amend-bgcolor-1.$tc.a {[string match "*uuid:*$HASH*" $RESULT]} | |
| 108 | + test amend-bgcolor-1.$tc.a {[string match "*hash:*$HASH*" $RESULT]} | |
| 109 | 109 | fossil tag list --raw $HASH |
| 110 | 110 | test amend-bgcolor-1.$tc.b {[string first "bgcolor=$result" $RESULT] != -1} |
| 111 | 111 | fossil timeline -n 1 |
| 112 | 112 | test amend-bgcolor-1.$tc.c { |
| 113 | 113 | [string match "*Change*background*color*to*\"$result\"*" $RESULT] |
| @@ -121,11 +121,11 @@ | ||
| 121 | 121 | if {$VERBOSE} { protOut "No artifact found in timeline output" } |
| 122 | 122 | test amend-bgcolor-1.$tc.d false |
| 123 | 123 | } |
| 124 | 124 | } |
| 125 | 125 | fossil amend $HASH -bgcolor {} |
| 126 | -test amend-bgcolor-2.1 {[string match "*uuid:*$HASH*" $RESULT]} | |
| 126 | +test amend-bgcolor-2.1 {[string match "*hash:*$HASH*" $RESULT]} | |
| 127 | 127 | fossil tag list --raw $HASH |
| 128 | 128 | test amend-bgcolor-2.2 { |
| 129 | 129 | [string first "bgcolor=" $RESULT] == -1 && |
| 130 | 130 | [string first "bgcolor" $RESULT] != -1 |
| 131 | 131 | } |
| @@ -147,11 +147,11 @@ | ||
| 147 | 147 | if {![uuid_from_branch $RESULT HASH2]} { |
| 148 | 148 | test amend-branchcolor.setup false |
| 149 | 149 | } |
| 150 | 150 | fossil update $HASH2 |
| 151 | 151 | fossil amend $HASH2 -branchcolor yellow |
| 152 | -test amend-branchcolor-1.1 {[string match "*uuid:*$HASH2*" $RESULT]} | |
| 152 | +test amend-branchcolor-1.1 {[string match "*hash:*$HASH2*" $RESULT]} | |
| 153 | 153 | fossil tag ls --raw $HASH2 |
| 154 | 154 | test amend-branchcolor-1.2 {[string first "bgcolor=yellow" $RESULT] != -1} |
| 155 | 155 | fossil timeline -n 1 |
| 156 | 156 | test amend-branchcolor-1.3 { |
| 157 | 157 | [string match {*Change*branch*background*color*to*"yellow".*} $RESULT] |
| @@ -175,11 +175,11 @@ | ||
| 175 | 175 | write_file datafile "bc1" |
| 176 | 176 | fossil commit -m "mc1" |
| 177 | 177 | write_file datafile "bc2" |
| 178 | 178 | fossil commit -m "mc2" |
| 179 | 179 | fossil amend $HASHN -branchcolor deadbe |
| 180 | -test amend-branchcolor-2.1 {[string match "*uuid:*$HASHN*" $RESULT]} | |
| 180 | +test amend-branchcolor-2.1 {[string match "*hash:*$HASHN*" $RESULT]} | |
| 181 | 181 | fossil tag ls --raw current |
| 182 | 182 | test amend-branchcolor-2.2 {[string first "bgcolor=#deadbe" $RESULT] != -1} |
| 183 | 183 | fossil timeline -n 1 |
| 184 | 184 | test amend-branchcolor-2.3 { |
| 185 | 185 | [string match {*Change*branch*background*color*to*"#deadbe".*} $RESULT] |
| @@ -201,11 +201,11 @@ | ||
| 201 | 201 | set timestamp [clock scan yesterday] |
| 202 | 202 | set date [clock format $timestamp -format "%Y-%m-%d" -gmt 1] |
| 203 | 203 | set time [clock format $timestamp -format "%H:%M:%S" -gmt 1] |
| 204 | 204 | set datetime "$date $time" |
| 205 | 205 | fossil amend $HASHINIT -date $datetime |
| 206 | -test amend-date-1.1 {[string match "*uuid:*$HASHINIT*$datetime*" $RESULT]} | |
| 206 | +test amend-date-1.1 {[string match "*hash:*$HASHINIT*$datetime*" $RESULT]} | |
| 207 | 207 | fossil tag ls --raw $HASHINIT |
| 208 | 208 | test amend-date-1.2 {[string first "date=$datetime" $RESULT] != -1} |
| 209 | 209 | fossil timeline -n 1 |
| 210 | 210 | test amend-date-1.3 {[string match "*Timestamp*$date*$time*" $RESULT]} |
| 211 | 211 | set badformats { |
| @@ -232,11 +232,11 @@ | ||
| 232 | 232 | fossil branch new tohide current |
| 233 | 233 | if {![uuid_from_branch $RESULT HASHH]} { |
| 234 | 234 | test amend-hide-setup false |
| 235 | 235 | } |
| 236 | 236 | fossil amend $HASHH -hide |
| 237 | -test amend-hide-1.1 {[string match "*uuid:*$HASHH*" $RESULT]} | |
| 237 | +test amend-hide-1.1 {[string match "*hash:*$HASHH*" $RESULT]} | |
| 238 | 238 | fossil tag ls --raw $HASHH |
| 239 | 239 | test amend-hide-1.2 {[string first "hidden" $RESULT] != -1} |
| 240 | 240 | fossil timeline -n 1 |
| 241 | 241 | test amend-hide-1.3 {[string match {*Add*propagating*"hidden".*} $RESULT]} |
| 242 | 242 | |
| @@ -248,11 +248,11 @@ | ||
| 248 | 248 | if {![uuid_from_branch $RESULT HASHC]} { |
| 249 | 249 | test amend-close.setup false |
| 250 | 250 | } |
| 251 | 251 | fossil update $HASHC |
| 252 | 252 | fossil amend $HASHC -close |
| 253 | -test amend-close-1.1.a {[string match "*uuid:*$HASHC*" $RESULT]} | |
| 253 | +test amend-close-1.1.a {[string match "*hash:*$HASHC*" $RESULT]} | |
| 254 | 254 | test amend-close-1.1.b { |
| 255 | 255 | [string match "*comment:*Create*new*branch*named*\"cllf\"*" $RESULT] |
| 256 | 256 | } |
| 257 | 257 | fossil tag ls --raw $HASHC |
| 258 | 258 | test amend-close-1.2 {[string first "closed" $RESULT] != -1} |
| @@ -273,11 +273,11 @@ | ||
| 273 | 273 | write_file datafile "b1" |
| 274 | 274 | fossil commit -m "m1" |
| 275 | 275 | write_file datafile "b2" |
| 276 | 276 | fossil commit -m "m2" |
| 277 | 277 | fossil amend $HASH3 --close |
| 278 | -test amend-close-3.1 {[string match "*uuid:*$HASH3*" $RESULT]} | |
| 278 | +test amend-close-3.1 {[string match "*hash:*$HASH3*" $RESULT]} | |
| 279 | 279 | fossil tag ls --raw current |
| 280 | 280 | test amend-close-3.2 {[string first "closed" $RESULT] != -1} |
| 281 | 281 | fossil timeline -n 1 |
| 282 | 282 | test amend-close-3.3 { |
| 283 | 283 | [string match "*Add*propagating*\"closed\".*" $RESULT] |
| @@ -311,11 +311,11 @@ | ||
| 311 | 311 | append t2exp "sym-$res*" |
| 312 | 312 | append t3exp "Add*tag*\"$res\".*" |
| 313 | 313 | append t5exp "Cancel*tag*\"$res\".*" |
| 314 | 314 | } |
| 315 | 315 | eval fossil amend $HASH $tags |
| 316 | - test amend-tag-$tc.1 {[string match "*uuid:*$HASH*tags:*$t1exp*" $RESULT]} | |
| 316 | + test amend-tag-$tc.1 {[string match "*hash:*$HASH*tags:*$t1exp*" $RESULT]} | |
| 317 | 317 | fossil tag ls --raw $HASH |
| 318 | 318 | test amend-tag-$tc.2 {[string match $t2exp $RESULT]} |
| 319 | 319 | fossil timeline -n 1 |
| 320 | 320 | test amend-tag-$tc.3 {[string match $t3exp $RESULT]} |
| 321 | 321 | eval fossil amend $HASH $cancels |
| @@ -341,11 +341,11 @@ | ||
| 341 | 341 | |
| 342 | 342 | proc test-comment {name HASH comment} { |
| 343 | 343 | global VERBOSE RESULT |
| 344 | 344 | |
| 345 | 345 | test amend-comment-$name.1 { |
| 346 | - [string match "*uuid:*$HASH*comment:*$comment*" $RESULT] | |
| 346 | + [string match "*hash:*$HASH*comment:*$comment*" $RESULT] | |
| 347 | 347 | } |
| 348 | 348 | fossil timeline -n 1 |
| 349 | 349 | if {[artifact_from_timeline $RESULT artid]} { |
| 350 | 350 | fossil artifact $artid |
| 351 | 351 | test amend-comment-$name.2 { |
| @@ -359,11 +359,11 @@ | ||
| 359 | 359 | test amend-comment-$name.3 { |
| 360 | 360 | [string match "*[short_uuid $HASH]*Edit*check-in*comment.*" $RESULT] |
| 361 | 361 | } |
| 362 | 362 | fossil info $HASH |
| 363 | 363 | test amend-comment-$name.4 { |
| 364 | - [string match "*uuid:*$HASH*comment:*$comment*" $RESULT] | |
| 364 | + [string match "*hash:*$HASH*comment:*$comment*" $RESULT] | |
| 365 | 365 | } |
| 366 | 366 | } |
| 367 | 367 | |
| 368 | 368 | prep-test "revision 1" "revision 1" |
| 369 | 369 | fossil amend $HASH -comment "revised revision 1" |
| @@ -382,14 +382,11 @@ | ||
| 382 | 382 | write_file commitmsg "revision 4 revised with -M" |
| 383 | 383 | fossil amend $HASH -M commitmsg |
| 384 | 384 | test-comment 4 $HASH "revision 4 revised with -M" |
| 385 | 385 | |
| 386 | 386 | prep-test "final comment" "final content" |
| 387 | -if {[catch {exec which ed} result]} { | |
| 388 | - if {$VERBOSE} { protOut "Install ed for interactive comment test: $result" } | |
| 389 | - test-comment 5 $HASH "ed required for interactive edit" | |
| 390 | -} else { | |
| 387 | +if {[catch {exec which ed} result] == 0} { | |
| 391 | 388 | fossil settings editor "ed -s" |
| 392 | 389 | set comment "interactive edited comment" |
| 393 | 390 | fossil_maybe_answer "a\n$comment\n.\nw\nq\n" amend $HASH --edit-comment |
| 394 | 391 | test-comment 5 $HASH $comment |
| 395 | 392 | } |
| 396 | 393 |
| --- test/amend.test | |
| +++ test/amend.test | |
| @@ -103,11 +103,11 @@ | |
| 103 | 1234 1234 |
| 104 | 123456 #123456 |
| 105 | } { |
| 106 | incr tc |
| 107 | fossil amend $HASH -bgcolor $color |
| 108 | test amend-bgcolor-1.$tc.a {[string match "*uuid:*$HASH*" $RESULT]} |
| 109 | fossil tag list --raw $HASH |
| 110 | test amend-bgcolor-1.$tc.b {[string first "bgcolor=$result" $RESULT] != -1} |
| 111 | fossil timeline -n 1 |
| 112 | test amend-bgcolor-1.$tc.c { |
| 113 | [string match "*Change*background*color*to*\"$result\"*" $RESULT] |
| @@ -121,11 +121,11 @@ | |
| 121 | if {$VERBOSE} { protOut "No artifact found in timeline output" } |
| 122 | test amend-bgcolor-1.$tc.d false |
| 123 | } |
| 124 | } |
| 125 | fossil amend $HASH -bgcolor {} |
| 126 | test amend-bgcolor-2.1 {[string match "*uuid:*$HASH*" $RESULT]} |
| 127 | fossil tag list --raw $HASH |
| 128 | test amend-bgcolor-2.2 { |
| 129 | [string first "bgcolor=" $RESULT] == -1 && |
| 130 | [string first "bgcolor" $RESULT] != -1 |
| 131 | } |
| @@ -147,11 +147,11 @@ | |
| 147 | if {![uuid_from_branch $RESULT HASH2]} { |
| 148 | test amend-branchcolor.setup false |
| 149 | } |
| 150 | fossil update $HASH2 |
| 151 | fossil amend $HASH2 -branchcolor yellow |
| 152 | test amend-branchcolor-1.1 {[string match "*uuid:*$HASH2*" $RESULT]} |
| 153 | fossil tag ls --raw $HASH2 |
| 154 | test amend-branchcolor-1.2 {[string first "bgcolor=yellow" $RESULT] != -1} |
| 155 | fossil timeline -n 1 |
| 156 | test amend-branchcolor-1.3 { |
| 157 | [string match {*Change*branch*background*color*to*"yellow".*} $RESULT] |
| @@ -175,11 +175,11 @@ | |
| 175 | write_file datafile "bc1" |
| 176 | fossil commit -m "mc1" |
| 177 | write_file datafile "bc2" |
| 178 | fossil commit -m "mc2" |
| 179 | fossil amend $HASHN -branchcolor deadbe |
| 180 | test amend-branchcolor-2.1 {[string match "*uuid:*$HASHN*" $RESULT]} |
| 181 | fossil tag ls --raw current |
| 182 | test amend-branchcolor-2.2 {[string first "bgcolor=#deadbe" $RESULT] != -1} |
| 183 | fossil timeline -n 1 |
| 184 | test amend-branchcolor-2.3 { |
| 185 | [string match {*Change*branch*background*color*to*"#deadbe".*} $RESULT] |
| @@ -201,11 +201,11 @@ | |
| 201 | set timestamp [clock scan yesterday] |
| 202 | set date [clock format $timestamp -format "%Y-%m-%d" -gmt 1] |
| 203 | set time [clock format $timestamp -format "%H:%M:%S" -gmt 1] |
| 204 | set datetime "$date $time" |
| 205 | fossil amend $HASHINIT -date $datetime |
| 206 | test amend-date-1.1 {[string match "*uuid:*$HASHINIT*$datetime*" $RESULT]} |
| 207 | fossil tag ls --raw $HASHINIT |
| 208 | test amend-date-1.2 {[string first "date=$datetime" $RESULT] != -1} |
| 209 | fossil timeline -n 1 |
| 210 | test amend-date-1.3 {[string match "*Timestamp*$date*$time*" $RESULT]} |
| 211 | set badformats { |
| @@ -232,11 +232,11 @@ | |
| 232 | fossil branch new tohide current |
| 233 | if {![uuid_from_branch $RESULT HASHH]} { |
| 234 | test amend-hide-setup false |
| 235 | } |
| 236 | fossil amend $HASHH -hide |
| 237 | test amend-hide-1.1 {[string match "*uuid:*$HASHH*" $RESULT]} |
| 238 | fossil tag ls --raw $HASHH |
| 239 | test amend-hide-1.2 {[string first "hidden" $RESULT] != -1} |
| 240 | fossil timeline -n 1 |
| 241 | test amend-hide-1.3 {[string match {*Add*propagating*"hidden".*} $RESULT]} |
| 242 | |
| @@ -248,11 +248,11 @@ | |
| 248 | if {![uuid_from_branch $RESULT HASHC]} { |
| 249 | test amend-close.setup false |
| 250 | } |
| 251 | fossil update $HASHC |
| 252 | fossil amend $HASHC -close |
| 253 | test amend-close-1.1.a {[string match "*uuid:*$HASHC*" $RESULT]} |
| 254 | test amend-close-1.1.b { |
| 255 | [string match "*comment:*Create*new*branch*named*\"cllf\"*" $RESULT] |
| 256 | } |
| 257 | fossil tag ls --raw $HASHC |
| 258 | test amend-close-1.2 {[string first "closed" $RESULT] != -1} |
| @@ -273,11 +273,11 @@ | |
| 273 | write_file datafile "b1" |
| 274 | fossil commit -m "m1" |
| 275 | write_file datafile "b2" |
| 276 | fossil commit -m "m2" |
| 277 | fossil amend $HASH3 --close |
| 278 | test amend-close-3.1 {[string match "*uuid:*$HASH3*" $RESULT]} |
| 279 | fossil tag ls --raw current |
| 280 | test amend-close-3.2 {[string first "closed" $RESULT] != -1} |
| 281 | fossil timeline -n 1 |
| 282 | test amend-close-3.3 { |
| 283 | [string match "*Add*propagating*\"closed\".*" $RESULT] |
| @@ -311,11 +311,11 @@ | |
| 311 | append t2exp "sym-$res*" |
| 312 | append t3exp "Add*tag*\"$res\".*" |
| 313 | append t5exp "Cancel*tag*\"$res\".*" |
| 314 | } |
| 315 | eval fossil amend $HASH $tags |
| 316 | test amend-tag-$tc.1 {[string match "*uuid:*$HASH*tags:*$t1exp*" $RESULT]} |
| 317 | fossil tag ls --raw $HASH |
| 318 | test amend-tag-$tc.2 {[string match $t2exp $RESULT]} |
| 319 | fossil timeline -n 1 |
| 320 | test amend-tag-$tc.3 {[string match $t3exp $RESULT]} |
| 321 | eval fossil amend $HASH $cancels |
| @@ -341,11 +341,11 @@ | |
| 341 | |
| 342 | proc test-comment {name HASH comment} { |
| 343 | global VERBOSE RESULT |
| 344 | |
| 345 | test amend-comment-$name.1 { |
| 346 | [string match "*uuid:*$HASH*comment:*$comment*" $RESULT] |
| 347 | } |
| 348 | fossil timeline -n 1 |
| 349 | if {[artifact_from_timeline $RESULT artid]} { |
| 350 | fossil artifact $artid |
| 351 | test amend-comment-$name.2 { |
| @@ -359,11 +359,11 @@ | |
| 359 | test amend-comment-$name.3 { |
| 360 | [string match "*[short_uuid $HASH]*Edit*check-in*comment.*" $RESULT] |
| 361 | } |
| 362 | fossil info $HASH |
| 363 | test amend-comment-$name.4 { |
| 364 | [string match "*uuid:*$HASH*comment:*$comment*" $RESULT] |
| 365 | } |
| 366 | } |
| 367 | |
| 368 | prep-test "revision 1" "revision 1" |
| 369 | fossil amend $HASH -comment "revised revision 1" |
| @@ -382,14 +382,11 @@ | |
| 382 | write_file commitmsg "revision 4 revised with -M" |
| 383 | fossil amend $HASH -M commitmsg |
| 384 | test-comment 4 $HASH "revision 4 revised with -M" |
| 385 | |
| 386 | prep-test "final comment" "final content" |
| 387 | if {[catch {exec which ed} result]} { |
| 388 | if {$VERBOSE} { protOut "Install ed for interactive comment test: $result" } |
| 389 | test-comment 5 $HASH "ed required for interactive edit" |
| 390 | } else { |
| 391 | fossil settings editor "ed -s" |
| 392 | set comment "interactive edited comment" |
| 393 | fossil_maybe_answer "a\n$comment\n.\nw\nq\n" amend $HASH --edit-comment |
| 394 | test-comment 5 $HASH $comment |
| 395 | } |
| 396 |
| --- test/amend.test | |
| +++ test/amend.test | |
| @@ -103,11 +103,11 @@ | |
| 103 | 1234 1234 |
| 104 | 123456 #123456 |
| 105 | } { |
| 106 | incr tc |
| 107 | fossil amend $HASH -bgcolor $color |
| 108 | test amend-bgcolor-1.$tc.a {[string match "*hash:*$HASH*" $RESULT]} |
| 109 | fossil tag list --raw $HASH |
| 110 | test amend-bgcolor-1.$tc.b {[string first "bgcolor=$result" $RESULT] != -1} |
| 111 | fossil timeline -n 1 |
| 112 | test amend-bgcolor-1.$tc.c { |
| 113 | [string match "*Change*background*color*to*\"$result\"*" $RESULT] |
| @@ -121,11 +121,11 @@ | |
| 121 | if {$VERBOSE} { protOut "No artifact found in timeline output" } |
| 122 | test amend-bgcolor-1.$tc.d false |
| 123 | } |
| 124 | } |
| 125 | fossil amend $HASH -bgcolor {} |
| 126 | test amend-bgcolor-2.1 {[string match "*hash:*$HASH*" $RESULT]} |
| 127 | fossil tag list --raw $HASH |
| 128 | test amend-bgcolor-2.2 { |
| 129 | [string first "bgcolor=" $RESULT] == -1 && |
| 130 | [string first "bgcolor" $RESULT] != -1 |
| 131 | } |
| @@ -147,11 +147,11 @@ | |
| 147 | if {![uuid_from_branch $RESULT HASH2]} { |
| 148 | test amend-branchcolor.setup false |
| 149 | } |
| 150 | fossil update $HASH2 |
| 151 | fossil amend $HASH2 -branchcolor yellow |
| 152 | test amend-branchcolor-1.1 {[string match "*hash:*$HASH2*" $RESULT]} |
| 153 | fossil tag ls --raw $HASH2 |
| 154 | test amend-branchcolor-1.2 {[string first "bgcolor=yellow" $RESULT] != -1} |
| 155 | fossil timeline -n 1 |
| 156 | test amend-branchcolor-1.3 { |
| 157 | [string match {*Change*branch*background*color*to*"yellow".*} $RESULT] |
| @@ -175,11 +175,11 @@ | |
| 175 | write_file datafile "bc1" |
| 176 | fossil commit -m "mc1" |
| 177 | write_file datafile "bc2" |
| 178 | fossil commit -m "mc2" |
| 179 | fossil amend $HASHN -branchcolor deadbe |
| 180 | test amend-branchcolor-2.1 {[string match "*hash:*$HASHN*" $RESULT]} |
| 181 | fossil tag ls --raw current |
| 182 | test amend-branchcolor-2.2 {[string first "bgcolor=#deadbe" $RESULT] != -1} |
| 183 | fossil timeline -n 1 |
| 184 | test amend-branchcolor-2.3 { |
| 185 | [string match {*Change*branch*background*color*to*"#deadbe".*} $RESULT] |
| @@ -201,11 +201,11 @@ | |
| 201 | set timestamp [clock scan yesterday] |
| 202 | set date [clock format $timestamp -format "%Y-%m-%d" -gmt 1] |
| 203 | set time [clock format $timestamp -format "%H:%M:%S" -gmt 1] |
| 204 | set datetime "$date $time" |
| 205 | fossil amend $HASHINIT -date $datetime |
| 206 | test amend-date-1.1 {[string match "*hash:*$HASHINIT*$datetime*" $RESULT]} |
| 207 | fossil tag ls --raw $HASHINIT |
| 208 | test amend-date-1.2 {[string first "date=$datetime" $RESULT] != -1} |
| 209 | fossil timeline -n 1 |
| 210 | test amend-date-1.3 {[string match "*Timestamp*$date*$time*" $RESULT]} |
| 211 | set badformats { |
| @@ -232,11 +232,11 @@ | |
| 232 | fossil branch new tohide current |
| 233 | if {![uuid_from_branch $RESULT HASHH]} { |
| 234 | test amend-hide-setup false |
| 235 | } |
| 236 | fossil amend $HASHH -hide |
| 237 | test amend-hide-1.1 {[string match "*hash:*$HASHH*" $RESULT]} |
| 238 | fossil tag ls --raw $HASHH |
| 239 | test amend-hide-1.2 {[string first "hidden" $RESULT] != -1} |
| 240 | fossil timeline -n 1 |
| 241 | test amend-hide-1.3 {[string match {*Add*propagating*"hidden".*} $RESULT]} |
| 242 | |
| @@ -248,11 +248,11 @@ | |
| 248 | if {![uuid_from_branch $RESULT HASHC]} { |
| 249 | test amend-close.setup false |
| 250 | } |
| 251 | fossil update $HASHC |
| 252 | fossil amend $HASHC -close |
| 253 | test amend-close-1.1.a {[string match "*hash:*$HASHC*" $RESULT]} |
| 254 | test amend-close-1.1.b { |
| 255 | [string match "*comment:*Create*new*branch*named*\"cllf\"*" $RESULT] |
| 256 | } |
| 257 | fossil tag ls --raw $HASHC |
| 258 | test amend-close-1.2 {[string first "closed" $RESULT] != -1} |
| @@ -273,11 +273,11 @@ | |
| 273 | write_file datafile "b1" |
| 274 | fossil commit -m "m1" |
| 275 | write_file datafile "b2" |
| 276 | fossil commit -m "m2" |
| 277 | fossil amend $HASH3 --close |
| 278 | test amend-close-3.1 {[string match "*hash:*$HASH3*" $RESULT]} |
| 279 | fossil tag ls --raw current |
| 280 | test amend-close-3.2 {[string first "closed" $RESULT] != -1} |
| 281 | fossil timeline -n 1 |
| 282 | test amend-close-3.3 { |
| 283 | [string match "*Add*propagating*\"closed\".*" $RESULT] |
| @@ -311,11 +311,11 @@ | |
| 311 | append t2exp "sym-$res*" |
| 312 | append t3exp "Add*tag*\"$res\".*" |
| 313 | append t5exp "Cancel*tag*\"$res\".*" |
| 314 | } |
| 315 | eval fossil amend $HASH $tags |
| 316 | test amend-tag-$tc.1 {[string match "*hash:*$HASH*tags:*$t1exp*" $RESULT]} |
| 317 | fossil tag ls --raw $HASH |
| 318 | test amend-tag-$tc.2 {[string match $t2exp $RESULT]} |
| 319 | fossil timeline -n 1 |
| 320 | test amend-tag-$tc.3 {[string match $t3exp $RESULT]} |
| 321 | eval fossil amend $HASH $cancels |
| @@ -341,11 +341,11 @@ | |
| 341 | |
| 342 | proc test-comment {name HASH comment} { |
| 343 | global VERBOSE RESULT |
| 344 | |
| 345 | test amend-comment-$name.1 { |
| 346 | [string match "*hash:*$HASH*comment:*$comment*" $RESULT] |
| 347 | } |
| 348 | fossil timeline -n 1 |
| 349 | if {[artifact_from_timeline $RESULT artid]} { |
| 350 | fossil artifact $artid |
| 351 | test amend-comment-$name.2 { |
| @@ -359,11 +359,11 @@ | |
| 359 | test amend-comment-$name.3 { |
| 360 | [string match "*[short_uuid $HASH]*Edit*check-in*comment.*" $RESULT] |
| 361 | } |
| 362 | fossil info $HASH |
| 363 | test amend-comment-$name.4 { |
| 364 | [string match "*hash:*$HASH*comment:*$comment*" $RESULT] |
| 365 | } |
| 366 | } |
| 367 | |
| 368 | prep-test "revision 1" "revision 1" |
| 369 | fossil amend $HASH -comment "revised revision 1" |
| @@ -382,14 +382,11 @@ | |
| 382 | write_file commitmsg "revision 4 revised with -M" |
| 383 | fossil amend $HASH -M commitmsg |
| 384 | test-comment 4 $HASH "revision 4 revised with -M" |
| 385 | |
| 386 | prep-test "final comment" "final content" |
| 387 | if {[catch {exec which ed} result] == 0} { |
| 388 | fossil settings editor "ed -s" |
| 389 | set comment "interactive edited comment" |
| 390 | fossil_maybe_answer "a\n$comment\n.\nw\nq\n" amend $HASH --edit-comment |
| 391 | test-comment 5 $HASH $comment |
| 392 | } |
| 393 |
+7
-1
| --- test/commit-warning.test | ||
| +++ test/commit-warning.test | ||
| @@ -50,16 +50,19 @@ | ||
| 50 | 50 | set a8 $a7$a7 |
| 51 | 51 | set a9 $a8$a8 |
| 52 | 52 | set a10 $a9$a9 |
| 53 | 53 | write_file line-1024 "$a10\n" |
| 54 | 54 | set a11 $a10$a10 |
| 55 | +write_file line-2048 "$a11\n" | |
| 55 | 56 | set a12 $a11$a11 |
| 56 | 57 | write_file line-4096 "$a12\n" |
| 57 | 58 | set a13 $a12$a12 |
| 58 | 59 | write_file line-8192 "$a13\n" |
| 59 | 60 | set a14 $a13$a13 |
| 61 | +write_file line-16K "$a14\n" | |
| 60 | 62 | set a15 $a14$a14 |
| 63 | +write_file line-32K "$a15\n" | |
| 61 | 64 | set a16 $a15$a15 |
| 62 | 65 | write_file line-64K "$a16\n" |
| 63 | 66 | |
| 64 | 67 | # UTF-8 extends 7-bit ASCII using bytes 80 and above to encode |
| 65 | 68 | # larger character codes. Unicode uses U+0 through U+10FFFF only, |
| @@ -118,13 +121,16 @@ | ||
| 118 | 121 | 1\tcr-only.txt\tCR line endings |
| 119 | 122 | 1\tcrlf.txt\tCR/LF line endings |
| 120 | 123 | 0\tempty\t |
| 121 | 124 | 0\tline-0064\t |
| 122 | 125 | 0\tline-1024\t |
| 126 | +0\tline-16K\t | |
| 127 | +0\tline-2048\t | |
| 128 | +1\tline-32K\tlong lines | |
| 123 | 129 | 0\tline-4096\t |
| 124 | 130 | 1\tline-64K\tlong lines |
| 125 | -1\tline-8192\tlong lines | |
| 131 | +0\tline-8192\t | |
| 126 | 132 | 0\tplain.txt\t |
| 127 | 133 | 1\tutf-16be-bombe-hello\tUnicode |
| 128 | 134 | 1\tutf-16be-bomle-hello\tUnicode |
| 129 | 135 | 1\tutf-16be-hello\tbinary data |
| 130 | 136 | 1\tutf-16be.txt\tUnicode |
| 131 | 137 |
| --- test/commit-warning.test | |
| +++ test/commit-warning.test | |
| @@ -50,16 +50,19 @@ | |
| 50 | set a8 $a7$a7 |
| 51 | set a9 $a8$a8 |
| 52 | set a10 $a9$a9 |
| 53 | write_file line-1024 "$a10\n" |
| 54 | set a11 $a10$a10 |
| 55 | set a12 $a11$a11 |
| 56 | write_file line-4096 "$a12\n" |
| 57 | set a13 $a12$a12 |
| 58 | write_file line-8192 "$a13\n" |
| 59 | set a14 $a13$a13 |
| 60 | set a15 $a14$a14 |
| 61 | set a16 $a15$a15 |
| 62 | write_file line-64K "$a16\n" |
| 63 | |
| 64 | # UTF-8 extends 7-bit ASCII using bytes 80 and above to encode |
| 65 | # larger character codes. Unicode uses U+0 through U+10FFFF only, |
| @@ -118,13 +121,16 @@ | |
| 118 | 1\tcr-only.txt\tCR line endings |
| 119 | 1\tcrlf.txt\tCR/LF line endings |
| 120 | 0\tempty\t |
| 121 | 0\tline-0064\t |
| 122 | 0\tline-1024\t |
| 123 | 0\tline-4096\t |
| 124 | 1\tline-64K\tlong lines |
| 125 | 1\tline-8192\tlong lines |
| 126 | 0\tplain.txt\t |
| 127 | 1\tutf-16be-bombe-hello\tUnicode |
| 128 | 1\tutf-16be-bomle-hello\tUnicode |
| 129 | 1\tutf-16be-hello\tbinary data |
| 130 | 1\tutf-16be.txt\tUnicode |
| 131 |
| --- test/commit-warning.test | |
| +++ test/commit-warning.test | |
| @@ -50,16 +50,19 @@ | |
| 50 | set a8 $a7$a7 |
| 51 | set a9 $a8$a8 |
| 52 | set a10 $a9$a9 |
| 53 | write_file line-1024 "$a10\n" |
| 54 | set a11 $a10$a10 |
| 55 | write_file line-2048 "$a11\n" |
| 56 | set a12 $a11$a11 |
| 57 | write_file line-4096 "$a12\n" |
| 58 | set a13 $a12$a12 |
| 59 | write_file line-8192 "$a13\n" |
| 60 | set a14 $a13$a13 |
| 61 | write_file line-16K "$a14\n" |
| 62 | set a15 $a14$a14 |
| 63 | write_file line-32K "$a15\n" |
| 64 | set a16 $a15$a15 |
| 65 | write_file line-64K "$a16\n" |
| 66 | |
| 67 | # UTF-8 extends 7-bit ASCII using bytes 80 and above to encode |
| 68 | # larger character codes. Unicode uses U+0 through U+10FFFF only, |
| @@ -118,13 +121,16 @@ | |
| 121 | 1\tcr-only.txt\tCR line endings |
| 122 | 1\tcrlf.txt\tCR/LF line endings |
| 123 | 0\tempty\t |
| 124 | 0\tline-0064\t |
| 125 | 0\tline-1024\t |
| 126 | 0\tline-16K\t |
| 127 | 0\tline-2048\t |
| 128 | 1\tline-32K\tlong lines |
| 129 | 0\tline-4096\t |
| 130 | 1\tline-64K\tlong lines |
| 131 | 0\tline-8192\t |
| 132 | 0\tplain.txt\t |
| 133 | 1\tutf-16be-bombe-hello\tUnicode |
| 134 | 1\tutf-16be-bomle-hello\tUnicode |
| 135 | 1\tutf-16be-hello\tbinary data |
| 136 | 1\tutf-16be.txt\tUnicode |
| 137 |
+4
-4
| --- test/diff.test | ||
| +++ test/diff.test | ||
| @@ -30,13 +30,13 @@ | ||
| 30 | 30 | write_file [file join .fossil-settings binary-glob] "*" |
| 31 | 31 | |
| 32 | 32 | write_file file0.dat ""; # no content. |
| 33 | 33 | write_file file1.dat "test file 1 (one line no term)." |
| 34 | 34 | write_file file2.dat "test file 2 (NUL character).\0" |
| 35 | -write_file file3.dat "test file 3 (long line).[string repeat x 16384]" | |
| 36 | -write_file file4.dat "test file 4 (long line).[string repeat y 16384]\ntwo" | |
| 37 | -write_file file5.dat "[string repeat z 16384]\ntest file 5 (long line)." | |
| 35 | +write_file file3.dat "test file 3 (long line).[string repeat x 32768]" | |
| 36 | +write_file file4.dat "test file 4 (long line).[string repeat y 32768]\ntwo" | |
| 37 | +write_file file5.dat "[string repeat z 32768]\ntest file 5 (long line)." | |
| 38 | 38 | |
| 39 | 39 | fossil add $rootDir |
| 40 | 40 | fossil commit -m "c1" |
| 41 | 41 | |
| 42 | 42 | ############################################################################### |
| @@ -56,11 +56,11 @@ | ||
| 56 | 56 | +++ file0.dat |
| 57 | 57 | cannot compute difference between binary files}} |
| 58 | 58 | |
| 59 | 59 | ############################################################################### |
| 60 | 60 | |
| 61 | -write_file file1.dat [string repeat z 16384] | |
| 61 | +write_file file1.dat [string repeat z 32768] | |
| 62 | 62 | fossil diff file1.dat |
| 63 | 63 | |
| 64 | 64 | test diff-file1-1 {[normalize_result] eq {Index: file1.dat |
| 65 | 65 | ================================================================== |
| 66 | 66 | --- file1.dat |
| 67 | 67 |
| --- test/diff.test | |
| +++ test/diff.test | |
| @@ -30,13 +30,13 @@ | |
| 30 | write_file [file join .fossil-settings binary-glob] "*" |
| 31 | |
| 32 | write_file file0.dat ""; # no content. |
| 33 | write_file file1.dat "test file 1 (one line no term)." |
| 34 | write_file file2.dat "test file 2 (NUL character).\0" |
| 35 | write_file file3.dat "test file 3 (long line).[string repeat x 16384]" |
| 36 | write_file file4.dat "test file 4 (long line).[string repeat y 16384]\ntwo" |
| 37 | write_file file5.dat "[string repeat z 16384]\ntest file 5 (long line)." |
| 38 | |
| 39 | fossil add $rootDir |
| 40 | fossil commit -m "c1" |
| 41 | |
| 42 | ############################################################################### |
| @@ -56,11 +56,11 @@ | |
| 56 | +++ file0.dat |
| 57 | cannot compute difference between binary files}} |
| 58 | |
| 59 | ############################################################################### |
| 60 | |
| 61 | write_file file1.dat [string repeat z 16384] |
| 62 | fossil diff file1.dat |
| 63 | |
| 64 | test diff-file1-1 {[normalize_result] eq {Index: file1.dat |
| 65 | ================================================================== |
| 66 | --- file1.dat |
| 67 |
| --- test/diff.test | |
| +++ test/diff.test | |
| @@ -30,13 +30,13 @@ | |
| 30 | write_file [file join .fossil-settings binary-glob] "*" |
| 31 | |
| 32 | write_file file0.dat ""; # no content. |
| 33 | write_file file1.dat "test file 1 (one line no term)." |
| 34 | write_file file2.dat "test file 2 (NUL character).\0" |
| 35 | write_file file3.dat "test file 3 (long line).[string repeat x 32768]" |
| 36 | write_file file4.dat "test file 4 (long line).[string repeat y 32768]\ntwo" |
| 37 | write_file file5.dat "[string repeat z 32768]\ntest file 5 (long line)." |
| 38 | |
| 39 | fossil add $rootDir |
| 40 | fossil commit -m "c1" |
| 41 | |
| 42 | ############################################################################### |
| @@ -56,11 +56,11 @@ | |
| 56 | +++ file0.dat |
| 57 | cannot compute difference between binary files}} |
| 58 | |
| 59 | ############################################################################### |
| 60 | |
| 61 | write_file file1.dat [string repeat z 32768] |
| 62 | fossil diff file1.dat |
| 63 | |
| 64 | test diff-file1-1 {[normalize_result] eq {Index: file1.dat |
| 65 | ================================================================== |
| 66 | --- file1.dat |
| 67 |
+1
-1
| --- test/fileStat.th1 | ||
| +++ test/fileStat.th1 | ||
| @@ -60,11 +60,11 @@ | ||
| 60 | 60 | tclEval { |
| 61 | 61 | # |
| 62 | 62 | # NOTE: Get the unique Id of the latest check-in on trunk. |
| 63 | 63 | # |
| 64 | 64 | return [lindex [regexp -line -inline -nocase -- \ |
| 65 | - {^uuid:\s+([0-9A-F]{40}) } [eval [getFossilCommand \ | |
| 65 | + {^(?:uuid|hash):\s+([0-9A-F]{40}) } [eval [getFossilCommand \ | |
| 66 | 66 | $repository "" info trunk]]] end] |
| 67 | 67 | } |
| 68 | 68 | } |
| 69 | 69 | |
| 70 | 70 | |
| 71 | 71 | proc theSumOfAllFiles { id } { |
| 72 | 72 | |
| 73 | 73 | ADDED test/graph-test-2.md |
| --- test/fileStat.th1 | |
| +++ test/fileStat.th1 | |
| @@ -60,11 +60,11 @@ | |
| 60 | tclEval { |
| 61 | # |
| 62 | # NOTE: Get the unique Id of the latest check-in on trunk. |
| 63 | # |
| 64 | return [lindex [regexp -line -inline -nocase -- \ |
| 65 | {^uuid:\s+([0-9A-F]{40}) } [eval [getFossilCommand \ |
| 66 | $repository "" info trunk]]] end] |
| 67 | } |
| 68 | } |
| 69 | |
| 70 | |
| 71 | proc theSumOfAllFiles { id } { |
| 72 | |
| 73 | DDED test/graph-test-2.md |
| --- test/fileStat.th1 | |
| +++ test/fileStat.th1 | |
| @@ -60,11 +60,11 @@ | |
| 60 | tclEval { |
| 61 | # |
| 62 | # NOTE: Get the unique Id of the latest check-in on trunk. |
| 63 | # |
| 64 | return [lindex [regexp -line -inline -nocase -- \ |
| 65 | {^(?:uuid|hash):\s+([0-9A-F]{40}) } [eval [getFossilCommand \ |
| 66 | $repository "" info trunk]]] end] |
| 67 | } |
| 68 | } |
| 69 | |
| 70 | |
| 71 | proc theSumOfAllFiles { id } { |
| 72 | |
| 73 | DDED test/graph-test-2.md |
+72
| --- a/test/graph-test-2.md | ||
| +++ b/test/graph-test-2.md | ||
| @@ -0,0 +1,72 @@ | ||
| 1 | +# Graph Test Cases | |
| 2 | + | |
| 3 | +There are test cases for the merge-riser coalescing logic that | |
| 4 | +was added on 2020-06-08. | |
| 5 | + | |
| 6 | + * [e19cfba5373369b](/info/e19cfba5373369b?diff=0) | |
| 7 | + * [c779b6890464cae](/info/c779b6890464cae?diff=0) | |
| 8 | + * [eed3946bd92a499](/info/eed3946bd92a499?diff=0) | |
| 9 | + * [9e1fa626e47f147](/info/9e1fa626e47f147?diff=0) | |
| 10 | + * [68bd2e7bedb8d05](/info/68bd2e7bedb8d05?diff=0) | |
| 11 | + * [8ac66ef33b464d2](/info/8ac66ef33b464d2?diff=0) | |
| 12 | + * [ef6979eac9abded](/info/ef6979eac9abded?diff=0) | |
| 13 | + * [7766e689926c703](/info/7766e689926c703?diff=0) | |
| 14 | + * [642f4dcfa24f1f9](/info/642f4dcfa24f1f9?diff=0) | |
| 15 | + * [3ea66260b5555d2](/info/3ea66260b5555d2?diff=0) | |
| 16 | + * [66ae70a54b20656](/info/66ae70a54b20656?diff=0) | |
| 17 | + * [b0f2a0ac53926c9](/info/b0f2a0ac53926c9?diff=0) | |
| 18 | + * [303e7af7c31866c](/info/303e7af7c31866c?diff=0) | |
| 19 | + * [b31afcc2cab1dc4](/info/b31afcc2cab1dc4?diff=0) | |
| 20 | + * [1a164e5fb76a46b](/info/1a164e5fb76a46b?diff=0) | |
| 21 | + * [f325b2343e6a18f](/info/f325b2343e6a18f?diff=0) | |
| 22 | + * [2d75e87b760c0a9](/info/2d75e87b760c0a9?diff=0) | |
| 23 | + * [76442af7e13267b](/info/76442af7e13267b?diff=0) | |
| 24 | + | |
| 25 | + | |
| 26 | +The list above was generated by the following script: | |
| 27 | + | |
| 28 | +~~~~~ | |
| 29 | +.mode list | |
| 30 | +SELECT printf(' * [%s](/info/%s?diff=0)', hash, hash) FROM ( | |
| 31 | + SELECT count(*) AS cnt, sum(cherrypick=1) AS cp, sum(cherrypick=0) AS n, | |
| 32 | + (SELECT substr(uuid,1,15) FROM blob WHERE rid=cid) AS hash | |
| 33 | + FROM ( | |
| 34 | + SELECT cid, 0 AS cherrypick FROM plink WHERE NOT isprim | |
| 35 | + UNION ALL | |
| 36 | + SELECT childid, 1 FROM cherrypick | |
| 37 | + ) | |
| 38 | + GROUP BY cid | |
| 39 | + HAVING (cp>0 AND n>0) OR cp>3 OR n>2 | |
| 40 | + ORDER BY cnt | |
| 41 | +); | |
| 42 | +~~~~~ | |
| 43 | + | |
| 44 | +Similar links to the SQLite repository: | |
| 45 | + | |
| 46 | + * [7f72fc4f47445a2](https://sqlite.org/src/info/7f72fc4f47445a2?diff=0) | |
| 47 | + * [db2935473eab91c](https://sqlite.org/src/info/db2935473eab91c?diff=0) | |
| 48 | + * [a56506b9387a067](https://sqlite.org/src/info/a56506b9387a067?diff=0) | |
| 49 | + * [d59567dda231e7f](https://sqlite.org/src/info/d59567dda231e7f?diff=0) | |
| 50 | + * [2b750b0f74e5a11](https://sqlite.org/src/info/2b750b0f74e5a11?diff=0) | |
| 51 | + * [c697d2f83c2d8ea](https://sqlite.org/src/info/c697d2f83c2d8ea?diff=0) | |
| 52 | + * [b330c7ff6fd1230](https://sqlite.org/src/info/b330c7ff6fd1230?diff=0) | |
| 53 | + * [746fcd2fd412ddc](https://sqlite.org/src/info/746fcd2fd412ddc?diff=0) | |
| 54 | + * [71866b367f32b5a](https://sqlite.org/src/info/71866b367f32b5a?diff=0) | |
| 55 | + * [05418b2a4a6e6a9](https://sqlite.org/src/info/05418b2a4a6e6a9?diff=0) | |
| 56 | + | |
| 57 | +Generated by a very similar script: | |
| 58 | + | |
| 59 | +~~~~~ | |
| 60 | +SELECT printf(' * [%s](https://sqlite.org/src/info/%s?diff=0)', hash, hash) FROM ( | |
| 61 | + SELECT count(*) AS cnt, sum(cherrypick=1) AS cp, sum(cherrypick=0) AS n, | |
| 62 | + (SELECT substr(uuid,1,15) FROM blob WHERE rid=cid) AS hash | |
| 63 | + FROM ( | |
| 64 | + SELECT cid, 0 AS cherrypick FROM plink WHERE NOT isprim | |
| 65 | + UNION ALL | |
| 66 | + SELECT childid, 1 FROM cherrypick | |
| 67 | + ) | |
| 68 | + GROUP BY cid | |
| 69 | + HAVING (cp>0 AND n>0) OR cp>2 OR n>2 | |
| 70 | + ORDER BY cnt | |
| 71 | +); | |
| 72 | +~~~~~ |
| --- a/test/graph-test-2.md | |
| +++ b/test/graph-test-2.md | |
| @@ -0,0 +1,72 @@ | |
| --- a/test/graph-test-2.md | |
| +++ b/test/graph-test-2.md | |
| @@ -0,0 +1,72 @@ | |
| 1 | # Graph Test Cases |
| 2 | |
| 3 | There are test cases for the merge-riser coalescing logic that |
| 4 | was added on 2020-06-08. |
| 5 | |
| 6 | * [e19cfba5373369b](/info/e19cfba5373369b?diff=0) |
| 7 | * [c779b6890464cae](/info/c779b6890464cae?diff=0) |
| 8 | * [eed3946bd92a499](/info/eed3946bd92a499?diff=0) |
| 9 | * [9e1fa626e47f147](/info/9e1fa626e47f147?diff=0) |
| 10 | * [68bd2e7bedb8d05](/info/68bd2e7bedb8d05?diff=0) |
| 11 | * [8ac66ef33b464d2](/info/8ac66ef33b464d2?diff=0) |
| 12 | * [ef6979eac9abded](/info/ef6979eac9abded?diff=0) |
| 13 | * [7766e689926c703](/info/7766e689926c703?diff=0) |
| 14 | * [642f4dcfa24f1f9](/info/642f4dcfa24f1f9?diff=0) |
| 15 | * [3ea66260b5555d2](/info/3ea66260b5555d2?diff=0) |
| 16 | * [66ae70a54b20656](/info/66ae70a54b20656?diff=0) |
| 17 | * [b0f2a0ac53926c9](/info/b0f2a0ac53926c9?diff=0) |
| 18 | * [303e7af7c31866c](/info/303e7af7c31866c?diff=0) |
| 19 | * [b31afcc2cab1dc4](/info/b31afcc2cab1dc4?diff=0) |
| 20 | * [1a164e5fb76a46b](/info/1a164e5fb76a46b?diff=0) |
| 21 | * [f325b2343e6a18f](/info/f325b2343e6a18f?diff=0) |
| 22 | * [2d75e87b760c0a9](/info/2d75e87b760c0a9?diff=0) |
| 23 | * [76442af7e13267b](/info/76442af7e13267b?diff=0) |
| 24 | |
| 25 | |
| 26 | The list above was generated by the following script: |
| 27 | |
| 28 | ~~~~~ |
| 29 | .mode list |
| 30 | SELECT printf(' * [%s](/info/%s?diff=0)', hash, hash) FROM ( |
| 31 | SELECT count(*) AS cnt, sum(cherrypick=1) AS cp, sum(cherrypick=0) AS n, |
| 32 | (SELECT substr(uuid,1,15) FROM blob WHERE rid=cid) AS hash |
| 33 | FROM ( |
| 34 | SELECT cid, 0 AS cherrypick FROM plink WHERE NOT isprim |
| 35 | UNION ALL |
| 36 | SELECT childid, 1 FROM cherrypick |
| 37 | ) |
| 38 | GROUP BY cid |
| 39 | HAVING (cp>0 AND n>0) OR cp>3 OR n>2 |
| 40 | ORDER BY cnt |
| 41 | ); |
| 42 | ~~~~~ |
| 43 | |
| 44 | Similar links to the SQLite repository: |
| 45 | |
| 46 | * [7f72fc4f47445a2](https://sqlite.org/src/info/7f72fc4f47445a2?diff=0) |
| 47 | * [db2935473eab91c](https://sqlite.org/src/info/db2935473eab91c?diff=0) |
| 48 | * [a56506b9387a067](https://sqlite.org/src/info/a56506b9387a067?diff=0) |
| 49 | * [d59567dda231e7f](https://sqlite.org/src/info/d59567dda231e7f?diff=0) |
| 50 | * [2b750b0f74e5a11](https://sqlite.org/src/info/2b750b0f74e5a11?diff=0) |
| 51 | * [c697d2f83c2d8ea](https://sqlite.org/src/info/c697d2f83c2d8ea?diff=0) |
| 52 | * [b330c7ff6fd1230](https://sqlite.org/src/info/b330c7ff6fd1230?diff=0) |
| 53 | * [746fcd2fd412ddc](https://sqlite.org/src/info/746fcd2fd412ddc?diff=0) |
| 54 | * [71866b367f32b5a](https://sqlite.org/src/info/71866b367f32b5a?diff=0) |
| 55 | * [05418b2a4a6e6a9](https://sqlite.org/src/info/05418b2a4a6e6a9?diff=0) |
| 56 | |
| 57 | Generated by a very similar script: |
| 58 | |
| 59 | ~~~~~ |
| 60 | SELECT printf(' * [%s](https://sqlite.org/src/info/%s?diff=0)', hash, hash) FROM ( |
| 61 | SELECT count(*) AS cnt, sum(cherrypick=1) AS cp, sum(cherrypick=0) AS n, |
| 62 | (SELECT substr(uuid,1,15) FROM blob WHERE rid=cid) AS hash |
| 63 | FROM ( |
| 64 | SELECT cid, 0 AS cherrypick FROM plink WHERE NOT isprim |
| 65 | UNION ALL |
| 66 | SELECT childid, 1 FROM cherrypick |
| 67 | ) |
| 68 | GROUP BY cid |
| 69 | HAVING (cp>0 AND n>0) OR cp>2 OR n>2 |
| 70 | ORDER BY cnt |
| 71 | ); |
| 72 | ~~~~~ |
+30
| --- test/mv-rm.test | ||
| +++ test/mv-rm.test | ||
| @@ -50,11 +50,15 @@ | ||
| 50 | 50 | file mkdir [file join $rootDir subdirC] |
| 51 | 51 | write_file [file join $rootDir subdirC f10] "f10" |
| 52 | 52 | write_file [file join $rootDir subdirC f11] "f11" |
| 53 | 53 | write_file f12 "f12" |
| 54 | 54 | |
| 55 | +file mkdir [file join $rootDir subdirE a] | |
| 56 | +write_file [file join $rootDir subdirE a f14] "f14" | |
| 57 | + | |
| 55 | 58 | fossil add f1 f2 f3 f4 f5 f6 f7 f8 subdirB/f9 subdirC/f10 subdirC/f11 f12 |
| 59 | +fossil add subdirE/a/f14 | |
| 56 | 60 | fossil commit -m "c1" |
| 57 | 61 | |
| 58 | 62 | ######################################## |
| 59 | 63 | # Test 1: Soft Move Relative Directory # |
| 60 | 64 | ######################################## |
| @@ -431,10 +435,36 @@ | ||
| 431 | 435 | test mv-file-new-directory-13 {[file size subdirC/f10] == 3} |
| 432 | 436 | test mv-file-new-directory-14 {[read_file subdirC/f10] eq "f10"} |
| 433 | 437 | test mv-file-new-directory-15 {[file size subdirC/f11] == 3} |
| 434 | 438 | test mv-file-new-directory-16 {[read_file subdirC/f11] eq "f11"} |
| 435 | 439 | |
| 440 | +cd $rootDir | |
| 441 | + | |
| 442 | +############################################################################### | |
| 443 | +# Test 19: Follow-up Soft Rename of a Directory Already Renamed on Filesystem # | |
| 444 | +############################################################################### | |
| 445 | + | |
| 446 | +file rename [file join $rootDir subdirE/a] [file join $rootDir subdirE/a_renamed] | |
| 447 | + | |
| 448 | +fossil mv subdirE/a subdirE/a_renamed | |
| 449 | +test mv-soft-already-renamed-directory-1 { | |
| 450 | + [normalize_result] eq "RENAME subdirE/a/f14 subdirE/a_renamed/f14" | |
| 451 | +} | |
| 452 | + | |
| 453 | +test mv-soft-already-renamed-directory-2 {[file size subdirE/a_renamed/f14] == 3} | |
| 454 | +test mv-soft-already-renamed-directory-3 {[read_file subdirE/a_renamed/f14] eq "f14"} | |
| 455 | + | |
| 456 | +fossil revert | |
| 457 | +test mv-soft-already-renamed-directory-4 { | |
| 458 | + [normalize_result] eq "DELETE subdirE/a_renamed/f14\nREVERT subdirE/a/f14${undoMsg}" | |
| 459 | +} | |
| 460 | + | |
| 461 | +test mv-soft-already-renamed-directory-5 {[file size subdirE/a/f14] == 3} | |
| 462 | +test mv-soft-already-renamed-directory-6 {[read_file subdirE/a/f14] eq "f14"} | |
| 463 | + | |
| 464 | +file delete -force [file join $rootDir subdirE/a_renamed] | |
| 465 | + | |
| 436 | 466 | cd $rootDir |
| 437 | 467 | |
| 438 | 468 | ############################################################################### |
| 439 | 469 | |
| 440 | 470 | test_cleanup |
| 441 | 471 |
| --- test/mv-rm.test | |
| +++ test/mv-rm.test | |
| @@ -50,11 +50,15 @@ | |
| 50 | file mkdir [file join $rootDir subdirC] |
| 51 | write_file [file join $rootDir subdirC f10] "f10" |
| 52 | write_file [file join $rootDir subdirC f11] "f11" |
| 53 | write_file f12 "f12" |
| 54 | |
| 55 | fossil add f1 f2 f3 f4 f5 f6 f7 f8 subdirB/f9 subdirC/f10 subdirC/f11 f12 |
| 56 | fossil commit -m "c1" |
| 57 | |
| 58 | ######################################## |
| 59 | # Test 1: Soft Move Relative Directory # |
| 60 | ######################################## |
| @@ -431,10 +435,36 @@ | |
| 431 | test mv-file-new-directory-13 {[file size subdirC/f10] == 3} |
| 432 | test mv-file-new-directory-14 {[read_file subdirC/f10] eq "f10"} |
| 433 | test mv-file-new-directory-15 {[file size subdirC/f11] == 3} |
| 434 | test mv-file-new-directory-16 {[read_file subdirC/f11] eq "f11"} |
| 435 | |
| 436 | cd $rootDir |
| 437 | |
| 438 | ############################################################################### |
| 439 | |
| 440 | test_cleanup |
| 441 |
| --- test/mv-rm.test | |
| +++ test/mv-rm.test | |
| @@ -50,11 +50,15 @@ | |
| 50 | file mkdir [file join $rootDir subdirC] |
| 51 | write_file [file join $rootDir subdirC f10] "f10" |
| 52 | write_file [file join $rootDir subdirC f11] "f11" |
| 53 | write_file f12 "f12" |
| 54 | |
| 55 | file mkdir [file join $rootDir subdirE a] |
| 56 | write_file [file join $rootDir subdirE a f14] "f14" |
| 57 | |
| 58 | fossil add f1 f2 f3 f4 f5 f6 f7 f8 subdirB/f9 subdirC/f10 subdirC/f11 f12 |
| 59 | fossil add subdirE/a/f14 |
| 60 | fossil commit -m "c1" |
| 61 | |
| 62 | ######################################## |
| 63 | # Test 1: Soft Move Relative Directory # |
| 64 | ######################################## |
| @@ -431,10 +435,36 @@ | |
| 435 | test mv-file-new-directory-13 {[file size subdirC/f10] == 3} |
| 436 | test mv-file-new-directory-14 {[read_file subdirC/f10] eq "f10"} |
| 437 | test mv-file-new-directory-15 {[file size subdirC/f11] == 3} |
| 438 | test mv-file-new-directory-16 {[read_file subdirC/f11] eq "f11"} |
| 439 | |
| 440 | cd $rootDir |
| 441 | |
| 442 | ############################################################################### |
| 443 | # Test 19: Follow-up Soft Rename of a Directory Already Renamed on Filesystem # |
| 444 | ############################################################################### |
| 445 | |
| 446 | file rename [file join $rootDir subdirE/a] [file join $rootDir subdirE/a_renamed] |
| 447 | |
| 448 | fossil mv subdirE/a subdirE/a_renamed |
| 449 | test mv-soft-already-renamed-directory-1 { |
| 450 | [normalize_result] eq "RENAME subdirE/a/f14 subdirE/a_renamed/f14" |
| 451 | } |
| 452 | |
| 453 | test mv-soft-already-renamed-directory-2 {[file size subdirE/a_renamed/f14] == 3} |
| 454 | test mv-soft-already-renamed-directory-3 {[read_file subdirE/a_renamed/f14] eq "f14"} |
| 455 | |
| 456 | fossil revert |
| 457 | test mv-soft-already-renamed-directory-4 { |
| 458 | [normalize_result] eq "DELETE subdirE/a_renamed/f14\nREVERT subdirE/a/f14${undoMsg}" |
| 459 | } |
| 460 | |
| 461 | test mv-soft-already-renamed-directory-5 {[file size subdirE/a/f14] == 3} |
| 462 | test mv-soft-already-renamed-directory-6 {[read_file subdirE/a/f14] eq "f14"} |
| 463 | |
| 464 | file delete -force [file join $rootDir subdirE/a_renamed] |
| 465 | |
| 466 | cd $rootDir |
| 467 | |
| 468 | ############################################################################### |
| 469 | |
| 470 | test_cleanup |
| 471 |
| --- test/release-checklist.wiki | ||
| +++ test/release-checklist.wiki | ||
| @@ -12,10 +12,20 @@ | ||
| 12 | 12 | |
| 13 | 13 | <li><p> |
| 14 | 14 | Click on each of the links in in the |
| 15 | 15 | [./graph-test-1.wiki] document and verify that all graphs are |
| 16 | 16 | rendered correctly. |
| 17 | + | |
| 18 | +<li><p> | |
| 19 | +Click on each of the links in in the | |
| 20 | +[./graph-test-2.md] document and verify that all graphs are | |
| 21 | +rendered correctly. | |
| 22 | +<ol type="a"> | |
| 23 | +<li> Also view the same check-ins on a /timeline | |
| 24 | +view by clicking on the date for each check-in in the /info | |
| 25 | +view, as the graph rendering is slightly different. | |
| 26 | +</ol> | |
| 17 | 27 | |
| 18 | 28 | <li><p> |
| 19 | 29 | Click on each of the links in in the |
| 20 | 30 | [./diff-test-1.wiki] document and verify that all diffs are |
| 21 | 31 | rendered correctly. |
| 22 | 32 |
| --- test/release-checklist.wiki | |
| +++ test/release-checklist.wiki | |
| @@ -12,10 +12,20 @@ | |
| 12 | |
| 13 | <li><p> |
| 14 | Click on each of the links in in the |
| 15 | [./graph-test-1.wiki] document and verify that all graphs are |
| 16 | rendered correctly. |
| 17 | |
| 18 | <li><p> |
| 19 | Click on each of the links in in the |
| 20 | [./diff-test-1.wiki] document and verify that all diffs are |
| 21 | rendered correctly. |
| 22 |
| --- test/release-checklist.wiki | |
| +++ test/release-checklist.wiki | |
| @@ -12,10 +12,20 @@ | |
| 12 | |
| 13 | <li><p> |
| 14 | Click on each of the links in in the |
| 15 | [./graph-test-1.wiki] document and verify that all graphs are |
| 16 | rendered correctly. |
| 17 | |
| 18 | <li><p> |
| 19 | Click on each of the links in in the |
| 20 | [./graph-test-2.md] document and verify that all graphs are |
| 21 | rendered correctly. |
| 22 | <ol type="a"> |
| 23 | <li> Also view the same check-ins on a /timeline |
| 24 | view by clicking on the date for each check-in in the /info |
| 25 | view, as the graph rendering is slightly different. |
| 26 | </ol> |
| 27 | |
| 28 | <li><p> |
| 29 | Click on each of the links in in the |
| 30 | [./diff-test-1.wiki] document and verify that all diffs are |
| 31 | rendered correctly. |
| 32 |
+164
| --- test/revert.test | ||
| +++ test/revert.test | ||
| @@ -186,9 +186,173 @@ | ||
| 186 | 186 | test 3-mv-2 {![file exists f1new]} |
| 187 | 187 | revert-test 3-1 {} { |
| 188 | 188 | REVERT f1 |
| 189 | 189 | DELETE f1new |
| 190 | 190 | } -exists {f1} -notexists {f1n} |
| 191 | + | |
| 192 | + | |
| 193 | +# Test reverting of files under a sub-directory | |
| 194 | +test_setup | |
| 195 | +file mkdir d | |
| 196 | +write_file d/f1 "d/f1" | |
| 197 | +write_file d/f2 "d/f2" | |
| 198 | +write_file d/f3 "d/f3" | |
| 199 | +write_file d/f4 "d/f4" | |
| 200 | + | |
| 201 | +fossil add d | |
| 202 | +fossil delete d/f1 | |
| 203 | +fossil commit -m "d/f2 d/f3 d/f4" | |
| 204 | + | |
| 205 | +## Changes to revert | |
| 206 | +fossil add d/f1 | |
| 207 | +write_file d/f2 "4-1:d/f2" | |
| 208 | +fossil changes d/f2 | |
| 209 | +fossil delete --soft d/f3 | |
| 210 | + | |
| 211 | +revert-test 4-1 {d/f1} { | |
| 212 | + UNMANAGE d/f1 | |
| 213 | +} -changes { | |
| 214 | + EDITED d/f2 | |
| 215 | + DELETED d/f3 | |
| 216 | +} -addremove { | |
| 217 | + ADDED d/f1 | |
| 218 | +} -exists {d/f1 d/f2 d/f3} | |
| 219 | + | |
| 220 | +revert-test 4-2 {d/f2} { | |
| 221 | + REVERT d/f2 | |
| 222 | +} -changes { | |
| 223 | + ADDED d/f1 | |
| 224 | + DELETED d/f3 | |
| 225 | +} -exists {d/f1 d/f2 d/f3} | |
| 226 | + | |
| 227 | +revert-test 4-3 {d/f3} { | |
| 228 | + REVERT d/f3 | |
| 229 | +} -changes { | |
| 230 | + ADDED d/f1 | |
| 231 | + EDITED d/f2 | |
| 232 | +} -exists {d/f1 d/f2 d/f3} | |
| 233 | + | |
| 234 | +fossil mv --soft d/f4 d/f4new | |
| 235 | +test 4-4-mv-1 {[file exists d/f4]} | |
| 236 | +test 4-4-mv-2 {![file exists d/f4new]} | |
| 237 | +revert-test 4-4 {d/f4} { | |
| 238 | + DELETE d/f4new | |
| 239 | + REVERT d/f4 | |
| 240 | +} -changes { | |
| 241 | + ADDED d/f1 | |
| 242 | + EDITED d/f2 | |
| 243 | + DELETED d/f3 | |
| 244 | +} -exists {d/f4} -notexists {d/f4new} | |
| 245 | + | |
| 246 | +## Commit changes before testing reverting of directory rename, | |
| 247 | +## otherwise there're could be sequencing issues | |
| 248 | +fossil redo | |
| 249 | +fossil commit -m "4-5:setup" | |
| 250 | + | |
| 251 | +fossil mv --soft d dnew | |
| 252 | +revert-test 4-5 {d/f1 d/f2 d/f3 d/f4} { | |
| 253 | + REVERT d/f1 | |
| 254 | + REVERT d/f2 | |
| 255 | + UNMANAGE d/f3 | |
| 256 | + REVERT d/f4 | |
| 257 | + DELETE dnew/f1 | |
| 258 | + DELETE dnew/f2 | |
| 259 | + DELETE dnew/f4 | |
| 260 | +} -addremove { | |
| 261 | + ADDED d/f3 | |
| 262 | +} -exists {d/f1 d/f2 d/f3 d/f4} -notexists {dnew} | |
| 263 | + | |
| 264 | + | |
| 265 | +## Test reverting of changes in whole sub-directory tree | |
| 266 | +test_setup | |
| 267 | +file mkdir d | |
| 268 | +write_file f0 "f0" | |
| 269 | +write_file d/f1 "d/f1" | |
| 270 | +write_file d/f2 "d/f2" | |
| 271 | +write_file d/f3 "d/f3" | |
| 272 | +write_file d/f4 "d/f4" | |
| 273 | + | |
| 274 | +fossil add f0 d | |
| 275 | +fossil delete d/f1 | |
| 276 | +fossil commit -m "f0 d/f2 d/f3 d/f4" | |
| 277 | + | |
| 278 | +## Changes to revert | |
| 279 | +fossil add d/f1 | |
| 280 | +write_file d/f2 "5-1:d/f2" | |
| 281 | +fossil changes d/f2 | |
| 282 | +fossil delete --soft d/f3 | |
| 283 | + | |
| 284 | +revert-test 5-1 {d} { | |
| 285 | + UNMANAGE d/f1 | |
| 286 | + REVERT d/f2 | |
| 287 | + REVERT d/f3 | |
| 288 | +} -addremove { | |
| 289 | + ADDED d/f1 | |
| 290 | +} -exists {f0 d/f1 d/f2 d/f3} | |
| 291 | + | |
| 292 | +write_file f0 "5-2:f0" | |
| 293 | +fossil changes f0 | |
| 294 | +revert-test 5-2 {f0 d} { | |
| 295 | + UNMANAGE d/f1 | |
| 296 | + REVERT d/f2 | |
| 297 | + REVERT d/f3 | |
| 298 | + REVERT f0 | |
| 299 | +} -addremove { | |
| 300 | + ADDED d/f1 | |
| 301 | +} -exists {f0 d/f1 d/f2 d/f3} | |
| 302 | + | |
| 303 | +## Commit changes before testing the revert of directory rename, | |
| 304 | +## otherwise there're could be sequencing issues | |
| 305 | +fossil commit -m "5-3:setup" | |
| 306 | + | |
| 307 | +fossil changes | |
| 308 | + | |
| 309 | +fossil mv --soft d dnew | |
| 310 | +revert-test 5-3 {d} { | |
| 311 | + REVERT d/f1 | |
| 312 | + REVERT d/f2 | |
| 313 | + REVERT d/f4 | |
| 314 | + DELETE dnew/f1 | |
| 315 | + DELETE dnew/f2 | |
| 316 | + DELETE dnew/f4 | |
| 317 | +} -addremove { | |
| 318 | + ADDED d/f3 | |
| 319 | +} -exists {f0 d/f1 d/f2 d/f3 d/f4} -notexists {dnew} | |
| 320 | + | |
| 321 | +## Reset/redo the undone results of revert to get to a clean checkout | |
| 322 | +fossil redo | |
| 323 | + | |
| 324 | +file mkdir d/e | |
| 325 | +file mkdir d/e/f | |
| 326 | +write_file d/e/fe1 "d/e/fe1" | |
| 327 | +write_file d/e/f/ff1 "d/e/f/ff1" | |
| 328 | + | |
| 329 | +file mkdir d1 | |
| 330 | +file mkdir d1/e | |
| 331 | +write_file d1/e/fe1 "d1/e/fe1" | |
| 332 | +write_file d1/e/fe2 "d1/e/fe2" | |
| 333 | + | |
| 334 | +fossil add d1/e/fe1 | |
| 335 | +fossil commit d1/e/fe1 -m "d1/e/fe1" | |
| 336 | + | |
| 337 | +write_file d1/e/fe1 "5-4:d1/e/fe1" | |
| 338 | +fossil changes d1/e/fe1 | |
| 339 | +fossil add d d1 | |
| 340 | + | |
| 341 | +revert-test 5-4 {d d1} { | |
| 342 | + UNMANAGE d/f3 | |
| 343 | + UNMANAGE d/e/fe1 | |
| 344 | + UNMANAGE d/e/f/ff1 | |
| 345 | + REVERT d1/e/fe1 | |
| 346 | + UNMANAGE d1/e/fe2 | |
| 347 | +} -addremove { | |
| 348 | + ADDED d/f3 | |
| 349 | + ADDED d/e/fe1 | |
| 350 | + ADDED d/e/f/ff1 | |
| 351 | + ADDED d1/e/fe2 | |
| 352 | +} -exists {d/f1 d/f2 d/f3 d/f4 d/e/fe1 d/e/fe1 d/e/f/ff1 | |
| 353 | + d1/e/fe1 d1/e/fe2} | |
| 354 | + | |
| 191 | 355 | |
| 192 | 356 | ############################################################################### |
| 193 | 357 | |
| 194 | 358 | test_cleanup |
| 195 | 359 |
| --- test/revert.test | |
| +++ test/revert.test | |
| @@ -186,9 +186,173 @@ | |
| 186 | test 3-mv-2 {![file exists f1new]} |
| 187 | revert-test 3-1 {} { |
| 188 | REVERT f1 |
| 189 | DELETE f1new |
| 190 | } -exists {f1} -notexists {f1n} |
| 191 | |
| 192 | ############################################################################### |
| 193 | |
| 194 | test_cleanup |
| 195 |
| --- test/revert.test | |
| +++ test/revert.test | |
| @@ -186,9 +186,173 @@ | |
| 186 | test 3-mv-2 {![file exists f1new]} |
| 187 | revert-test 3-1 {} { |
| 188 | REVERT f1 |
| 189 | DELETE f1new |
| 190 | } -exists {f1} -notexists {f1n} |
| 191 | |
| 192 | |
| 193 | # Test reverting of files under a sub-directory |
| 194 | test_setup |
| 195 | file mkdir d |
| 196 | write_file d/f1 "d/f1" |
| 197 | write_file d/f2 "d/f2" |
| 198 | write_file d/f3 "d/f3" |
| 199 | write_file d/f4 "d/f4" |
| 200 | |
| 201 | fossil add d |
| 202 | fossil delete d/f1 |
| 203 | fossil commit -m "d/f2 d/f3 d/f4" |
| 204 | |
| 205 | ## Changes to revert |
| 206 | fossil add d/f1 |
| 207 | write_file d/f2 "4-1:d/f2" |
| 208 | fossil changes d/f2 |
| 209 | fossil delete --soft d/f3 |
| 210 | |
| 211 | revert-test 4-1 {d/f1} { |
| 212 | UNMANAGE d/f1 |
| 213 | } -changes { |
| 214 | EDITED d/f2 |
| 215 | DELETED d/f3 |
| 216 | } -addremove { |
| 217 | ADDED d/f1 |
| 218 | } -exists {d/f1 d/f2 d/f3} |
| 219 | |
| 220 | revert-test 4-2 {d/f2} { |
| 221 | REVERT d/f2 |
| 222 | } -changes { |
| 223 | ADDED d/f1 |
| 224 | DELETED d/f3 |
| 225 | } -exists {d/f1 d/f2 d/f3} |
| 226 | |
| 227 | revert-test 4-3 {d/f3} { |
| 228 | REVERT d/f3 |
| 229 | } -changes { |
| 230 | ADDED d/f1 |
| 231 | EDITED d/f2 |
| 232 | } -exists {d/f1 d/f2 d/f3} |
| 233 | |
| 234 | fossil mv --soft d/f4 d/f4new |
| 235 | test 4-4-mv-1 {[file exists d/f4]} |
| 236 | test 4-4-mv-2 {![file exists d/f4new]} |
| 237 | revert-test 4-4 {d/f4} { |
| 238 | DELETE d/f4new |
| 239 | REVERT d/f4 |
| 240 | } -changes { |
| 241 | ADDED d/f1 |
| 242 | EDITED d/f2 |
| 243 | DELETED d/f3 |
| 244 | } -exists {d/f4} -notexists {d/f4new} |
| 245 | |
| 246 | ## Commit changes before testing reverting of directory rename, |
| 247 | ## otherwise there're could be sequencing issues |
| 248 | fossil redo |
| 249 | fossil commit -m "4-5:setup" |
| 250 | |
| 251 | fossil mv --soft d dnew |
| 252 | revert-test 4-5 {d/f1 d/f2 d/f3 d/f4} { |
| 253 | REVERT d/f1 |
| 254 | REVERT d/f2 |
| 255 | UNMANAGE d/f3 |
| 256 | REVERT d/f4 |
| 257 | DELETE dnew/f1 |
| 258 | DELETE dnew/f2 |
| 259 | DELETE dnew/f4 |
| 260 | } -addremove { |
| 261 | ADDED d/f3 |
| 262 | } -exists {d/f1 d/f2 d/f3 d/f4} -notexists {dnew} |
| 263 | |
| 264 | |
| 265 | ## Test reverting of changes in whole sub-directory tree |
| 266 | test_setup |
| 267 | file mkdir d |
| 268 | write_file f0 "f0" |
| 269 | write_file d/f1 "d/f1" |
| 270 | write_file d/f2 "d/f2" |
| 271 | write_file d/f3 "d/f3" |
| 272 | write_file d/f4 "d/f4" |
| 273 | |
| 274 | fossil add f0 d |
| 275 | fossil delete d/f1 |
| 276 | fossil commit -m "f0 d/f2 d/f3 d/f4" |
| 277 | |
| 278 | ## Changes to revert |
| 279 | fossil add d/f1 |
| 280 | write_file d/f2 "5-1:d/f2" |
| 281 | fossil changes d/f2 |
| 282 | fossil delete --soft d/f3 |
| 283 | |
| 284 | revert-test 5-1 {d} { |
| 285 | UNMANAGE d/f1 |
| 286 | REVERT d/f2 |
| 287 | REVERT d/f3 |
| 288 | } -addremove { |
| 289 | ADDED d/f1 |
| 290 | } -exists {f0 d/f1 d/f2 d/f3} |
| 291 | |
| 292 | write_file f0 "5-2:f0" |
| 293 | fossil changes f0 |
| 294 | revert-test 5-2 {f0 d} { |
| 295 | UNMANAGE d/f1 |
| 296 | REVERT d/f2 |
| 297 | REVERT d/f3 |
| 298 | REVERT f0 |
| 299 | } -addremove { |
| 300 | ADDED d/f1 |
| 301 | } -exists {f0 d/f1 d/f2 d/f3} |
| 302 | |
| 303 | ## Commit changes before testing the revert of directory rename, |
| 304 | ## otherwise there're could be sequencing issues |
| 305 | fossil commit -m "5-3:setup" |
| 306 | |
| 307 | fossil changes |
| 308 | |
| 309 | fossil mv --soft d dnew |
| 310 | revert-test 5-3 {d} { |
| 311 | REVERT d/f1 |
| 312 | REVERT d/f2 |
| 313 | REVERT d/f4 |
| 314 | DELETE dnew/f1 |
| 315 | DELETE dnew/f2 |
| 316 | DELETE dnew/f4 |
| 317 | } -addremove { |
| 318 | ADDED d/f3 |
| 319 | } -exists {f0 d/f1 d/f2 d/f3 d/f4} -notexists {dnew} |
| 320 | |
| 321 | ## Reset/redo the undone results of revert to get to a clean checkout |
| 322 | fossil redo |
| 323 | |
| 324 | file mkdir d/e |
| 325 | file mkdir d/e/f |
| 326 | write_file d/e/fe1 "d/e/fe1" |
| 327 | write_file d/e/f/ff1 "d/e/f/ff1" |
| 328 | |
| 329 | file mkdir d1 |
| 330 | file mkdir d1/e |
| 331 | write_file d1/e/fe1 "d1/e/fe1" |
| 332 | write_file d1/e/fe2 "d1/e/fe2" |
| 333 | |
| 334 | fossil add d1/e/fe1 |
| 335 | fossil commit d1/e/fe1 -m "d1/e/fe1" |
| 336 | |
| 337 | write_file d1/e/fe1 "5-4:d1/e/fe1" |
| 338 | fossil changes d1/e/fe1 |
| 339 | fossil add d d1 |
| 340 | |
| 341 | revert-test 5-4 {d d1} { |
| 342 | UNMANAGE d/f3 |
| 343 | UNMANAGE d/e/fe1 |
| 344 | UNMANAGE d/e/f/ff1 |
| 345 | REVERT d1/e/fe1 |
| 346 | UNMANAGE d1/e/fe2 |
| 347 | } -addremove { |
| 348 | ADDED d/f3 |
| 349 | ADDED d/e/fe1 |
| 350 | ADDED d/e/f/ff1 |
| 351 | ADDED d1/e/fe2 |
| 352 | } -exists {d/f1 d/f2 d/f3 d/f4 d/e/fe1 d/e/fe1 d/e/f/ff1 |
| 353 | d1/e/fe1 d1/e/fe2} |
| 354 | |
| 355 | |
| 356 | ############################################################################### |
| 357 | |
| 358 | test_cleanup |
| 359 |
+14
-10
| --- test/tester.tcl | ||
| +++ test/tester.tcl | ||
| @@ -243,19 +243,11 @@ | ||
| 243 | 243 | dotfiles \ |
| 244 | 244 | empty-dirs \ |
| 245 | 245 | encoding-glob \ |
| 246 | 246 | ignore-glob \ |
| 247 | 247 | keep-glob \ |
| 248 | - manifest \ | |
| 249 | - th1-setup \ | |
| 250 | - th1-uri-regexp] | |
| 251 | - | |
| 252 | - fossil test-th-eval "hasfeature tcl" | |
| 253 | - | |
| 254 | - if {[normalize_result] eq "1"} { | |
| 255 | - lappend result tcl-setup | |
| 256 | - } | |
| 248 | + manifest] | |
| 257 | 249 | |
| 258 | 250 | return [lsort -dictionary $result] |
| 259 | 251 | } |
| 260 | 252 | |
| 261 | 253 | # Returns the list of all supported settings. |
| @@ -282,40 +274,49 @@ | ||
| 282 | 274 | clean-glob \ |
| 283 | 275 | clearsign \ |
| 284 | 276 | comment-format \ |
| 285 | 277 | crlf-glob \ |
| 286 | 278 | crnl-glob \ |
| 279 | + default-csp \ | |
| 287 | 280 | default-perms \ |
| 288 | 281 | diff-binary \ |
| 289 | 282 | diff-command \ |
| 290 | 283 | dont-push \ |
| 291 | 284 | dotfiles \ |
| 292 | 285 | editor \ |
| 286 | + email-admin \ | |
| 293 | 287 | email-self \ |
| 294 | 288 | email-send-command \ |
| 295 | 289 | email-send-db \ |
| 296 | 290 | email-send-dir \ |
| 297 | 291 | email-send-method \ |
| 298 | 292 | email-send-relayhost \ |
| 293 | + email-subname \ | |
| 294 | + email-url \ | |
| 299 | 295 | empty-dirs \ |
| 300 | 296 | encoding-glob \ |
| 301 | 297 | exec-rel-paths \ |
| 298 | + fileedit-glob \ | |
| 299 | + forbid-delta-manifests \ | |
| 302 | 300 | gdiff-command \ |
| 303 | 301 | gmerge-command \ |
| 304 | 302 | hash-digits \ |
| 305 | 303 | http-port \ |
| 306 | 304 | https-login \ |
| 307 | 305 | ignore-glob \ |
| 308 | 306 | keep-glob \ |
| 309 | 307 | localauth \ |
| 308 | + lock-timeout \ | |
| 310 | 309 | main-branch \ |
| 311 | 310 | manifest \ |
| 312 | 311 | max-loadavg \ |
| 313 | 312 | max-upload \ |
| 313 | + mimetypes \ | |
| 314 | 314 | mtime-changes \ |
| 315 | 315 | pgp-command \ |
| 316 | 316 | proxy \ |
| 317 | + redirect-to-https \ | |
| 317 | 318 | relative-paths \ |
| 318 | 319 | repo-cksum \ |
| 319 | 320 | repolist-skin \ |
| 320 | 321 | self-register \ |
| 321 | 322 | ssh-command \ |
| @@ -952,11 +953,14 @@ | ||
| 952 | 953 | set inFileName [file join $::tempPath [appendArgs test-http-in- $suffix]] |
| 953 | 954 | set outFileName [file join $::tempPath [appendArgs test-http-out- $suffix]] |
| 954 | 955 | set data [subst [read_file $dataFileName]] |
| 955 | 956 | |
| 956 | 957 | write_file $inFileName $data |
| 957 | - fossil http $inFileName $outFileName 127.0.0.1 $repository --localauth | |
| 958 | + | |
| 959 | + fossil http --in $inFileName --out $outFileName --ipaddr 127.0.0.1 \ | |
| 960 | + $repository --localauth --th-trace | |
| 961 | + | |
| 958 | 962 | set result [expr {[file exists $outFileName] ? [read_file $outFileName] : ""}] |
| 959 | 963 | |
| 960 | 964 | if {1} { |
| 961 | 965 | catch {file delete $inFileName} |
| 962 | 966 | catch {file delete $outFileName} |
| 963 | 967 |
| --- test/tester.tcl | |
| +++ test/tester.tcl | |
| @@ -243,19 +243,11 @@ | |
| 243 | dotfiles \ |
| 244 | empty-dirs \ |
| 245 | encoding-glob \ |
| 246 | ignore-glob \ |
| 247 | keep-glob \ |
| 248 | manifest \ |
| 249 | th1-setup \ |
| 250 | th1-uri-regexp] |
| 251 | |
| 252 | fossil test-th-eval "hasfeature tcl" |
| 253 | |
| 254 | if {[normalize_result] eq "1"} { |
| 255 | lappend result tcl-setup |
| 256 | } |
| 257 | |
| 258 | return [lsort -dictionary $result] |
| 259 | } |
| 260 | |
| 261 | # Returns the list of all supported settings. |
| @@ -282,40 +274,49 @@ | |
| 282 | clean-glob \ |
| 283 | clearsign \ |
| 284 | comment-format \ |
| 285 | crlf-glob \ |
| 286 | crnl-glob \ |
| 287 | default-perms \ |
| 288 | diff-binary \ |
| 289 | diff-command \ |
| 290 | dont-push \ |
| 291 | dotfiles \ |
| 292 | editor \ |
| 293 | email-self \ |
| 294 | email-send-command \ |
| 295 | email-send-db \ |
| 296 | email-send-dir \ |
| 297 | email-send-method \ |
| 298 | email-send-relayhost \ |
| 299 | empty-dirs \ |
| 300 | encoding-glob \ |
| 301 | exec-rel-paths \ |
| 302 | gdiff-command \ |
| 303 | gmerge-command \ |
| 304 | hash-digits \ |
| 305 | http-port \ |
| 306 | https-login \ |
| 307 | ignore-glob \ |
| 308 | keep-glob \ |
| 309 | localauth \ |
| 310 | main-branch \ |
| 311 | manifest \ |
| 312 | max-loadavg \ |
| 313 | max-upload \ |
| 314 | mtime-changes \ |
| 315 | pgp-command \ |
| 316 | proxy \ |
| 317 | relative-paths \ |
| 318 | repo-cksum \ |
| 319 | repolist-skin \ |
| 320 | self-register \ |
| 321 | ssh-command \ |
| @@ -952,11 +953,14 @@ | |
| 952 | set inFileName [file join $::tempPath [appendArgs test-http-in- $suffix]] |
| 953 | set outFileName [file join $::tempPath [appendArgs test-http-out- $suffix]] |
| 954 | set data [subst [read_file $dataFileName]] |
| 955 | |
| 956 | write_file $inFileName $data |
| 957 | fossil http $inFileName $outFileName 127.0.0.1 $repository --localauth |
| 958 | set result [expr {[file exists $outFileName] ? [read_file $outFileName] : ""}] |
| 959 | |
| 960 | if {1} { |
| 961 | catch {file delete $inFileName} |
| 962 | catch {file delete $outFileName} |
| 963 |
| --- test/tester.tcl | |
| +++ test/tester.tcl | |
| @@ -243,19 +243,11 @@ | |
| 243 | dotfiles \ |
| 244 | empty-dirs \ |
| 245 | encoding-glob \ |
| 246 | ignore-glob \ |
| 247 | keep-glob \ |
| 248 | manifest] |
| 249 | |
| 250 | return [lsort -dictionary $result] |
| 251 | } |
| 252 | |
| 253 | # Returns the list of all supported settings. |
| @@ -282,40 +274,49 @@ | |
| 274 | clean-glob \ |
| 275 | clearsign \ |
| 276 | comment-format \ |
| 277 | crlf-glob \ |
| 278 | crnl-glob \ |
| 279 | default-csp \ |
| 280 | default-perms \ |
| 281 | diff-binary \ |
| 282 | diff-command \ |
| 283 | dont-push \ |
| 284 | dotfiles \ |
| 285 | editor \ |
| 286 | email-admin \ |
| 287 | email-self \ |
| 288 | email-send-command \ |
| 289 | email-send-db \ |
| 290 | email-send-dir \ |
| 291 | email-send-method \ |
| 292 | email-send-relayhost \ |
| 293 | email-subname \ |
| 294 | email-url \ |
| 295 | empty-dirs \ |
| 296 | encoding-glob \ |
| 297 | exec-rel-paths \ |
| 298 | fileedit-glob \ |
| 299 | forbid-delta-manifests \ |
| 300 | gdiff-command \ |
| 301 | gmerge-command \ |
| 302 | hash-digits \ |
| 303 | http-port \ |
| 304 | https-login \ |
| 305 | ignore-glob \ |
| 306 | keep-glob \ |
| 307 | localauth \ |
| 308 | lock-timeout \ |
| 309 | main-branch \ |
| 310 | manifest \ |
| 311 | max-loadavg \ |
| 312 | max-upload \ |
| 313 | mimetypes \ |
| 314 | mtime-changes \ |
| 315 | pgp-command \ |
| 316 | proxy \ |
| 317 | redirect-to-https \ |
| 318 | relative-paths \ |
| 319 | repo-cksum \ |
| 320 | repolist-skin \ |
| 321 | self-register \ |
| 322 | ssh-command \ |
| @@ -952,11 +953,14 @@ | |
| 953 | set inFileName [file join $::tempPath [appendArgs test-http-in- $suffix]] |
| 954 | set outFileName [file join $::tempPath [appendArgs test-http-out- $suffix]] |
| 955 | set data [subst [read_file $dataFileName]] |
| 956 | |
| 957 | write_file $inFileName $data |
| 958 | |
| 959 | fossil http --in $inFileName --out $outFileName --ipaddr 127.0.0.1 \ |
| 960 | $repository --localauth --th-trace |
| 961 | |
| 962 | set result [expr {[file exists $outFileName] ? [read_file $outFileName] : ""}] |
| 963 | |
| 964 | if {1} { |
| 965 | catch {file delete $inFileName} |
| 966 | catch {file delete $outFileName} |
| 967 |
+3
-2
| --- test/th1-hooks.test | ||
| +++ test/th1-hooks.test | ||
| @@ -126,11 +126,12 @@ | ||
| 126 | 126 | |
| 127 | 127 | set dataFileName [file join $::testdir th1-hooks-input.txt] |
| 128 | 128 | |
| 129 | 129 | ############################################################################### |
| 130 | 130 | |
| 131 | -saveTh1SetupFile; writeTh1SetupFile $testTh1Setup | |
| 131 | +set savedTh1Setup [fossil settings th1-setup] | |
| 132 | +fossil settings th1-setup $testTh1Setup | |
| 132 | 133 | |
| 133 | 134 | ############################################################################### |
| 134 | 135 | |
| 135 | 136 | fossil timeline custom -expectError; # NOTE: Bad "WHEN" argument. |
| 136 | 137 | test th1-cmd-hooks-1a {[normalize_result] eq \ |
| @@ -227,10 +228,10 @@ | ||
| 227 | 228 | test th1-custom-web-1b {[last_data_line] eq \ |
| 228 | 229 | {<h1><b>command_hook http webpage_hook test1 webpage_notify test1</b></h1>}} |
| 229 | 230 | |
| 230 | 231 | ############################################################################### |
| 231 | 232 | |
| 232 | -restoreTh1SetupFile | |
| 233 | +fossil settings th1-setup $savedTh1Setup | |
| 233 | 234 | |
| 234 | 235 | ############################################################################### |
| 235 | 236 | |
| 236 | 237 | test_cleanup |
| 237 | 238 |
| --- test/th1-hooks.test | |
| +++ test/th1-hooks.test | |
| @@ -126,11 +126,12 @@ | |
| 126 | |
| 127 | set dataFileName [file join $::testdir th1-hooks-input.txt] |
| 128 | |
| 129 | ############################################################################### |
| 130 | |
| 131 | saveTh1SetupFile; writeTh1SetupFile $testTh1Setup |
| 132 | |
| 133 | ############################################################################### |
| 134 | |
| 135 | fossil timeline custom -expectError; # NOTE: Bad "WHEN" argument. |
| 136 | test th1-cmd-hooks-1a {[normalize_result] eq \ |
| @@ -227,10 +228,10 @@ | |
| 227 | test th1-custom-web-1b {[last_data_line] eq \ |
| 228 | {<h1><b>command_hook http webpage_hook test1 webpage_notify test1</b></h1>}} |
| 229 | |
| 230 | ############################################################################### |
| 231 | |
| 232 | restoreTh1SetupFile |
| 233 | |
| 234 | ############################################################################### |
| 235 | |
| 236 | test_cleanup |
| 237 |
| --- test/th1-hooks.test | |
| +++ test/th1-hooks.test | |
| @@ -126,11 +126,12 @@ | |
| 126 | |
| 127 | set dataFileName [file join $::testdir th1-hooks-input.txt] |
| 128 | |
| 129 | ############################################################################### |
| 130 | |
| 131 | set savedTh1Setup [fossil settings th1-setup] |
| 132 | fossil settings th1-setup $testTh1Setup |
| 133 | |
| 134 | ############################################################################### |
| 135 | |
| 136 | fossil timeline custom -expectError; # NOTE: Bad "WHEN" argument. |
| 137 | test th1-cmd-hooks-1a {[normalize_result] eq \ |
| @@ -227,10 +228,10 @@ | |
| 228 | test th1-custom-web-1b {[last_data_line] eq \ |
| 229 | {<h1><b>command_hook http webpage_hook test1 webpage_notify test1</b></h1>}} |
| 230 | |
| 231 | ############################################################################### |
| 232 | |
| 233 | fossil settings th1-setup $savedTh1Setup |
| 234 | |
| 235 | ############################################################################### |
| 236 | |
| 237 | test_cleanup |
| 238 |
+11
-10
| --- test/th1.test | ||
| +++ test/th1.test | ||
| @@ -563,12 +563,13 @@ | ||
| 563 | 563 | puts "Skipping th1-anycap-*-1 perm tests: uncommitted changes in Fossil checkout." |
| 564 | 564 | } else { |
| 565 | 565 | set skip_anycap 0 |
| 566 | 566 | } |
| 567 | 567 | |
| 568 | +# NOTE: The 'd' permission is no longer used. | |
| 568 | 569 | foreach perm [list \ |
| 569 | - a b c d e f g h i j k l m n o p q r s t u v w x y z \ | |
| 570 | + a b c e f g h i j k l m n o p q r s t u v w x y z \ | |
| 570 | 571 | A D \ |
| 571 | 572 | 2 3 4 5 6 7 ] { |
| 572 | 573 | if {$perm eq "u"} continue; # NOTE: Skip "reader" meta-permission. |
| 573 | 574 | if {$perm eq "v"} continue; # NOTE: Skip "developer" meta-permission. |
| 574 | 575 | |
| @@ -792,11 +793,11 @@ | ||
| 792 | 793 | test th1-footer-2 {$RESULT eq {}} |
| 793 | 794 | |
| 794 | 795 | ############################################################################### |
| 795 | 796 | |
| 796 | 797 | fossil test-th-eval --open-config --cgi "styleHeader {}; styleFooter" |
| 797 | -test th1-footer-3 {[regexp -- {</body></html>} $RESULT]} | |
| 798 | +test th1-footer-3 {[regexp -- {</body>\n</html>} $RESULT]} | |
| 798 | 799 | |
| 799 | 800 | ############################################################################### |
| 800 | 801 | |
| 801 | 802 | fossil test-th-eval "getParameter" |
| 802 | 803 | test th1-get-parameter-1 {$RESULT eq \ |
| @@ -1035,18 +1036,18 @@ | ||
| 1035 | 1036 | # |
| 1036 | 1037 | fossil test-th-eval "info commands" |
| 1037 | 1038 | set sorted_result [lsort $RESULT] |
| 1038 | 1039 | protOut "Sorted: $sorted_result" |
| 1039 | 1040 | set base_commands {anoncap anycap array artifact break breakpoint catch\ |
| 1040 | - cgiHeaderLine checkout combobox continue date decorate dir enable_output \ | |
| 1041 | - encode64 error expr for getParameter glob_match globalState hascap \ | |
| 1042 | - hasfeature html htmlize http httpize if info insertCsrf lindex linecount \ | |
| 1043 | - list llength lsearch markdown nonce proc puts query randhex redirect\ | |
| 1044 | - regexp reinitialize rename render repository return searchable set\ | |
| 1045 | - setParameter setting stime string styleFooter styleHeader styleScript\ | |
| 1046 | - tclReady trace unset unversioned uplevel upvar utime verifyCsrf\ | |
| 1047 | - verifyLogin wiki} | |
| 1041 | + cgiHeaderLine checkout combobox continue copybtn date decorate dir \ | |
| 1042 | + enable_output encode64 error expr for getParameter glob_match \ | |
| 1043 | + globalState hascap hasfeature html htmlize http httpize if info \ | |
| 1044 | + insertCsrf lindex linecount list llength lsearch markdown nonce proc \ | |
| 1045 | + puts query randhex redirect regexp reinitialize rename render \ | |
| 1046 | + repository return searchable set setParameter setting stime string \ | |
| 1047 | + styleFooter styleHeader styleScript tclReady trace unset unversioned \ | |
| 1048 | + uplevel upvar utime verifyCsrf verifyLogin wiki} | |
| 1048 | 1049 | set tcl_commands {tclEval tclExpr tclInvoke tclIsSafe tclMakeSafe} |
| 1049 | 1050 | if {$th1Tcl} { |
| 1050 | 1051 | test th1-info-commands-1 {$sorted_result eq [lsort "$base_commands $tcl_commands"]} |
| 1051 | 1052 | } else { |
| 1052 | 1053 | test th1-info-commands-1 {$sorted_result eq [lsort "$base_commands"]} |
| 1053 | 1054 |
| --- test/th1.test | |
| +++ test/th1.test | |
| @@ -563,12 +563,13 @@ | |
| 563 | puts "Skipping th1-anycap-*-1 perm tests: uncommitted changes in Fossil checkout." |
| 564 | } else { |
| 565 | set skip_anycap 0 |
| 566 | } |
| 567 | |
| 568 | foreach perm [list \ |
| 569 | a b c d e f g h i j k l m n o p q r s t u v w x y z \ |
| 570 | A D \ |
| 571 | 2 3 4 5 6 7 ] { |
| 572 | if {$perm eq "u"} continue; # NOTE: Skip "reader" meta-permission. |
| 573 | if {$perm eq "v"} continue; # NOTE: Skip "developer" meta-permission. |
| 574 | |
| @@ -792,11 +793,11 @@ | |
| 792 | test th1-footer-2 {$RESULT eq {}} |
| 793 | |
| 794 | ############################################################################### |
| 795 | |
| 796 | fossil test-th-eval --open-config --cgi "styleHeader {}; styleFooter" |
| 797 | test th1-footer-3 {[regexp -- {</body></html>} $RESULT]} |
| 798 | |
| 799 | ############################################################################### |
| 800 | |
| 801 | fossil test-th-eval "getParameter" |
| 802 | test th1-get-parameter-1 {$RESULT eq \ |
| @@ -1035,18 +1036,18 @@ | |
| 1035 | # |
| 1036 | fossil test-th-eval "info commands" |
| 1037 | set sorted_result [lsort $RESULT] |
| 1038 | protOut "Sorted: $sorted_result" |
| 1039 | set base_commands {anoncap anycap array artifact break breakpoint catch\ |
| 1040 | cgiHeaderLine checkout combobox continue date decorate dir enable_output \ |
| 1041 | encode64 error expr for getParameter glob_match globalState hascap \ |
| 1042 | hasfeature html htmlize http httpize if info insertCsrf lindex linecount \ |
| 1043 | list llength lsearch markdown nonce proc puts query randhex redirect\ |
| 1044 | regexp reinitialize rename render repository return searchable set\ |
| 1045 | setParameter setting stime string styleFooter styleHeader styleScript\ |
| 1046 | tclReady trace unset unversioned uplevel upvar utime verifyCsrf\ |
| 1047 | verifyLogin wiki} |
| 1048 | set tcl_commands {tclEval tclExpr tclInvoke tclIsSafe tclMakeSafe} |
| 1049 | if {$th1Tcl} { |
| 1050 | test th1-info-commands-1 {$sorted_result eq [lsort "$base_commands $tcl_commands"]} |
| 1051 | } else { |
| 1052 | test th1-info-commands-1 {$sorted_result eq [lsort "$base_commands"]} |
| 1053 |
| --- test/th1.test | |
| +++ test/th1.test | |
| @@ -563,12 +563,13 @@ | |
| 563 | puts "Skipping th1-anycap-*-1 perm tests: uncommitted changes in Fossil checkout." |
| 564 | } else { |
| 565 | set skip_anycap 0 |
| 566 | } |
| 567 | |
| 568 | # NOTE: The 'd' permission is no longer used. |
| 569 | foreach perm [list \ |
| 570 | a b c e f g h i j k l m n o p q r s t u v w x y z \ |
| 571 | A D \ |
| 572 | 2 3 4 5 6 7 ] { |
| 573 | if {$perm eq "u"} continue; # NOTE: Skip "reader" meta-permission. |
| 574 | if {$perm eq "v"} continue; # NOTE: Skip "developer" meta-permission. |
| 575 | |
| @@ -792,11 +793,11 @@ | |
| 793 | test th1-footer-2 {$RESULT eq {}} |
| 794 | |
| 795 | ############################################################################### |
| 796 | |
| 797 | fossil test-th-eval --open-config --cgi "styleHeader {}; styleFooter" |
| 798 | test th1-footer-3 {[regexp -- {</body>\n</html>} $RESULT]} |
| 799 | |
| 800 | ############################################################################### |
| 801 | |
| 802 | fossil test-th-eval "getParameter" |
| 803 | test th1-get-parameter-1 {$RESULT eq \ |
| @@ -1035,18 +1036,18 @@ | |
| 1036 | # |
| 1037 | fossil test-th-eval "info commands" |
| 1038 | set sorted_result [lsort $RESULT] |
| 1039 | protOut "Sorted: $sorted_result" |
| 1040 | set base_commands {anoncap anycap array artifact break breakpoint catch\ |
| 1041 | cgiHeaderLine checkout combobox continue copybtn date decorate dir \ |
| 1042 | enable_output encode64 error expr for getParameter glob_match \ |
| 1043 | globalState hascap hasfeature html htmlize http httpize if info \ |
| 1044 | insertCsrf lindex linecount list llength lsearch markdown nonce proc \ |
| 1045 | puts query randhex redirect regexp reinitialize rename render \ |
| 1046 | repository return searchable set setParameter setting stime string \ |
| 1047 | styleFooter styleHeader styleScript tclReady trace unset unversioned \ |
| 1048 | uplevel upvar utime verifyCsrf verifyLogin wiki} |
| 1049 | set tcl_commands {tclEval tclExpr tclInvoke tclIsSafe tclMakeSafe} |
| 1050 | if {$th1Tcl} { |
| 1051 | test th1-info-commands-1 {$sorted_result eq [lsort "$base_commands $tcl_commands"]} |
| 1052 | } else { |
| 1053 | test th1-info-commands-1 {$sorted_result eq [lsort "$base_commands"]} |
| 1054 |
+288
-288
| --- test/utf.test | ||
| +++ test/utf.test | ||
| @@ -141,42 +141,42 @@ | ||
| 141 | 141 | 75 [appendArgs \x00 ABCD\x00\n] \ |
| 142 | 142 | 76 [appendArgs \x00 A\x00\r\n] \ |
| 143 | 143 | 77 [appendArgs \x00 AB\x00\r\n] \ |
| 144 | 144 | 78 [appendArgs \x00 ABC\x00\r\n] \ |
| 145 | 145 | 79 [appendArgs \x00 ABCD\x00\r\n] \ |
| 146 | - 80 [string repeat A 8193] \ | |
| 147 | - 81 [string repeat A 8193]\r \ | |
| 148 | - 82 [string repeat A 8193]\n \ | |
| 149 | - 83 [string repeat A 8193]\r\n \ | |
| 150 | - 84 [string repeat ABCD 2049] \ | |
| 151 | - 85 [string repeat ABCD 2049]\r \ | |
| 152 | - 86 [string repeat ABCD 2049]\n \ | |
| 153 | - 87 [string repeat ABCD 2049]\r\n \ | |
| 154 | - 88 \x00[string repeat A 8193] \ | |
| 155 | - 89 \x00[string repeat A 8193]\r \ | |
| 156 | - 90 \x00[string repeat A 8193]\n \ | |
| 157 | - 91 \x00[string repeat A 8193]\r\n \ | |
| 158 | - 92 \x00[string repeat ABCD 2049] \ | |
| 159 | - 93 \x00[string repeat ABCD 2049]\r \ | |
| 160 | - 94 \x00[string repeat ABCD 2049]\n \ | |
| 161 | - 95 \x00[string repeat ABCD 2049]\r\n \ | |
| 162 | - 96 [string repeat A 8193]\x00 \ | |
| 163 | - 97 [string repeat A 8193]\x00\r \ | |
| 164 | - 98 [string repeat A 8193]\x00\n \ | |
| 165 | - 99 [string repeat A 8193]\x00\r\n \ | |
| 166 | - 100 [string repeat ABCD 2049]\x00 \ | |
| 167 | - 101 [string repeat ABCD 2049]\x00\r \ | |
| 168 | - 102 [string repeat ABCD 2049]\x00\n \ | |
| 169 | - 103 [string repeat ABCD 2049]\x00\r\n \ | |
| 170 | - 104 \x00[string repeat A 8193]\x00 \ | |
| 171 | - 105 \x00[string repeat A 8193]\x00\r \ | |
| 172 | - 106 \x00[string repeat A 8193]\x00\n \ | |
| 173 | - 107 \x00[string repeat A 8193]\x00\r\n \ | |
| 174 | - 108 \x00[string repeat ABCD 2049]\x00 \ | |
| 175 | - 109 \x00[string repeat ABCD 2049]\x00\r \ | |
| 176 | - 110 \x00[string repeat ABCD 2049]\x00\n \ | |
| 177 | - 111 \x00[string repeat ABCD 2049]\x00\r\n \ | |
| 146 | + 80 [string repeat A 32769] \ | |
| 147 | + 81 [string repeat A 32769]\r \ | |
| 148 | + 82 [string repeat A 32769]\n \ | |
| 149 | + 83 [string repeat A 32769]\r\n \ | |
| 150 | + 84 [string repeat ABCD 8196] \ | |
| 151 | + 85 [string repeat ABCD 8196]\r \ | |
| 152 | + 86 [string repeat ABCD 8196]\n \ | |
| 153 | + 87 [string repeat ABCD 8196]\r\n \ | |
| 154 | + 88 \x00[string repeat A 32769] \ | |
| 155 | + 89 \x00[string repeat A 32769]\r \ | |
| 156 | + 90 \x00[string repeat A 32769]\n \ | |
| 157 | + 91 \x00[string repeat A 32769]\r\n \ | |
| 158 | + 92 \x00[string repeat ABCD 8196] \ | |
| 159 | + 93 \x00[string repeat ABCD 8196]\r \ | |
| 160 | + 94 \x00[string repeat ABCD 8196]\n \ | |
| 161 | + 95 \x00[string repeat ABCD 8196]\r\n \ | |
| 162 | + 96 [string repeat A 32769]\x00 \ | |
| 163 | + 97 [string repeat A 32769]\x00\r \ | |
| 164 | + 98 [string repeat A 32769]\x00\n \ | |
| 165 | + 99 [string repeat A 32769]\x00\r\n \ | |
| 166 | + 100 [string repeat ABCD 8196]\x00 \ | |
| 167 | + 101 [string repeat ABCD 8196]\x00\r \ | |
| 168 | + 102 [string repeat ABCD 8196]\x00\n \ | |
| 169 | + 103 [string repeat ABCD 8196]\x00\r\n \ | |
| 170 | + 104 \x00[string repeat A 32769]\x00 \ | |
| 171 | + 105 \x00[string repeat A 32769]\x00\r \ | |
| 172 | + 106 \x00[string repeat A 32769]\x00\n \ | |
| 173 | + 107 \x00[string repeat A 32769]\x00\r\n \ | |
| 174 | + 108 \x00[string repeat ABCD 8196]\x00 \ | |
| 175 | + 109 \x00[string repeat ABCD 8196]\x00\r \ | |
| 176 | + 110 \x00[string repeat ABCD 8196]\x00\n \ | |
| 177 | + 111 \x00[string repeat ABCD 8196]\x00\r\n \ | |
| 178 | 178 | 112 \u000A\u000D \ |
| 179 | 179 | 113 \u0A00\u0D00 \ |
| 180 | 180 | 114 \u000D\u000A \ |
| 181 | 181 | 115 \u0D00\u0A00 \ |
| 182 | 182 | 116 \x00\u000A\u000D \ |
| @@ -2906,11 +2906,11 @@ | ||
| 2906 | 2906 | Has flag LOOK_INVALID: no |
| 2907 | 2907 | Has flag LOOK_ODD: no |
| 2908 | 2908 | Has flag LOOK_SHORT: no} |
| 2909 | 2909 | |
| 2910 | 2910 | utf-check 260 utf-check-260-0-80-0.jnk \ |
| 2911 | -{File "%TEMP%/utf-check-260-0-80-0.jnk" has 8193 bytes. | |
| 2911 | +{File "%TEMP%/utf-check-260-0-80-0.jnk" has 32769 bytes. | |
| 2912 | 2912 | Starts with UTF-8 BOM: no |
| 2913 | 2913 | Starts with UTF-16 BOM: no |
| 2914 | 2914 | Looks like UTF-8: no |
| 2915 | 2915 | Has flag LOOK_NUL: no |
| 2916 | 2916 | Has flag LOOK_CR: no |
| @@ -2922,11 +2922,11 @@ | ||
| 2922 | 2922 | Has flag LOOK_INVALID: no |
| 2923 | 2923 | Has flag LOOK_ODD: no |
| 2924 | 2924 | Has flag LOOK_SHORT: no} |
| 2925 | 2925 | |
| 2926 | 2926 | utf-check 261 utf-check-261-0-80-1.jnk \ |
| 2927 | -{File "%TEMP%/utf-check-261-0-80-1.jnk" has 8194 bytes. | |
| 2927 | +{File "%TEMP%/utf-check-261-0-80-1.jnk" has 32770 bytes. | |
| 2928 | 2928 | Starts with UTF-8 BOM: no |
| 2929 | 2929 | Starts with UTF-16 BOM: no |
| 2930 | 2930 | Looks like UTF-8: no |
| 2931 | 2931 | Has flag LOOK_NUL: no |
| 2932 | 2932 | Has flag LOOK_CR: no |
| @@ -2938,11 +2938,11 @@ | ||
| 2938 | 2938 | Has flag LOOK_INVALID: no |
| 2939 | 2939 | Has flag LOOK_ODD: no |
| 2940 | 2940 | Has flag LOOK_SHORT: no} |
| 2941 | 2941 | |
| 2942 | 2942 | utf-check 262 utf-check-262-0-81-0.jnk \ |
| 2943 | -{File "%TEMP%/utf-check-262-0-81-0.jnk" has 8194 bytes. | |
| 2943 | +{File "%TEMP%/utf-check-262-0-81-0.jnk" has 32770 bytes. | |
| 2944 | 2944 | Starts with UTF-8 BOM: no |
| 2945 | 2945 | Starts with UTF-16 BOM: no |
| 2946 | 2946 | Looks like UTF-8: no |
| 2947 | 2947 | Has flag LOOK_NUL: no |
| 2948 | 2948 | Has flag LOOK_CR: yes |
| @@ -2954,11 +2954,11 @@ | ||
| 2954 | 2954 | Has flag LOOK_INVALID: no |
| 2955 | 2955 | Has flag LOOK_ODD: no |
| 2956 | 2956 | Has flag LOOK_SHORT: no} |
| 2957 | 2957 | |
| 2958 | 2958 | utf-check 263 utf-check-263-0-81-1.jnk \ |
| 2959 | -{File "%TEMP%/utf-check-263-0-81-1.jnk" has 8195 bytes. | |
| 2959 | +{File "%TEMP%/utf-check-263-0-81-1.jnk" has 32771 bytes. | |
| 2960 | 2960 | Starts with UTF-8 BOM: no |
| 2961 | 2961 | Starts with UTF-16 BOM: no |
| 2962 | 2962 | Looks like UTF-8: no |
| 2963 | 2963 | Has flag LOOK_NUL: no |
| 2964 | 2964 | Has flag LOOK_CR: yes |
| @@ -2970,11 +2970,11 @@ | ||
| 2970 | 2970 | Has flag LOOK_INVALID: no |
| 2971 | 2971 | Has flag LOOK_ODD: no |
| 2972 | 2972 | Has flag LOOK_SHORT: no} |
| 2973 | 2973 | |
| 2974 | 2974 | utf-check 264 utf-check-264-0-82-0.jnk \ |
| 2975 | -{File "%TEMP%/utf-check-264-0-82-0.jnk" has 8194 bytes. | |
| 2975 | +{File "%TEMP%/utf-check-264-0-82-0.jnk" has 32770 bytes. | |
| 2976 | 2976 | Starts with UTF-8 BOM: no |
| 2977 | 2977 | Starts with UTF-16 BOM: no |
| 2978 | 2978 | Looks like UTF-8: no |
| 2979 | 2979 | Has flag LOOK_NUL: no |
| 2980 | 2980 | Has flag LOOK_CR: no |
| @@ -2986,11 +2986,11 @@ | ||
| 2986 | 2986 | Has flag LOOK_INVALID: no |
| 2987 | 2987 | Has flag LOOK_ODD: no |
| 2988 | 2988 | Has flag LOOK_SHORT: no} |
| 2989 | 2989 | |
| 2990 | 2990 | utf-check 265 utf-check-265-0-82-1.jnk \ |
| 2991 | -{File "%TEMP%/utf-check-265-0-82-1.jnk" has 8195 bytes. | |
| 2991 | +{File "%TEMP%/utf-check-265-0-82-1.jnk" has 32771 bytes. | |
| 2992 | 2992 | Starts with UTF-8 BOM: no |
| 2993 | 2993 | Starts with UTF-16 BOM: no |
| 2994 | 2994 | Looks like UTF-8: no |
| 2995 | 2995 | Has flag LOOK_NUL: no |
| 2996 | 2996 | Has flag LOOK_CR: no |
| @@ -3002,11 +3002,11 @@ | ||
| 3002 | 3002 | Has flag LOOK_INVALID: no |
| 3003 | 3003 | Has flag LOOK_ODD: no |
| 3004 | 3004 | Has flag LOOK_SHORT: no} |
| 3005 | 3005 | |
| 3006 | 3006 | utf-check 266 utf-check-266-0-83-0.jnk \ |
| 3007 | -{File "%TEMP%/utf-check-266-0-83-0.jnk" has 8195 bytes. | |
| 3007 | +{File "%TEMP%/utf-check-266-0-83-0.jnk" has 32771 bytes. | |
| 3008 | 3008 | Starts with UTF-8 BOM: no |
| 3009 | 3009 | Starts with UTF-16 BOM: no |
| 3010 | 3010 | Looks like UTF-8: no |
| 3011 | 3011 | Has flag LOOK_NUL: no |
| 3012 | 3012 | Has flag LOOK_CR: yes |
| @@ -3018,11 +3018,11 @@ | ||
| 3018 | 3018 | Has flag LOOK_INVALID: no |
| 3019 | 3019 | Has flag LOOK_ODD: no |
| 3020 | 3020 | Has flag LOOK_SHORT: no} |
| 3021 | 3021 | |
| 3022 | 3022 | utf-check 267 utf-check-267-0-83-1.jnk \ |
| 3023 | -{File "%TEMP%/utf-check-267-0-83-1.jnk" has 8196 bytes. | |
| 3023 | +{File "%TEMP%/utf-check-267-0-83-1.jnk" has 32772 bytes. | |
| 3024 | 3024 | Starts with UTF-8 BOM: no |
| 3025 | 3025 | Starts with UTF-16 BOM: no |
| 3026 | 3026 | Looks like UTF-8: no |
| 3027 | 3027 | Has flag LOOK_NUL: no |
| 3028 | 3028 | Has flag LOOK_CR: yes |
| @@ -3034,11 +3034,11 @@ | ||
| 3034 | 3034 | Has flag LOOK_INVALID: no |
| 3035 | 3035 | Has flag LOOK_ODD: no |
| 3036 | 3036 | Has flag LOOK_SHORT: no} |
| 3037 | 3037 | |
| 3038 | 3038 | utf-check 268 utf-check-268-0-84-0.jnk \ |
| 3039 | -{File "%TEMP%/utf-check-268-0-84-0.jnk" has 8196 bytes. | |
| 3039 | +{File "%TEMP%/utf-check-268-0-84-0.jnk" has 32784 bytes. | |
| 3040 | 3040 | Starts with UTF-8 BOM: no |
| 3041 | 3041 | Starts with UTF-16 BOM: no |
| 3042 | 3042 | Looks like UTF-8: no |
| 3043 | 3043 | Has flag LOOK_NUL: no |
| 3044 | 3044 | Has flag LOOK_CR: no |
| @@ -3050,11 +3050,11 @@ | ||
| 3050 | 3050 | Has flag LOOK_INVALID: no |
| 3051 | 3051 | Has flag LOOK_ODD: no |
| 3052 | 3052 | Has flag LOOK_SHORT: no} |
| 3053 | 3053 | |
| 3054 | 3054 | utf-check 269 utf-check-269-0-84-1.jnk \ |
| 3055 | -{File "%TEMP%/utf-check-269-0-84-1.jnk" has 8197 bytes. | |
| 3055 | +{File "%TEMP%/utf-check-269-0-84-1.jnk" has 32785 bytes. | |
| 3056 | 3056 | Starts with UTF-8 BOM: no |
| 3057 | 3057 | Starts with UTF-16 BOM: no |
| 3058 | 3058 | Looks like UTF-8: no |
| 3059 | 3059 | Has flag LOOK_NUL: no |
| 3060 | 3060 | Has flag LOOK_CR: no |
| @@ -3066,11 +3066,11 @@ | ||
| 3066 | 3066 | Has flag LOOK_INVALID: no |
| 3067 | 3067 | Has flag LOOK_ODD: no |
| 3068 | 3068 | Has flag LOOK_SHORT: no} |
| 3069 | 3069 | |
| 3070 | 3070 | utf-check 270 utf-check-270-0-85-0.jnk \ |
| 3071 | -{File "%TEMP%/utf-check-270-0-85-0.jnk" has 8197 bytes. | |
| 3071 | +{File "%TEMP%/utf-check-270-0-85-0.jnk" has 32785 bytes. | |
| 3072 | 3072 | Starts with UTF-8 BOM: no |
| 3073 | 3073 | Starts with UTF-16 BOM: no |
| 3074 | 3074 | Looks like UTF-8: no |
| 3075 | 3075 | Has flag LOOK_NUL: no |
| 3076 | 3076 | Has flag LOOK_CR: yes |
| @@ -3082,11 +3082,11 @@ | ||
| 3082 | 3082 | Has flag LOOK_INVALID: no |
| 3083 | 3083 | Has flag LOOK_ODD: no |
| 3084 | 3084 | Has flag LOOK_SHORT: no} |
| 3085 | 3085 | |
| 3086 | 3086 | utf-check 271 utf-check-271-0-85-1.jnk \ |
| 3087 | -{File "%TEMP%/utf-check-271-0-85-1.jnk" has 8198 bytes. | |
| 3087 | +{File "%TEMP%/utf-check-271-0-85-1.jnk" has 32786 bytes. | |
| 3088 | 3088 | Starts with UTF-8 BOM: no |
| 3089 | 3089 | Starts with UTF-16 BOM: no |
| 3090 | 3090 | Looks like UTF-8: no |
| 3091 | 3091 | Has flag LOOK_NUL: no |
| 3092 | 3092 | Has flag LOOK_CR: yes |
| @@ -3098,11 +3098,11 @@ | ||
| 3098 | 3098 | Has flag LOOK_INVALID: no |
| 3099 | 3099 | Has flag LOOK_ODD: no |
| 3100 | 3100 | Has flag LOOK_SHORT: no} |
| 3101 | 3101 | |
| 3102 | 3102 | utf-check 272 utf-check-272-0-86-0.jnk \ |
| 3103 | -{File "%TEMP%/utf-check-272-0-86-0.jnk" has 8197 bytes. | |
| 3103 | +{File "%TEMP%/utf-check-272-0-86-0.jnk" has 32785 bytes. | |
| 3104 | 3104 | Starts with UTF-8 BOM: no |
| 3105 | 3105 | Starts with UTF-16 BOM: no |
| 3106 | 3106 | Looks like UTF-8: no |
| 3107 | 3107 | Has flag LOOK_NUL: no |
| 3108 | 3108 | Has flag LOOK_CR: no |
| @@ -3114,11 +3114,11 @@ | ||
| 3114 | 3114 | Has flag LOOK_INVALID: no |
| 3115 | 3115 | Has flag LOOK_ODD: no |
| 3116 | 3116 | Has flag LOOK_SHORT: no} |
| 3117 | 3117 | |
| 3118 | 3118 | utf-check 273 utf-check-273-0-86-1.jnk \ |
| 3119 | -{File "%TEMP%/utf-check-273-0-86-1.jnk" has 8198 bytes. | |
| 3119 | +{File "%TEMP%/utf-check-273-0-86-1.jnk" has 32786 bytes. | |
| 3120 | 3120 | Starts with UTF-8 BOM: no |
| 3121 | 3121 | Starts with UTF-16 BOM: no |
| 3122 | 3122 | Looks like UTF-8: no |
| 3123 | 3123 | Has flag LOOK_NUL: no |
| 3124 | 3124 | Has flag LOOK_CR: no |
| @@ -3130,11 +3130,11 @@ | ||
| 3130 | 3130 | Has flag LOOK_INVALID: no |
| 3131 | 3131 | Has flag LOOK_ODD: no |
| 3132 | 3132 | Has flag LOOK_SHORT: no} |
| 3133 | 3133 | |
| 3134 | 3134 | utf-check 274 utf-check-274-0-87-0.jnk \ |
| 3135 | -{File "%TEMP%/utf-check-274-0-87-0.jnk" has 8198 bytes. | |
| 3135 | +{File "%TEMP%/utf-check-274-0-87-0.jnk" has 32786 bytes. | |
| 3136 | 3136 | Starts with UTF-8 BOM: no |
| 3137 | 3137 | Starts with UTF-16 BOM: no |
| 3138 | 3138 | Looks like UTF-8: no |
| 3139 | 3139 | Has flag LOOK_NUL: no |
| 3140 | 3140 | Has flag LOOK_CR: yes |
| @@ -3146,11 +3146,11 @@ | ||
| 3146 | 3146 | Has flag LOOK_INVALID: no |
| 3147 | 3147 | Has flag LOOK_ODD: no |
| 3148 | 3148 | Has flag LOOK_SHORT: no} |
| 3149 | 3149 | |
| 3150 | 3150 | utf-check 275 utf-check-275-0-87-1.jnk \ |
| 3151 | -{File "%TEMP%/utf-check-275-0-87-1.jnk" has 8199 bytes. | |
| 3151 | +{File "%TEMP%/utf-check-275-0-87-1.jnk" has 32787 bytes. | |
| 3152 | 3152 | Starts with UTF-8 BOM: no |
| 3153 | 3153 | Starts with UTF-16 BOM: no |
| 3154 | 3154 | Looks like UTF-8: no |
| 3155 | 3155 | Has flag LOOK_NUL: no |
| 3156 | 3156 | Has flag LOOK_CR: yes |
| @@ -3162,11 +3162,11 @@ | ||
| 3162 | 3162 | Has flag LOOK_INVALID: no |
| 3163 | 3163 | Has flag LOOK_ODD: no |
| 3164 | 3164 | Has flag LOOK_SHORT: no} |
| 3165 | 3165 | |
| 3166 | 3166 | utf-check 276 utf-check-276-0-88-0.jnk \ |
| 3167 | -{File "%TEMP%/utf-check-276-0-88-0.jnk" has 8194 bytes. | |
| 3167 | +{File "%TEMP%/utf-check-276-0-88-0.jnk" has 32770 bytes. | |
| 3168 | 3168 | Starts with UTF-8 BOM: no |
| 3169 | 3169 | Starts with UTF-16 BOM: no |
| 3170 | 3170 | Looks like UTF-8: no |
| 3171 | 3171 | Has flag LOOK_NUL: yes |
| 3172 | 3172 | Has flag LOOK_CR: no |
| @@ -3178,11 +3178,11 @@ | ||
| 3178 | 3178 | Has flag LOOK_INVALID: no |
| 3179 | 3179 | Has flag LOOK_ODD: no |
| 3180 | 3180 | Has flag LOOK_SHORT: no} |
| 3181 | 3181 | |
| 3182 | 3182 | utf-check 277 utf-check-277-0-88-1.jnk \ |
| 3183 | -{File "%TEMP%/utf-check-277-0-88-1.jnk" has 8195 bytes. | |
| 3183 | +{File "%TEMP%/utf-check-277-0-88-1.jnk" has 32771 bytes. | |
| 3184 | 3184 | Starts with UTF-8 BOM: no |
| 3185 | 3185 | Starts with UTF-16 BOM: no |
| 3186 | 3186 | Looks like UTF-8: no |
| 3187 | 3187 | Has flag LOOK_NUL: yes |
| 3188 | 3188 | Has flag LOOK_CR: no |
| @@ -3194,11 +3194,11 @@ | ||
| 3194 | 3194 | Has flag LOOK_INVALID: no |
| 3195 | 3195 | Has flag LOOK_ODD: no |
| 3196 | 3196 | Has flag LOOK_SHORT: no} |
| 3197 | 3197 | |
| 3198 | 3198 | utf-check 278 utf-check-278-0-89-0.jnk \ |
| 3199 | -{File "%TEMP%/utf-check-278-0-89-0.jnk" has 8195 bytes. | |
| 3199 | +{File "%TEMP%/utf-check-278-0-89-0.jnk" has 32771 bytes. | |
| 3200 | 3200 | Starts with UTF-8 BOM: no |
| 3201 | 3201 | Starts with UTF-16 BOM: no |
| 3202 | 3202 | Looks like UTF-8: no |
| 3203 | 3203 | Has flag LOOK_NUL: yes |
| 3204 | 3204 | Has flag LOOK_CR: yes |
| @@ -3210,11 +3210,11 @@ | ||
| 3210 | 3210 | Has flag LOOK_INVALID: no |
| 3211 | 3211 | Has flag LOOK_ODD: no |
| 3212 | 3212 | Has flag LOOK_SHORT: no} |
| 3213 | 3213 | |
| 3214 | 3214 | utf-check 279 utf-check-279-0-89-1.jnk \ |
| 3215 | -{File "%TEMP%/utf-check-279-0-89-1.jnk" has 8196 bytes. | |
| 3215 | +{File "%TEMP%/utf-check-279-0-89-1.jnk" has 32772 bytes. | |
| 3216 | 3216 | Starts with UTF-8 BOM: no |
| 3217 | 3217 | Starts with UTF-16 BOM: no |
| 3218 | 3218 | Looks like UTF-8: no |
| 3219 | 3219 | Has flag LOOK_NUL: yes |
| 3220 | 3220 | Has flag LOOK_CR: yes |
| @@ -3226,11 +3226,11 @@ | ||
| 3226 | 3226 | Has flag LOOK_INVALID: no |
| 3227 | 3227 | Has flag LOOK_ODD: no |
| 3228 | 3228 | Has flag LOOK_SHORT: no} |
| 3229 | 3229 | |
| 3230 | 3230 | utf-check 280 utf-check-280-0-90-0.jnk \ |
| 3231 | -{File "%TEMP%/utf-check-280-0-90-0.jnk" has 8195 bytes. | |
| 3231 | +{File "%TEMP%/utf-check-280-0-90-0.jnk" has 32771 bytes. | |
| 3232 | 3232 | Starts with UTF-8 BOM: no |
| 3233 | 3233 | Starts with UTF-16 BOM: no |
| 3234 | 3234 | Looks like UTF-8: no |
| 3235 | 3235 | Has flag LOOK_NUL: yes |
| 3236 | 3236 | Has flag LOOK_CR: no |
| @@ -3242,11 +3242,11 @@ | ||
| 3242 | 3242 | Has flag LOOK_INVALID: no |
| 3243 | 3243 | Has flag LOOK_ODD: no |
| 3244 | 3244 | Has flag LOOK_SHORT: no} |
| 3245 | 3245 | |
| 3246 | 3246 | utf-check 281 utf-check-281-0-90-1.jnk \ |
| 3247 | -{File "%TEMP%/utf-check-281-0-90-1.jnk" has 8196 bytes. | |
| 3247 | +{File "%TEMP%/utf-check-281-0-90-1.jnk" has 32772 bytes. | |
| 3248 | 3248 | Starts with UTF-8 BOM: no |
| 3249 | 3249 | Starts with UTF-16 BOM: no |
| 3250 | 3250 | Looks like UTF-8: no |
| 3251 | 3251 | Has flag LOOK_NUL: yes |
| 3252 | 3252 | Has flag LOOK_CR: no |
| @@ -3258,11 +3258,11 @@ | ||
| 3258 | 3258 | Has flag LOOK_INVALID: no |
| 3259 | 3259 | Has flag LOOK_ODD: no |
| 3260 | 3260 | Has flag LOOK_SHORT: no} |
| 3261 | 3261 | |
| 3262 | 3262 | utf-check 282 utf-check-282-0-91-0.jnk \ |
| 3263 | -{File "%TEMP%/utf-check-282-0-91-0.jnk" has 8196 bytes. | |
| 3263 | +{File "%TEMP%/utf-check-282-0-91-0.jnk" has 32772 bytes. | |
| 3264 | 3264 | Starts with UTF-8 BOM: no |
| 3265 | 3265 | Starts with UTF-16 BOM: no |
| 3266 | 3266 | Looks like UTF-8: no |
| 3267 | 3267 | Has flag LOOK_NUL: yes |
| 3268 | 3268 | Has flag LOOK_CR: yes |
| @@ -3274,11 +3274,11 @@ | ||
| 3274 | 3274 | Has flag LOOK_INVALID: no |
| 3275 | 3275 | Has flag LOOK_ODD: no |
| 3276 | 3276 | Has flag LOOK_SHORT: no} |
| 3277 | 3277 | |
| 3278 | 3278 | utf-check 283 utf-check-283-0-91-1.jnk \ |
| 3279 | -{File "%TEMP%/utf-check-283-0-91-1.jnk" has 8197 bytes. | |
| 3279 | +{File "%TEMP%/utf-check-283-0-91-1.jnk" has 32773 bytes. | |
| 3280 | 3280 | Starts with UTF-8 BOM: no |
| 3281 | 3281 | Starts with UTF-16 BOM: no |
| 3282 | 3282 | Looks like UTF-8: no |
| 3283 | 3283 | Has flag LOOK_NUL: yes |
| 3284 | 3284 | Has flag LOOK_CR: yes |
| @@ -3290,11 +3290,11 @@ | ||
| 3290 | 3290 | Has flag LOOK_INVALID: no |
| 3291 | 3291 | Has flag LOOK_ODD: no |
| 3292 | 3292 | Has flag LOOK_SHORT: no} |
| 3293 | 3293 | |
| 3294 | 3294 | utf-check 284 utf-check-284-0-92-0.jnk \ |
| 3295 | -{File "%TEMP%/utf-check-284-0-92-0.jnk" has 8197 bytes. | |
| 3295 | +{File "%TEMP%/utf-check-284-0-92-0.jnk" has 32785 bytes. | |
| 3296 | 3296 | Starts with UTF-8 BOM: no |
| 3297 | 3297 | Starts with UTF-16 BOM: no |
| 3298 | 3298 | Looks like UTF-8: no |
| 3299 | 3299 | Has flag LOOK_NUL: yes |
| 3300 | 3300 | Has flag LOOK_CR: no |
| @@ -3306,11 +3306,11 @@ | ||
| 3306 | 3306 | Has flag LOOK_INVALID: no |
| 3307 | 3307 | Has flag LOOK_ODD: no |
| 3308 | 3308 | Has flag LOOK_SHORT: no} |
| 3309 | 3309 | |
| 3310 | 3310 | utf-check 285 utf-check-285-0-92-1.jnk \ |
| 3311 | -{File "%TEMP%/utf-check-285-0-92-1.jnk" has 8198 bytes. | |
| 3311 | +{File "%TEMP%/utf-check-285-0-92-1.jnk" has 32786 bytes. | |
| 3312 | 3312 | Starts with UTF-8 BOM: no |
| 3313 | 3313 | Starts with UTF-16 BOM: no |
| 3314 | 3314 | Looks like UTF-8: no |
| 3315 | 3315 | Has flag LOOK_NUL: yes |
| 3316 | 3316 | Has flag LOOK_CR: no |
| @@ -3322,11 +3322,11 @@ | ||
| 3322 | 3322 | Has flag LOOK_INVALID: no |
| 3323 | 3323 | Has flag LOOK_ODD: no |
| 3324 | 3324 | Has flag LOOK_SHORT: no} |
| 3325 | 3325 | |
| 3326 | 3326 | utf-check 286 utf-check-286-0-93-0.jnk \ |
| 3327 | -{File "%TEMP%/utf-check-286-0-93-0.jnk" has 8198 bytes. | |
| 3327 | +{File "%TEMP%/utf-check-286-0-93-0.jnk" has 32786 bytes. | |
| 3328 | 3328 | Starts with UTF-8 BOM: no |
| 3329 | 3329 | Starts with UTF-16 BOM: no |
| 3330 | 3330 | Looks like UTF-8: no |
| 3331 | 3331 | Has flag LOOK_NUL: yes |
| 3332 | 3332 | Has flag LOOK_CR: yes |
| @@ -3338,11 +3338,11 @@ | ||
| 3338 | 3338 | Has flag LOOK_INVALID: no |
| 3339 | 3339 | Has flag LOOK_ODD: no |
| 3340 | 3340 | Has flag LOOK_SHORT: no} |
| 3341 | 3341 | |
| 3342 | 3342 | utf-check 287 utf-check-287-0-93-1.jnk \ |
| 3343 | -{File "%TEMP%/utf-check-287-0-93-1.jnk" has 8199 bytes. | |
| 3343 | +{File "%TEMP%/utf-check-287-0-93-1.jnk" has 32787 bytes. | |
| 3344 | 3344 | Starts with UTF-8 BOM: no |
| 3345 | 3345 | Starts with UTF-16 BOM: no |
| 3346 | 3346 | Looks like UTF-8: no |
| 3347 | 3347 | Has flag LOOK_NUL: yes |
| 3348 | 3348 | Has flag LOOK_CR: yes |
| @@ -3354,11 +3354,11 @@ | ||
| 3354 | 3354 | Has flag LOOK_INVALID: no |
| 3355 | 3355 | Has flag LOOK_ODD: no |
| 3356 | 3356 | Has flag LOOK_SHORT: no} |
| 3357 | 3357 | |
| 3358 | 3358 | utf-check 288 utf-check-288-0-94-0.jnk \ |
| 3359 | -{File "%TEMP%/utf-check-288-0-94-0.jnk" has 8198 bytes. | |
| 3359 | +{File "%TEMP%/utf-check-288-0-94-0.jnk" has 32786 bytes. | |
| 3360 | 3360 | Starts with UTF-8 BOM: no |
| 3361 | 3361 | Starts with UTF-16 BOM: no |
| 3362 | 3362 | Looks like UTF-8: no |
| 3363 | 3363 | Has flag LOOK_NUL: yes |
| 3364 | 3364 | Has flag LOOK_CR: no |
| @@ -3370,11 +3370,11 @@ | ||
| 3370 | 3370 | Has flag LOOK_INVALID: no |
| 3371 | 3371 | Has flag LOOK_ODD: no |
| 3372 | 3372 | Has flag LOOK_SHORT: no} |
| 3373 | 3373 | |
| 3374 | 3374 | utf-check 289 utf-check-289-0-94-1.jnk \ |
| 3375 | -{File "%TEMP%/utf-check-289-0-94-1.jnk" has 8199 bytes. | |
| 3375 | +{File "%TEMP%/utf-check-289-0-94-1.jnk" has 32787 bytes. | |
| 3376 | 3376 | Starts with UTF-8 BOM: no |
| 3377 | 3377 | Starts with UTF-16 BOM: no |
| 3378 | 3378 | Looks like UTF-8: no |
| 3379 | 3379 | Has flag LOOK_NUL: yes |
| 3380 | 3380 | Has flag LOOK_CR: no |
| @@ -3386,11 +3386,11 @@ | ||
| 3386 | 3386 | Has flag LOOK_INVALID: no |
| 3387 | 3387 | Has flag LOOK_ODD: no |
| 3388 | 3388 | Has flag LOOK_SHORT: no} |
| 3389 | 3389 | |
| 3390 | 3390 | utf-check 290 utf-check-290-0-95-0.jnk \ |
| 3391 | -{File "%TEMP%/utf-check-290-0-95-0.jnk" has 8199 bytes. | |
| 3391 | +{File "%TEMP%/utf-check-290-0-95-0.jnk" has 32787 bytes. | |
| 3392 | 3392 | Starts with UTF-8 BOM: no |
| 3393 | 3393 | Starts with UTF-16 BOM: no |
| 3394 | 3394 | Looks like UTF-8: no |
| 3395 | 3395 | Has flag LOOK_NUL: yes |
| 3396 | 3396 | Has flag LOOK_CR: yes |
| @@ -3402,11 +3402,11 @@ | ||
| 3402 | 3402 | Has flag LOOK_INVALID: no |
| 3403 | 3403 | Has flag LOOK_ODD: no |
| 3404 | 3404 | Has flag LOOK_SHORT: no} |
| 3405 | 3405 | |
| 3406 | 3406 | utf-check 291 utf-check-291-0-95-1.jnk \ |
| 3407 | -{File "%TEMP%/utf-check-291-0-95-1.jnk" has 8200 bytes. | |
| 3407 | +{File "%TEMP%/utf-check-291-0-95-1.jnk" has 32788 bytes. | |
| 3408 | 3408 | Starts with UTF-8 BOM: no |
| 3409 | 3409 | Starts with UTF-16 BOM: no |
| 3410 | 3410 | Looks like UTF-8: no |
| 3411 | 3411 | Has flag LOOK_NUL: yes |
| 3412 | 3412 | Has flag LOOK_CR: yes |
| @@ -3418,11 +3418,11 @@ | ||
| 3418 | 3418 | Has flag LOOK_INVALID: no |
| 3419 | 3419 | Has flag LOOK_ODD: no |
| 3420 | 3420 | Has flag LOOK_SHORT: no} |
| 3421 | 3421 | |
| 3422 | 3422 | utf-check 292 utf-check-292-0-96-0.jnk \ |
| 3423 | -{File "%TEMP%/utf-check-292-0-96-0.jnk" has 8194 bytes. | |
| 3423 | +{File "%TEMP%/utf-check-292-0-96-0.jnk" has 32770 bytes. | |
| 3424 | 3424 | Starts with UTF-8 BOM: no |
| 3425 | 3425 | Starts with UTF-16 BOM: no |
| 3426 | 3426 | Looks like UTF-8: no |
| 3427 | 3427 | Has flag LOOK_NUL: yes |
| 3428 | 3428 | Has flag LOOK_CR: no |
| @@ -3434,11 +3434,11 @@ | ||
| 3434 | 3434 | Has flag LOOK_INVALID: no |
| 3435 | 3435 | Has flag LOOK_ODD: no |
| 3436 | 3436 | Has flag LOOK_SHORT: no} |
| 3437 | 3437 | |
| 3438 | 3438 | utf-check 293 utf-check-293-0-96-1.jnk \ |
| 3439 | -{File "%TEMP%/utf-check-293-0-96-1.jnk" has 8195 bytes. | |
| 3439 | +{File "%TEMP%/utf-check-293-0-96-1.jnk" has 32771 bytes. | |
| 3440 | 3440 | Starts with UTF-8 BOM: no |
| 3441 | 3441 | Starts with UTF-16 BOM: no |
| 3442 | 3442 | Looks like UTF-8: no |
| 3443 | 3443 | Has flag LOOK_NUL: yes |
| 3444 | 3444 | Has flag LOOK_CR: no |
| @@ -3450,11 +3450,11 @@ | ||
| 3450 | 3450 | Has flag LOOK_INVALID: no |
| 3451 | 3451 | Has flag LOOK_ODD: no |
| 3452 | 3452 | Has flag LOOK_SHORT: no} |
| 3453 | 3453 | |
| 3454 | 3454 | utf-check 294 utf-check-294-0-97-0.jnk \ |
| 3455 | -{File "%TEMP%/utf-check-294-0-97-0.jnk" has 8195 bytes. | |
| 3455 | +{File "%TEMP%/utf-check-294-0-97-0.jnk" has 32771 bytes. | |
| 3456 | 3456 | Starts with UTF-8 BOM: no |
| 3457 | 3457 | Starts with UTF-16 BOM: no |
| 3458 | 3458 | Looks like UTF-8: no |
| 3459 | 3459 | Has flag LOOK_NUL: yes |
| 3460 | 3460 | Has flag LOOK_CR: yes |
| @@ -3466,11 +3466,11 @@ | ||
| 3466 | 3466 | Has flag LOOK_INVALID: no |
| 3467 | 3467 | Has flag LOOK_ODD: no |
| 3468 | 3468 | Has flag LOOK_SHORT: no} |
| 3469 | 3469 | |
| 3470 | 3470 | utf-check 295 utf-check-295-0-97-1.jnk \ |
| 3471 | -{File "%TEMP%/utf-check-295-0-97-1.jnk" has 8196 bytes. | |
| 3471 | +{File "%TEMP%/utf-check-295-0-97-1.jnk" has 32772 bytes. | |
| 3472 | 3472 | Starts with UTF-8 BOM: no |
| 3473 | 3473 | Starts with UTF-16 BOM: no |
| 3474 | 3474 | Looks like UTF-8: no |
| 3475 | 3475 | Has flag LOOK_NUL: yes |
| 3476 | 3476 | Has flag LOOK_CR: yes |
| @@ -3482,11 +3482,11 @@ | ||
| 3482 | 3482 | Has flag LOOK_INVALID: no |
| 3483 | 3483 | Has flag LOOK_ODD: no |
| 3484 | 3484 | Has flag LOOK_SHORT: no} |
| 3485 | 3485 | |
| 3486 | 3486 | utf-check 296 utf-check-296-0-98-0.jnk \ |
| 3487 | -{File "%TEMP%/utf-check-296-0-98-0.jnk" has 8195 bytes. | |
| 3487 | +{File "%TEMP%/utf-check-296-0-98-0.jnk" has 32771 bytes. | |
| 3488 | 3488 | Starts with UTF-8 BOM: no |
| 3489 | 3489 | Starts with UTF-16 BOM: no |
| 3490 | 3490 | Looks like UTF-8: no |
| 3491 | 3491 | Has flag LOOK_NUL: yes |
| 3492 | 3492 | Has flag LOOK_CR: no |
| @@ -3498,11 +3498,11 @@ | ||
| 3498 | 3498 | Has flag LOOK_INVALID: no |
| 3499 | 3499 | Has flag LOOK_ODD: no |
| 3500 | 3500 | Has flag LOOK_SHORT: no} |
| 3501 | 3501 | |
| 3502 | 3502 | utf-check 297 utf-check-297-0-98-1.jnk \ |
| 3503 | -{File "%TEMP%/utf-check-297-0-98-1.jnk" has 8196 bytes. | |
| 3503 | +{File "%TEMP%/utf-check-297-0-98-1.jnk" has 32772 bytes. | |
| 3504 | 3504 | Starts with UTF-8 BOM: no |
| 3505 | 3505 | Starts with UTF-16 BOM: no |
| 3506 | 3506 | Looks like UTF-8: no |
| 3507 | 3507 | Has flag LOOK_NUL: yes |
| 3508 | 3508 | Has flag LOOK_CR: no |
| @@ -3514,11 +3514,11 @@ | ||
| 3514 | 3514 | Has flag LOOK_INVALID: no |
| 3515 | 3515 | Has flag LOOK_ODD: no |
| 3516 | 3516 | Has flag LOOK_SHORT: no} |
| 3517 | 3517 | |
| 3518 | 3518 | utf-check 298 utf-check-298-0-99-0.jnk \ |
| 3519 | -{File "%TEMP%/utf-check-298-0-99-0.jnk" has 8196 bytes. | |
| 3519 | +{File "%TEMP%/utf-check-298-0-99-0.jnk" has 32772 bytes. | |
| 3520 | 3520 | Starts with UTF-8 BOM: no |
| 3521 | 3521 | Starts with UTF-16 BOM: no |
| 3522 | 3522 | Looks like UTF-8: no |
| 3523 | 3523 | Has flag LOOK_NUL: yes |
| 3524 | 3524 | Has flag LOOK_CR: yes |
| @@ -3530,11 +3530,11 @@ | ||
| 3530 | 3530 | Has flag LOOK_INVALID: no |
| 3531 | 3531 | Has flag LOOK_ODD: no |
| 3532 | 3532 | Has flag LOOK_SHORT: no} |
| 3533 | 3533 | |
| 3534 | 3534 | utf-check 299 utf-check-299-0-99-1.jnk \ |
| 3535 | -{File "%TEMP%/utf-check-299-0-99-1.jnk" has 8197 bytes. | |
| 3535 | +{File "%TEMP%/utf-check-299-0-99-1.jnk" has 32773 bytes. | |
| 3536 | 3536 | Starts with UTF-8 BOM: no |
| 3537 | 3537 | Starts with UTF-16 BOM: no |
| 3538 | 3538 | Looks like UTF-8: no |
| 3539 | 3539 | Has flag LOOK_NUL: yes |
| 3540 | 3540 | Has flag LOOK_CR: yes |
| @@ -3546,11 +3546,11 @@ | ||
| 3546 | 3546 | Has flag LOOK_INVALID: no |
| 3547 | 3547 | Has flag LOOK_ODD: no |
| 3548 | 3548 | Has flag LOOK_SHORT: no} |
| 3549 | 3549 | |
| 3550 | 3550 | utf-check 300 utf-check-300-0-100-0.jnk \ |
| 3551 | -{File "%TEMP%/utf-check-300-0-100-0.jnk" has 8197 bytes. | |
| 3551 | +{File "%TEMP%/utf-check-300-0-100-0.jnk" has 32785 bytes. | |
| 3552 | 3552 | Starts with UTF-8 BOM: no |
| 3553 | 3553 | Starts with UTF-16 BOM: no |
| 3554 | 3554 | Looks like UTF-8: no |
| 3555 | 3555 | Has flag LOOK_NUL: yes |
| 3556 | 3556 | Has flag LOOK_CR: no |
| @@ -3562,11 +3562,11 @@ | ||
| 3562 | 3562 | Has flag LOOK_INVALID: no |
| 3563 | 3563 | Has flag LOOK_ODD: no |
| 3564 | 3564 | Has flag LOOK_SHORT: no} |
| 3565 | 3565 | |
| 3566 | 3566 | utf-check 301 utf-check-301-0-100-1.jnk \ |
| 3567 | -{File "%TEMP%/utf-check-301-0-100-1.jnk" has 8198 bytes. | |
| 3567 | +{File "%TEMP%/utf-check-301-0-100-1.jnk" has 32786 bytes. | |
| 3568 | 3568 | Starts with UTF-8 BOM: no |
| 3569 | 3569 | Starts with UTF-16 BOM: no |
| 3570 | 3570 | Looks like UTF-8: no |
| 3571 | 3571 | Has flag LOOK_NUL: yes |
| 3572 | 3572 | Has flag LOOK_CR: no |
| @@ -3578,11 +3578,11 @@ | ||
| 3578 | 3578 | Has flag LOOK_INVALID: no |
| 3579 | 3579 | Has flag LOOK_ODD: no |
| 3580 | 3580 | Has flag LOOK_SHORT: no} |
| 3581 | 3581 | |
| 3582 | 3582 | utf-check 302 utf-check-302-0-101-0.jnk \ |
| 3583 | -{File "%TEMP%/utf-check-302-0-101-0.jnk" has 8198 bytes. | |
| 3583 | +{File "%TEMP%/utf-check-302-0-101-0.jnk" has 32786 bytes. | |
| 3584 | 3584 | Starts with UTF-8 BOM: no |
| 3585 | 3585 | Starts with UTF-16 BOM: no |
| 3586 | 3586 | Looks like UTF-8: no |
| 3587 | 3587 | Has flag LOOK_NUL: yes |
| 3588 | 3588 | Has flag LOOK_CR: yes |
| @@ -3594,11 +3594,11 @@ | ||
| 3594 | 3594 | Has flag LOOK_INVALID: no |
| 3595 | 3595 | Has flag LOOK_ODD: no |
| 3596 | 3596 | Has flag LOOK_SHORT: no} |
| 3597 | 3597 | |
| 3598 | 3598 | utf-check 303 utf-check-303-0-101-1.jnk \ |
| 3599 | -{File "%TEMP%/utf-check-303-0-101-1.jnk" has 8199 bytes. | |
| 3599 | +{File "%TEMP%/utf-check-303-0-101-1.jnk" has 32787 bytes. | |
| 3600 | 3600 | Starts with UTF-8 BOM: no |
| 3601 | 3601 | Starts with UTF-16 BOM: no |
| 3602 | 3602 | Looks like UTF-8: no |
| 3603 | 3603 | Has flag LOOK_NUL: yes |
| 3604 | 3604 | Has flag LOOK_CR: yes |
| @@ -3610,11 +3610,11 @@ | ||
| 3610 | 3610 | Has flag LOOK_INVALID: no |
| 3611 | 3611 | Has flag LOOK_ODD: no |
| 3612 | 3612 | Has flag LOOK_SHORT: no} |
| 3613 | 3613 | |
| 3614 | 3614 | utf-check 304 utf-check-304-0-102-0.jnk \ |
| 3615 | -{File "%TEMP%/utf-check-304-0-102-0.jnk" has 8198 bytes. | |
| 3615 | +{File "%TEMP%/utf-check-304-0-102-0.jnk" has 32786 bytes. | |
| 3616 | 3616 | Starts with UTF-8 BOM: no |
| 3617 | 3617 | Starts with UTF-16 BOM: no |
| 3618 | 3618 | Looks like UTF-8: no |
| 3619 | 3619 | Has flag LOOK_NUL: yes |
| 3620 | 3620 | Has flag LOOK_CR: no |
| @@ -3626,11 +3626,11 @@ | ||
| 3626 | 3626 | Has flag LOOK_INVALID: no |
| 3627 | 3627 | Has flag LOOK_ODD: no |
| 3628 | 3628 | Has flag LOOK_SHORT: no} |
| 3629 | 3629 | |
| 3630 | 3630 | utf-check 305 utf-check-305-0-102-1.jnk \ |
| 3631 | -{File "%TEMP%/utf-check-305-0-102-1.jnk" has 8199 bytes. | |
| 3631 | +{File "%TEMP%/utf-check-305-0-102-1.jnk" has 32787 bytes. | |
| 3632 | 3632 | Starts with UTF-8 BOM: no |
| 3633 | 3633 | Starts with UTF-16 BOM: no |
| 3634 | 3634 | Looks like UTF-8: no |
| 3635 | 3635 | Has flag LOOK_NUL: yes |
| 3636 | 3636 | Has flag LOOK_CR: no |
| @@ -3642,11 +3642,11 @@ | ||
| 3642 | 3642 | Has flag LOOK_INVALID: no |
| 3643 | 3643 | Has flag LOOK_ODD: no |
| 3644 | 3644 | Has flag LOOK_SHORT: no} |
| 3645 | 3645 | |
| 3646 | 3646 | utf-check 306 utf-check-306-0-103-0.jnk \ |
| 3647 | -{File "%TEMP%/utf-check-306-0-103-0.jnk" has 8199 bytes. | |
| 3647 | +{File "%TEMP%/utf-check-306-0-103-0.jnk" has 32787 bytes. | |
| 3648 | 3648 | Starts with UTF-8 BOM: no |
| 3649 | 3649 | Starts with UTF-16 BOM: no |
| 3650 | 3650 | Looks like UTF-8: no |
| 3651 | 3651 | Has flag LOOK_NUL: yes |
| 3652 | 3652 | Has flag LOOK_CR: yes |
| @@ -3658,11 +3658,11 @@ | ||
| 3658 | 3658 | Has flag LOOK_INVALID: no |
| 3659 | 3659 | Has flag LOOK_ODD: no |
| 3660 | 3660 | Has flag LOOK_SHORT: no} |
| 3661 | 3661 | |
| 3662 | 3662 | utf-check 307 utf-check-307-0-103-1.jnk \ |
| 3663 | -{File "%TEMP%/utf-check-307-0-103-1.jnk" has 8200 bytes. | |
| 3663 | +{File "%TEMP%/utf-check-307-0-103-1.jnk" has 32788 bytes. | |
| 3664 | 3664 | Starts with UTF-8 BOM: no |
| 3665 | 3665 | Starts with UTF-16 BOM: no |
| 3666 | 3666 | Looks like UTF-8: no |
| 3667 | 3667 | Has flag LOOK_NUL: yes |
| 3668 | 3668 | Has flag LOOK_CR: yes |
| @@ -3674,11 +3674,11 @@ | ||
| 3674 | 3674 | Has flag LOOK_INVALID: no |
| 3675 | 3675 | Has flag LOOK_ODD: no |
| 3676 | 3676 | Has flag LOOK_SHORT: no} |
| 3677 | 3677 | |
| 3678 | 3678 | utf-check 308 utf-check-308-0-104-0.jnk \ |
| 3679 | -{File "%TEMP%/utf-check-308-0-104-0.jnk" has 8195 bytes. | |
| 3679 | +{File "%TEMP%/utf-check-308-0-104-0.jnk" has 32771 bytes. | |
| 3680 | 3680 | Starts with UTF-8 BOM: no |
| 3681 | 3681 | Starts with UTF-16 BOM: no |
| 3682 | 3682 | Looks like UTF-8: no |
| 3683 | 3683 | Has flag LOOK_NUL: yes |
| 3684 | 3684 | Has flag LOOK_CR: no |
| @@ -3690,11 +3690,11 @@ | ||
| 3690 | 3690 | Has flag LOOK_INVALID: no |
| 3691 | 3691 | Has flag LOOK_ODD: no |
| 3692 | 3692 | Has flag LOOK_SHORT: no} |
| 3693 | 3693 | |
| 3694 | 3694 | utf-check 309 utf-check-309-0-104-1.jnk \ |
| 3695 | -{File "%TEMP%/utf-check-309-0-104-1.jnk" has 8196 bytes. | |
| 3695 | +{File "%TEMP%/utf-check-309-0-104-1.jnk" has 32772 bytes. | |
| 3696 | 3696 | Starts with UTF-8 BOM: no |
| 3697 | 3697 | Starts with UTF-16 BOM: no |
| 3698 | 3698 | Looks like UTF-8: no |
| 3699 | 3699 | Has flag LOOK_NUL: yes |
| 3700 | 3700 | Has flag LOOK_CR: no |
| @@ -3706,11 +3706,11 @@ | ||
| 3706 | 3706 | Has flag LOOK_INVALID: no |
| 3707 | 3707 | Has flag LOOK_ODD: no |
| 3708 | 3708 | Has flag LOOK_SHORT: no} |
| 3709 | 3709 | |
| 3710 | 3710 | utf-check 310 utf-check-310-0-105-0.jnk \ |
| 3711 | -{File "%TEMP%/utf-check-310-0-105-0.jnk" has 8196 bytes. | |
| 3711 | +{File "%TEMP%/utf-check-310-0-105-0.jnk" has 32772 bytes. | |
| 3712 | 3712 | Starts with UTF-8 BOM: no |
| 3713 | 3713 | Starts with UTF-16 BOM: no |
| 3714 | 3714 | Looks like UTF-8: no |
| 3715 | 3715 | Has flag LOOK_NUL: yes |
| 3716 | 3716 | Has flag LOOK_CR: yes |
| @@ -3722,11 +3722,11 @@ | ||
| 3722 | 3722 | Has flag LOOK_INVALID: no |
| 3723 | 3723 | Has flag LOOK_ODD: no |
| 3724 | 3724 | Has flag LOOK_SHORT: no} |
| 3725 | 3725 | |
| 3726 | 3726 | utf-check 311 utf-check-311-0-105-1.jnk \ |
| 3727 | -{File "%TEMP%/utf-check-311-0-105-1.jnk" has 8197 bytes. | |
| 3727 | +{File "%TEMP%/utf-check-311-0-105-1.jnk" has 32773 bytes. | |
| 3728 | 3728 | Starts with UTF-8 BOM: no |
| 3729 | 3729 | Starts with UTF-16 BOM: no |
| 3730 | 3730 | Looks like UTF-8: no |
| 3731 | 3731 | Has flag LOOK_NUL: yes |
| 3732 | 3732 | Has flag LOOK_CR: yes |
| @@ -3738,11 +3738,11 @@ | ||
| 3738 | 3738 | Has flag LOOK_INVALID: no |
| 3739 | 3739 | Has flag LOOK_ODD: no |
| 3740 | 3740 | Has flag LOOK_SHORT: no} |
| 3741 | 3741 | |
| 3742 | 3742 | utf-check 312 utf-check-312-0-106-0.jnk \ |
| 3743 | -{File "%TEMP%/utf-check-312-0-106-0.jnk" has 8196 bytes. | |
| 3743 | +{File "%TEMP%/utf-check-312-0-106-0.jnk" has 32772 bytes. | |
| 3744 | 3744 | Starts with UTF-8 BOM: no |
| 3745 | 3745 | Starts with UTF-16 BOM: no |
| 3746 | 3746 | Looks like UTF-8: no |
| 3747 | 3747 | Has flag LOOK_NUL: yes |
| 3748 | 3748 | Has flag LOOK_CR: no |
| @@ -3754,11 +3754,11 @@ | ||
| 3754 | 3754 | Has flag LOOK_INVALID: no |
| 3755 | 3755 | Has flag LOOK_ODD: no |
| 3756 | 3756 | Has flag LOOK_SHORT: no} |
| 3757 | 3757 | |
| 3758 | 3758 | utf-check 313 utf-check-313-0-106-1.jnk \ |
| 3759 | -{File "%TEMP%/utf-check-313-0-106-1.jnk" has 8197 bytes. | |
| 3759 | +{File "%TEMP%/utf-check-313-0-106-1.jnk" has 32773 bytes. | |
| 3760 | 3760 | Starts with UTF-8 BOM: no |
| 3761 | 3761 | Starts with UTF-16 BOM: no |
| 3762 | 3762 | Looks like UTF-8: no |
| 3763 | 3763 | Has flag LOOK_NUL: yes |
| 3764 | 3764 | Has flag LOOK_CR: no |
| @@ -3770,11 +3770,11 @@ | ||
| 3770 | 3770 | Has flag LOOK_INVALID: no |
| 3771 | 3771 | Has flag LOOK_ODD: no |
| 3772 | 3772 | Has flag LOOK_SHORT: no} |
| 3773 | 3773 | |
| 3774 | 3774 | utf-check 314 utf-check-314-0-107-0.jnk \ |
| 3775 | -{File "%TEMP%/utf-check-314-0-107-0.jnk" has 8197 bytes. | |
| 3775 | +{File "%TEMP%/utf-check-314-0-107-0.jnk" has 32773 bytes. | |
| 3776 | 3776 | Starts with UTF-8 BOM: no |
| 3777 | 3777 | Starts with UTF-16 BOM: no |
| 3778 | 3778 | Looks like UTF-8: no |
| 3779 | 3779 | Has flag LOOK_NUL: yes |
| 3780 | 3780 | Has flag LOOK_CR: yes |
| @@ -3786,11 +3786,11 @@ | ||
| 3786 | 3786 | Has flag LOOK_INVALID: no |
| 3787 | 3787 | Has flag LOOK_ODD: no |
| 3788 | 3788 | Has flag LOOK_SHORT: no} |
| 3789 | 3789 | |
| 3790 | 3790 | utf-check 315 utf-check-315-0-107-1.jnk \ |
| 3791 | -{File "%TEMP%/utf-check-315-0-107-1.jnk" has 8198 bytes. | |
| 3791 | +{File "%TEMP%/utf-check-315-0-107-1.jnk" has 32774 bytes. | |
| 3792 | 3792 | Starts with UTF-8 BOM: no |
| 3793 | 3793 | Starts with UTF-16 BOM: no |
| 3794 | 3794 | Looks like UTF-8: no |
| 3795 | 3795 | Has flag LOOK_NUL: yes |
| 3796 | 3796 | Has flag LOOK_CR: yes |
| @@ -3802,11 +3802,11 @@ | ||
| 3802 | 3802 | Has flag LOOK_INVALID: no |
| 3803 | 3803 | Has flag LOOK_ODD: no |
| 3804 | 3804 | Has flag LOOK_SHORT: no} |
| 3805 | 3805 | |
| 3806 | 3806 | utf-check 316 utf-check-316-0-108-0.jnk \ |
| 3807 | -{File "%TEMP%/utf-check-316-0-108-0.jnk" has 8198 bytes. | |
| 3807 | +{File "%TEMP%/utf-check-316-0-108-0.jnk" has 32786 bytes. | |
| 3808 | 3808 | Starts with UTF-8 BOM: no |
| 3809 | 3809 | Starts with UTF-16 BOM: no |
| 3810 | 3810 | Looks like UTF-8: no |
| 3811 | 3811 | Has flag LOOK_NUL: yes |
| 3812 | 3812 | Has flag LOOK_CR: no |
| @@ -3818,11 +3818,11 @@ | ||
| 3818 | 3818 | Has flag LOOK_INVALID: no |
| 3819 | 3819 | Has flag LOOK_ODD: no |
| 3820 | 3820 | Has flag LOOK_SHORT: no} |
| 3821 | 3821 | |
| 3822 | 3822 | utf-check 317 utf-check-317-0-108-1.jnk \ |
| 3823 | -{File "%TEMP%/utf-check-317-0-108-1.jnk" has 8199 bytes. | |
| 3823 | +{File "%TEMP%/utf-check-317-0-108-1.jnk" has 32787 bytes. | |
| 3824 | 3824 | Starts with UTF-8 BOM: no |
| 3825 | 3825 | Starts with UTF-16 BOM: no |
| 3826 | 3826 | Looks like UTF-8: no |
| 3827 | 3827 | Has flag LOOK_NUL: yes |
| 3828 | 3828 | Has flag LOOK_CR: no |
| @@ -3834,11 +3834,11 @@ | ||
| 3834 | 3834 | Has flag LOOK_INVALID: no |
| 3835 | 3835 | Has flag LOOK_ODD: no |
| 3836 | 3836 | Has flag LOOK_SHORT: no} |
| 3837 | 3837 | |
| 3838 | 3838 | utf-check 318 utf-check-318-0-109-0.jnk \ |
| 3839 | -{File "%TEMP%/utf-check-318-0-109-0.jnk" has 8199 bytes. | |
| 3839 | +{File "%TEMP%/utf-check-318-0-109-0.jnk" has 32787 bytes. | |
| 3840 | 3840 | Starts with UTF-8 BOM: no |
| 3841 | 3841 | Starts with UTF-16 BOM: no |
| 3842 | 3842 | Looks like UTF-8: no |
| 3843 | 3843 | Has flag LOOK_NUL: yes |
| 3844 | 3844 | Has flag LOOK_CR: yes |
| @@ -3850,11 +3850,11 @@ | ||
| 3850 | 3850 | Has flag LOOK_INVALID: no |
| 3851 | 3851 | Has flag LOOK_ODD: no |
| 3852 | 3852 | Has flag LOOK_SHORT: no} |
| 3853 | 3853 | |
| 3854 | 3854 | utf-check 319 utf-check-319-0-109-1.jnk \ |
| 3855 | -{File "%TEMP%/utf-check-319-0-109-1.jnk" has 8200 bytes. | |
| 3855 | +{File "%TEMP%/utf-check-319-0-109-1.jnk" has 32788 bytes. | |
| 3856 | 3856 | Starts with UTF-8 BOM: no |
| 3857 | 3857 | Starts with UTF-16 BOM: no |
| 3858 | 3858 | Looks like UTF-8: no |
| 3859 | 3859 | Has flag LOOK_NUL: yes |
| 3860 | 3860 | Has flag LOOK_CR: yes |
| @@ -3866,11 +3866,11 @@ | ||
| 3866 | 3866 | Has flag LOOK_INVALID: no |
| 3867 | 3867 | Has flag LOOK_ODD: no |
| 3868 | 3868 | Has flag LOOK_SHORT: no} |
| 3869 | 3869 | |
| 3870 | 3870 | utf-check 320 utf-check-320-0-110-0.jnk \ |
| 3871 | -{File "%TEMP%/utf-check-320-0-110-0.jnk" has 8199 bytes. | |
| 3871 | +{File "%TEMP%/utf-check-320-0-110-0.jnk" has 32787 bytes. | |
| 3872 | 3872 | Starts with UTF-8 BOM: no |
| 3873 | 3873 | Starts with UTF-16 BOM: no |
| 3874 | 3874 | Looks like UTF-8: no |
| 3875 | 3875 | Has flag LOOK_NUL: yes |
| 3876 | 3876 | Has flag LOOK_CR: no |
| @@ -3882,11 +3882,11 @@ | ||
| 3882 | 3882 | Has flag LOOK_INVALID: no |
| 3883 | 3883 | Has flag LOOK_ODD: no |
| 3884 | 3884 | Has flag LOOK_SHORT: no} |
| 3885 | 3885 | |
| 3886 | 3886 | utf-check 321 utf-check-321-0-110-1.jnk \ |
| 3887 | -{File "%TEMP%/utf-check-321-0-110-1.jnk" has 8200 bytes. | |
| 3887 | +{File "%TEMP%/utf-check-321-0-110-1.jnk" has 32788 bytes. | |
| 3888 | 3888 | Starts with UTF-8 BOM: no |
| 3889 | 3889 | Starts with UTF-16 BOM: no |
| 3890 | 3890 | Looks like UTF-8: no |
| 3891 | 3891 | Has flag LOOK_NUL: yes |
| 3892 | 3892 | Has flag LOOK_CR: no |
| @@ -3898,11 +3898,11 @@ | ||
| 3898 | 3898 | Has flag LOOK_INVALID: no |
| 3899 | 3899 | Has flag LOOK_ODD: no |
| 3900 | 3900 | Has flag LOOK_SHORT: no} |
| 3901 | 3901 | |
| 3902 | 3902 | utf-check 322 utf-check-322-0-111-0.jnk \ |
| 3903 | -{File "%TEMP%/utf-check-322-0-111-0.jnk" has 8200 bytes. | |
| 3903 | +{File "%TEMP%/utf-check-322-0-111-0.jnk" has 32788 bytes. | |
| 3904 | 3904 | Starts with UTF-8 BOM: no |
| 3905 | 3905 | Starts with UTF-16 BOM: no |
| 3906 | 3906 | Looks like UTF-8: no |
| 3907 | 3907 | Has flag LOOK_NUL: yes |
| 3908 | 3908 | Has flag LOOK_CR: yes |
| @@ -3914,11 +3914,11 @@ | ||
| 3914 | 3914 | Has flag LOOK_INVALID: no |
| 3915 | 3915 | Has flag LOOK_ODD: no |
| 3916 | 3916 | Has flag LOOK_SHORT: no} |
| 3917 | 3917 | |
| 3918 | 3918 | utf-check 323 utf-check-323-0-111-1.jnk \ |
| 3919 | -{File "%TEMP%/utf-check-323-0-111-1.jnk" has 8201 bytes. | |
| 3919 | +{File "%TEMP%/utf-check-323-0-111-1.jnk" has 32789 bytes. | |
| 3920 | 3920 | Starts with UTF-8 BOM: no |
| 3921 | 3921 | Starts with UTF-16 BOM: no |
| 3922 | 3922 | Looks like UTF-8: no |
| 3923 | 3923 | Has flag LOOK_NUL: yes |
| 3924 | 3924 | Has flag LOOK_CR: yes |
| @@ -9466,11 +9466,11 @@ | ||
| 9466 | 9466 | Has flag LOOK_INVALID: no |
| 9467 | 9467 | Has flag LOOK_ODD: no |
| 9468 | 9468 | Has flag LOOK_SHORT: no} |
| 9469 | 9469 | |
| 9470 | 9470 | utf-check 670 utf-check-670-1-80-0.jnk \ |
| 9471 | -{File "%TEMP%/utf-check-670-1-80-0.jnk" has 8196 bytes. | |
| 9471 | +{File "%TEMP%/utf-check-670-1-80-0.jnk" has 32772 bytes. | |
| 9472 | 9472 | Starts with UTF-8 BOM: yes |
| 9473 | 9473 | Starts with UTF-16 BOM: no |
| 9474 | 9474 | Looks like UTF-8: no |
| 9475 | 9475 | Has flag LOOK_NUL: no |
| 9476 | 9476 | Has flag LOOK_CR: no |
| @@ -9482,11 +9482,11 @@ | ||
| 9482 | 9482 | Has flag LOOK_INVALID: no |
| 9483 | 9483 | Has flag LOOK_ODD: no |
| 9484 | 9484 | Has flag LOOK_SHORT: no} |
| 9485 | 9485 | |
| 9486 | 9486 | utf-check 671 utf-check-671-1-80-1.jnk \ |
| 9487 | -{File "%TEMP%/utf-check-671-1-80-1.jnk" has 8197 bytes. | |
| 9487 | +{File "%TEMP%/utf-check-671-1-80-1.jnk" has 32773 bytes. | |
| 9488 | 9488 | Starts with UTF-8 BOM: yes |
| 9489 | 9489 | Starts with UTF-16 BOM: no |
| 9490 | 9490 | Looks like UTF-8: no |
| 9491 | 9491 | Has flag LOOK_NUL: no |
| 9492 | 9492 | Has flag LOOK_CR: no |
| @@ -9498,11 +9498,11 @@ | ||
| 9498 | 9498 | Has flag LOOK_INVALID: no |
| 9499 | 9499 | Has flag LOOK_ODD: no |
| 9500 | 9500 | Has flag LOOK_SHORT: no} |
| 9501 | 9501 | |
| 9502 | 9502 | utf-check 672 utf-check-672-1-81-0.jnk \ |
| 9503 | -{File "%TEMP%/utf-check-672-1-81-0.jnk" has 8197 bytes. | |
| 9503 | +{File "%TEMP%/utf-check-672-1-81-0.jnk" has 32773 bytes. | |
| 9504 | 9504 | Starts with UTF-8 BOM: yes |
| 9505 | 9505 | Starts with UTF-16 BOM: no |
| 9506 | 9506 | Looks like UTF-8: no |
| 9507 | 9507 | Has flag LOOK_NUL: no |
| 9508 | 9508 | Has flag LOOK_CR: yes |
| @@ -9514,11 +9514,11 @@ | ||
| 9514 | 9514 | Has flag LOOK_INVALID: no |
| 9515 | 9515 | Has flag LOOK_ODD: no |
| 9516 | 9516 | Has flag LOOK_SHORT: no} |
| 9517 | 9517 | |
| 9518 | 9518 | utf-check 673 utf-check-673-1-81-1.jnk \ |
| 9519 | -{File "%TEMP%/utf-check-673-1-81-1.jnk" has 8198 bytes. | |
| 9519 | +{File "%TEMP%/utf-check-673-1-81-1.jnk" has 32774 bytes. | |
| 9520 | 9520 | Starts with UTF-8 BOM: yes |
| 9521 | 9521 | Starts with UTF-16 BOM: no |
| 9522 | 9522 | Looks like UTF-8: no |
| 9523 | 9523 | Has flag LOOK_NUL: no |
| 9524 | 9524 | Has flag LOOK_CR: yes |
| @@ -9530,11 +9530,11 @@ | ||
| 9530 | 9530 | Has flag LOOK_INVALID: no |
| 9531 | 9531 | Has flag LOOK_ODD: no |
| 9532 | 9532 | Has flag LOOK_SHORT: no} |
| 9533 | 9533 | |
| 9534 | 9534 | utf-check 674 utf-check-674-1-82-0.jnk \ |
| 9535 | -{File "%TEMP%/utf-check-674-1-82-0.jnk" has 8197 bytes. | |
| 9535 | +{File "%TEMP%/utf-check-674-1-82-0.jnk" has 32773 bytes. | |
| 9536 | 9536 | Starts with UTF-8 BOM: yes |
| 9537 | 9537 | Starts with UTF-16 BOM: no |
| 9538 | 9538 | Looks like UTF-8: no |
| 9539 | 9539 | Has flag LOOK_NUL: no |
| 9540 | 9540 | Has flag LOOK_CR: no |
| @@ -9546,11 +9546,11 @@ | ||
| 9546 | 9546 | Has flag LOOK_INVALID: no |
| 9547 | 9547 | Has flag LOOK_ODD: no |
| 9548 | 9548 | Has flag LOOK_SHORT: no} |
| 9549 | 9549 | |
| 9550 | 9550 | utf-check 675 utf-check-675-1-82-1.jnk \ |
| 9551 | -{File "%TEMP%/utf-check-675-1-82-1.jnk" has 8198 bytes. | |
| 9551 | +{File "%TEMP%/utf-check-675-1-82-1.jnk" has 32774 bytes. | |
| 9552 | 9552 | Starts with UTF-8 BOM: yes |
| 9553 | 9553 | Starts with UTF-16 BOM: no |
| 9554 | 9554 | Looks like UTF-8: no |
| 9555 | 9555 | Has flag LOOK_NUL: no |
| 9556 | 9556 | Has flag LOOK_CR: no |
| @@ -9562,11 +9562,11 @@ | ||
| 9562 | 9562 | Has flag LOOK_INVALID: no |
| 9563 | 9563 | Has flag LOOK_ODD: no |
| 9564 | 9564 | Has flag LOOK_SHORT: no} |
| 9565 | 9565 | |
| 9566 | 9566 | utf-check 676 utf-check-676-1-83-0.jnk \ |
| 9567 | -{File "%TEMP%/utf-check-676-1-83-0.jnk" has 8198 bytes. | |
| 9567 | +{File "%TEMP%/utf-check-676-1-83-0.jnk" has 32774 bytes. | |
| 9568 | 9568 | Starts with UTF-8 BOM: yes |
| 9569 | 9569 | Starts with UTF-16 BOM: no |
| 9570 | 9570 | Looks like UTF-8: no |
| 9571 | 9571 | Has flag LOOK_NUL: no |
| 9572 | 9572 | Has flag LOOK_CR: yes |
| @@ -9578,11 +9578,11 @@ | ||
| 9578 | 9578 | Has flag LOOK_INVALID: no |
| 9579 | 9579 | Has flag LOOK_ODD: no |
| 9580 | 9580 | Has flag LOOK_SHORT: no} |
| 9581 | 9581 | |
| 9582 | 9582 | utf-check 677 utf-check-677-1-83-1.jnk \ |
| 9583 | -{File "%TEMP%/utf-check-677-1-83-1.jnk" has 8199 bytes. | |
| 9583 | +{File "%TEMP%/utf-check-677-1-83-1.jnk" has 32775 bytes. | |
| 9584 | 9584 | Starts with UTF-8 BOM: yes |
| 9585 | 9585 | Starts with UTF-16 BOM: no |
| 9586 | 9586 | Looks like UTF-8: no |
| 9587 | 9587 | Has flag LOOK_NUL: no |
| 9588 | 9588 | Has flag LOOK_CR: yes |
| @@ -9594,11 +9594,11 @@ | ||
| 9594 | 9594 | Has flag LOOK_INVALID: no |
| 9595 | 9595 | Has flag LOOK_ODD: no |
| 9596 | 9596 | Has flag LOOK_SHORT: no} |
| 9597 | 9597 | |
| 9598 | 9598 | utf-check 678 utf-check-678-1-84-0.jnk \ |
| 9599 | -{File "%TEMP%/utf-check-678-1-84-0.jnk" has 8199 bytes. | |
| 9599 | +{File "%TEMP%/utf-check-678-1-84-0.jnk" has 32787 bytes. | |
| 9600 | 9600 | Starts with UTF-8 BOM: yes |
| 9601 | 9601 | Starts with UTF-16 BOM: no |
| 9602 | 9602 | Looks like UTF-8: no |
| 9603 | 9603 | Has flag LOOK_NUL: no |
| 9604 | 9604 | Has flag LOOK_CR: no |
| @@ -9610,11 +9610,11 @@ | ||
| 9610 | 9610 | Has flag LOOK_INVALID: no |
| 9611 | 9611 | Has flag LOOK_ODD: no |
| 9612 | 9612 | Has flag LOOK_SHORT: no} |
| 9613 | 9613 | |
| 9614 | 9614 | utf-check 679 utf-check-679-1-84-1.jnk \ |
| 9615 | -{File "%TEMP%/utf-check-679-1-84-1.jnk" has 8200 bytes. | |
| 9615 | +{File "%TEMP%/utf-check-679-1-84-1.jnk" has 32788 bytes. | |
| 9616 | 9616 | Starts with UTF-8 BOM: yes |
| 9617 | 9617 | Starts with UTF-16 BOM: no |
| 9618 | 9618 | Looks like UTF-8: no |
| 9619 | 9619 | Has flag LOOK_NUL: no |
| 9620 | 9620 | Has flag LOOK_CR: no |
| @@ -9626,11 +9626,11 @@ | ||
| 9626 | 9626 | Has flag LOOK_INVALID: no |
| 9627 | 9627 | Has flag LOOK_ODD: no |
| 9628 | 9628 | Has flag LOOK_SHORT: no} |
| 9629 | 9629 | |
| 9630 | 9630 | utf-check 680 utf-check-680-1-85-0.jnk \ |
| 9631 | -{File "%TEMP%/utf-check-680-1-85-0.jnk" has 8200 bytes. | |
| 9631 | +{File "%TEMP%/utf-check-680-1-85-0.jnk" has 32788 bytes. | |
| 9632 | 9632 | Starts with UTF-8 BOM: yes |
| 9633 | 9633 | Starts with UTF-16 BOM: no |
| 9634 | 9634 | Looks like UTF-8: no |
| 9635 | 9635 | Has flag LOOK_NUL: no |
| 9636 | 9636 | Has flag LOOK_CR: yes |
| @@ -9642,11 +9642,11 @@ | ||
| 9642 | 9642 | Has flag LOOK_INVALID: no |
| 9643 | 9643 | Has flag LOOK_ODD: no |
| 9644 | 9644 | Has flag LOOK_SHORT: no} |
| 9645 | 9645 | |
| 9646 | 9646 | utf-check 681 utf-check-681-1-85-1.jnk \ |
| 9647 | -{File "%TEMP%/utf-check-681-1-85-1.jnk" has 8201 bytes. | |
| 9647 | +{File "%TEMP%/utf-check-681-1-85-1.jnk" has 32789 bytes. | |
| 9648 | 9648 | Starts with UTF-8 BOM: yes |
| 9649 | 9649 | Starts with UTF-16 BOM: no |
| 9650 | 9650 | Looks like UTF-8: no |
| 9651 | 9651 | Has flag LOOK_NUL: no |
| 9652 | 9652 | Has flag LOOK_CR: yes |
| @@ -9658,11 +9658,11 @@ | ||
| 9658 | 9658 | Has flag LOOK_INVALID: no |
| 9659 | 9659 | Has flag LOOK_ODD: no |
| 9660 | 9660 | Has flag LOOK_SHORT: no} |
| 9661 | 9661 | |
| 9662 | 9662 | utf-check 682 utf-check-682-1-86-0.jnk \ |
| 9663 | -{File "%TEMP%/utf-check-682-1-86-0.jnk" has 8200 bytes. | |
| 9663 | +{File "%TEMP%/utf-check-682-1-86-0.jnk" has 32788 bytes. | |
| 9664 | 9664 | Starts with UTF-8 BOM: yes |
| 9665 | 9665 | Starts with UTF-16 BOM: no |
| 9666 | 9666 | Looks like UTF-8: no |
| 9667 | 9667 | Has flag LOOK_NUL: no |
| 9668 | 9668 | Has flag LOOK_CR: no |
| @@ -9674,11 +9674,11 @@ | ||
| 9674 | 9674 | Has flag LOOK_INVALID: no |
| 9675 | 9675 | Has flag LOOK_ODD: no |
| 9676 | 9676 | Has flag LOOK_SHORT: no} |
| 9677 | 9677 | |
| 9678 | 9678 | utf-check 683 utf-check-683-1-86-1.jnk \ |
| 9679 | -{File "%TEMP%/utf-check-683-1-86-1.jnk" has 8201 bytes. | |
| 9679 | +{File "%TEMP%/utf-check-683-1-86-1.jnk" has 32789 bytes. | |
| 9680 | 9680 | Starts with UTF-8 BOM: yes |
| 9681 | 9681 | Starts with UTF-16 BOM: no |
| 9682 | 9682 | Looks like UTF-8: no |
| 9683 | 9683 | Has flag LOOK_NUL: no |
| 9684 | 9684 | Has flag LOOK_CR: no |
| @@ -9690,11 +9690,11 @@ | ||
| 9690 | 9690 | Has flag LOOK_INVALID: no |
| 9691 | 9691 | Has flag LOOK_ODD: no |
| 9692 | 9692 | Has flag LOOK_SHORT: no} |
| 9693 | 9693 | |
| 9694 | 9694 | utf-check 684 utf-check-684-1-87-0.jnk \ |
| 9695 | -{File "%TEMP%/utf-check-684-1-87-0.jnk" has 8201 bytes. | |
| 9695 | +{File "%TEMP%/utf-check-684-1-87-0.jnk" has 32789 bytes. | |
| 9696 | 9696 | Starts with UTF-8 BOM: yes |
| 9697 | 9697 | Starts with UTF-16 BOM: no |
| 9698 | 9698 | Looks like UTF-8: no |
| 9699 | 9699 | Has flag LOOK_NUL: no |
| 9700 | 9700 | Has flag LOOK_CR: yes |
| @@ -9706,11 +9706,11 @@ | ||
| 9706 | 9706 | Has flag LOOK_INVALID: no |
| 9707 | 9707 | Has flag LOOK_ODD: no |
| 9708 | 9708 | Has flag LOOK_SHORT: no} |
| 9709 | 9709 | |
| 9710 | 9710 | utf-check 685 utf-check-685-1-87-1.jnk \ |
| 9711 | -{File "%TEMP%/utf-check-685-1-87-1.jnk" has 8202 bytes. | |
| 9711 | +{File "%TEMP%/utf-check-685-1-87-1.jnk" has 32790 bytes. | |
| 9712 | 9712 | Starts with UTF-8 BOM: yes |
| 9713 | 9713 | Starts with UTF-16 BOM: no |
| 9714 | 9714 | Looks like UTF-8: no |
| 9715 | 9715 | Has flag LOOK_NUL: no |
| 9716 | 9716 | Has flag LOOK_CR: yes |
| @@ -9722,11 +9722,11 @@ | ||
| 9722 | 9722 | Has flag LOOK_INVALID: no |
| 9723 | 9723 | Has flag LOOK_ODD: no |
| 9724 | 9724 | Has flag LOOK_SHORT: no} |
| 9725 | 9725 | |
| 9726 | 9726 | utf-check 686 utf-check-686-1-88-0.jnk \ |
| 9727 | -{File "%TEMP%/utf-check-686-1-88-0.jnk" has 8197 bytes. | |
| 9727 | +{File "%TEMP%/utf-check-686-1-88-0.jnk" has 32773 bytes. | |
| 9728 | 9728 | Starts with UTF-8 BOM: yes |
| 9729 | 9729 | Starts with UTF-16 BOM: no |
| 9730 | 9730 | Looks like UTF-8: no |
| 9731 | 9731 | Has flag LOOK_NUL: yes |
| 9732 | 9732 | Has flag LOOK_CR: no |
| @@ -9738,11 +9738,11 @@ | ||
| 9738 | 9738 | Has flag LOOK_INVALID: no |
| 9739 | 9739 | Has flag LOOK_ODD: no |
| 9740 | 9740 | Has flag LOOK_SHORT: no} |
| 9741 | 9741 | |
| 9742 | 9742 | utf-check 687 utf-check-687-1-88-1.jnk \ |
| 9743 | -{File "%TEMP%/utf-check-687-1-88-1.jnk" has 8198 bytes. | |
| 9743 | +{File "%TEMP%/utf-check-687-1-88-1.jnk" has 32774 bytes. | |
| 9744 | 9744 | Starts with UTF-8 BOM: yes |
| 9745 | 9745 | Starts with UTF-16 BOM: no |
| 9746 | 9746 | Looks like UTF-8: no |
| 9747 | 9747 | Has flag LOOK_NUL: yes |
| 9748 | 9748 | Has flag LOOK_CR: no |
| @@ -9754,11 +9754,11 @@ | ||
| 9754 | 9754 | Has flag LOOK_INVALID: no |
| 9755 | 9755 | Has flag LOOK_ODD: no |
| 9756 | 9756 | Has flag LOOK_SHORT: no} |
| 9757 | 9757 | |
| 9758 | 9758 | utf-check 688 utf-check-688-1-89-0.jnk \ |
| 9759 | -{File "%TEMP%/utf-check-688-1-89-0.jnk" has 8198 bytes. | |
| 9759 | +{File "%TEMP%/utf-check-688-1-89-0.jnk" has 32774 bytes. | |
| 9760 | 9760 | Starts with UTF-8 BOM: yes |
| 9761 | 9761 | Starts with UTF-16 BOM: no |
| 9762 | 9762 | Looks like UTF-8: no |
| 9763 | 9763 | Has flag LOOK_NUL: yes |
| 9764 | 9764 | Has flag LOOK_CR: yes |
| @@ -9770,11 +9770,11 @@ | ||
| 9770 | 9770 | Has flag LOOK_INVALID: no |
| 9771 | 9771 | Has flag LOOK_ODD: no |
| 9772 | 9772 | Has flag LOOK_SHORT: no} |
| 9773 | 9773 | |
| 9774 | 9774 | utf-check 689 utf-check-689-1-89-1.jnk \ |
| 9775 | -{File "%TEMP%/utf-check-689-1-89-1.jnk" has 8199 bytes. | |
| 9775 | +{File "%TEMP%/utf-check-689-1-89-1.jnk" has 32775 bytes. | |
| 9776 | 9776 | Starts with UTF-8 BOM: yes |
| 9777 | 9777 | Starts with UTF-16 BOM: no |
| 9778 | 9778 | Looks like UTF-8: no |
| 9779 | 9779 | Has flag LOOK_NUL: yes |
| 9780 | 9780 | Has flag LOOK_CR: yes |
| @@ -9786,11 +9786,11 @@ | ||
| 9786 | 9786 | Has flag LOOK_INVALID: no |
| 9787 | 9787 | Has flag LOOK_ODD: no |
| 9788 | 9788 | Has flag LOOK_SHORT: no} |
| 9789 | 9789 | |
| 9790 | 9790 | utf-check 690 utf-check-690-1-90-0.jnk \ |
| 9791 | -{File "%TEMP%/utf-check-690-1-90-0.jnk" has 8198 bytes. | |
| 9791 | +{File "%TEMP%/utf-check-690-1-90-0.jnk" has 32774 bytes. | |
| 9792 | 9792 | Starts with UTF-8 BOM: yes |
| 9793 | 9793 | Starts with UTF-16 BOM: no |
| 9794 | 9794 | Looks like UTF-8: no |
| 9795 | 9795 | Has flag LOOK_NUL: yes |
| 9796 | 9796 | Has flag LOOK_CR: no |
| @@ -9802,11 +9802,11 @@ | ||
| 9802 | 9802 | Has flag LOOK_INVALID: no |
| 9803 | 9803 | Has flag LOOK_ODD: no |
| 9804 | 9804 | Has flag LOOK_SHORT: no} |
| 9805 | 9805 | |
| 9806 | 9806 | utf-check 691 utf-check-691-1-90-1.jnk \ |
| 9807 | -{File "%TEMP%/utf-check-691-1-90-1.jnk" has 8199 bytes. | |
| 9807 | +{File "%TEMP%/utf-check-691-1-90-1.jnk" has 32775 bytes. | |
| 9808 | 9808 | Starts with UTF-8 BOM: yes |
| 9809 | 9809 | Starts with UTF-16 BOM: no |
| 9810 | 9810 | Looks like UTF-8: no |
| 9811 | 9811 | Has flag LOOK_NUL: yes |
| 9812 | 9812 | Has flag LOOK_CR: no |
| @@ -9818,11 +9818,11 @@ | ||
| 9818 | 9818 | Has flag LOOK_INVALID: no |
| 9819 | 9819 | Has flag LOOK_ODD: no |
| 9820 | 9820 | Has flag LOOK_SHORT: no} |
| 9821 | 9821 | |
| 9822 | 9822 | utf-check 692 utf-check-692-1-91-0.jnk \ |
| 9823 | -{File "%TEMP%/utf-check-692-1-91-0.jnk" has 8199 bytes. | |
| 9823 | +{File "%TEMP%/utf-check-692-1-91-0.jnk" has 32775 bytes. | |
| 9824 | 9824 | Starts with UTF-8 BOM: yes |
| 9825 | 9825 | Starts with UTF-16 BOM: no |
| 9826 | 9826 | Looks like UTF-8: no |
| 9827 | 9827 | Has flag LOOK_NUL: yes |
| 9828 | 9828 | Has flag LOOK_CR: yes |
| @@ -9834,11 +9834,11 @@ | ||
| 9834 | 9834 | Has flag LOOK_INVALID: no |
| 9835 | 9835 | Has flag LOOK_ODD: no |
| 9836 | 9836 | Has flag LOOK_SHORT: no} |
| 9837 | 9837 | |
| 9838 | 9838 | utf-check 693 utf-check-693-1-91-1.jnk \ |
| 9839 | -{File "%TEMP%/utf-check-693-1-91-1.jnk" has 8200 bytes. | |
| 9839 | +{File "%TEMP%/utf-check-693-1-91-1.jnk" has 32776 bytes. | |
| 9840 | 9840 | Starts with UTF-8 BOM: yes |
| 9841 | 9841 | Starts with UTF-16 BOM: no |
| 9842 | 9842 | Looks like UTF-8: no |
| 9843 | 9843 | Has flag LOOK_NUL: yes |
| 9844 | 9844 | Has flag LOOK_CR: yes |
| @@ -9850,11 +9850,11 @@ | ||
| 9850 | 9850 | Has flag LOOK_INVALID: no |
| 9851 | 9851 | Has flag LOOK_ODD: no |
| 9852 | 9852 | Has flag LOOK_SHORT: no} |
| 9853 | 9853 | |
| 9854 | 9854 | utf-check 694 utf-check-694-1-92-0.jnk \ |
| 9855 | -{File "%TEMP%/utf-check-694-1-92-0.jnk" has 8200 bytes. | |
| 9855 | +{File "%TEMP%/utf-check-694-1-92-0.jnk" has 32788 bytes. | |
| 9856 | 9856 | Starts with UTF-8 BOM: yes |
| 9857 | 9857 | Starts with UTF-16 BOM: no |
| 9858 | 9858 | Looks like UTF-8: no |
| 9859 | 9859 | Has flag LOOK_NUL: yes |
| 9860 | 9860 | Has flag LOOK_CR: no |
| @@ -9866,11 +9866,11 @@ | ||
| 9866 | 9866 | Has flag LOOK_INVALID: no |
| 9867 | 9867 | Has flag LOOK_ODD: no |
| 9868 | 9868 | Has flag LOOK_SHORT: no} |
| 9869 | 9869 | |
| 9870 | 9870 | utf-check 695 utf-check-695-1-92-1.jnk \ |
| 9871 | -{File "%TEMP%/utf-check-695-1-92-1.jnk" has 8201 bytes. | |
| 9871 | +{File "%TEMP%/utf-check-695-1-92-1.jnk" has 32789 bytes. | |
| 9872 | 9872 | Starts with UTF-8 BOM: yes |
| 9873 | 9873 | Starts with UTF-16 BOM: no |
| 9874 | 9874 | Looks like UTF-8: no |
| 9875 | 9875 | Has flag LOOK_NUL: yes |
| 9876 | 9876 | Has flag LOOK_CR: no |
| @@ -9882,11 +9882,11 @@ | ||
| 9882 | 9882 | Has flag LOOK_INVALID: no |
| 9883 | 9883 | Has flag LOOK_ODD: no |
| 9884 | 9884 | Has flag LOOK_SHORT: no} |
| 9885 | 9885 | |
| 9886 | 9886 | utf-check 696 utf-check-696-1-93-0.jnk \ |
| 9887 | -{File "%TEMP%/utf-check-696-1-93-0.jnk" has 8201 bytes. | |
| 9887 | +{File "%TEMP%/utf-check-696-1-93-0.jnk" has 32789 bytes. | |
| 9888 | 9888 | Starts with UTF-8 BOM: yes |
| 9889 | 9889 | Starts with UTF-16 BOM: no |
| 9890 | 9890 | Looks like UTF-8: no |
| 9891 | 9891 | Has flag LOOK_NUL: yes |
| 9892 | 9892 | Has flag LOOK_CR: yes |
| @@ -9898,11 +9898,11 @@ | ||
| 9898 | 9898 | Has flag LOOK_INVALID: no |
| 9899 | 9899 | Has flag LOOK_ODD: no |
| 9900 | 9900 | Has flag LOOK_SHORT: no} |
| 9901 | 9901 | |
| 9902 | 9902 | utf-check 697 utf-check-697-1-93-1.jnk \ |
| 9903 | -{File "%TEMP%/utf-check-697-1-93-1.jnk" has 8202 bytes. | |
| 9903 | +{File "%TEMP%/utf-check-697-1-93-1.jnk" has 32790 bytes. | |
| 9904 | 9904 | Starts with UTF-8 BOM: yes |
| 9905 | 9905 | Starts with UTF-16 BOM: no |
| 9906 | 9906 | Looks like UTF-8: no |
| 9907 | 9907 | Has flag LOOK_NUL: yes |
| 9908 | 9908 | Has flag LOOK_CR: yes |
| @@ -9914,11 +9914,11 @@ | ||
| 9914 | 9914 | Has flag LOOK_INVALID: no |
| 9915 | 9915 | Has flag LOOK_ODD: no |
| 9916 | 9916 | Has flag LOOK_SHORT: no} |
| 9917 | 9917 | |
| 9918 | 9918 | utf-check 698 utf-check-698-1-94-0.jnk \ |
| 9919 | -{File "%TEMP%/utf-check-698-1-94-0.jnk" has 8201 bytes. | |
| 9919 | +{File "%TEMP%/utf-check-698-1-94-0.jnk" has 32789 bytes. | |
| 9920 | 9920 | Starts with UTF-8 BOM: yes |
| 9921 | 9921 | Starts with UTF-16 BOM: no |
| 9922 | 9922 | Looks like UTF-8: no |
| 9923 | 9923 | Has flag LOOK_NUL: yes |
| 9924 | 9924 | Has flag LOOK_CR: no |
| @@ -9930,11 +9930,11 @@ | ||
| 9930 | 9930 | Has flag LOOK_INVALID: no |
| 9931 | 9931 | Has flag LOOK_ODD: no |
| 9932 | 9932 | Has flag LOOK_SHORT: no} |
| 9933 | 9933 | |
| 9934 | 9934 | utf-check 699 utf-check-699-1-94-1.jnk \ |
| 9935 | -{File "%TEMP%/utf-check-699-1-94-1.jnk" has 8202 bytes. | |
| 9935 | +{File "%TEMP%/utf-check-699-1-94-1.jnk" has 32790 bytes. | |
| 9936 | 9936 | Starts with UTF-8 BOM: yes |
| 9937 | 9937 | Starts with UTF-16 BOM: no |
| 9938 | 9938 | Looks like UTF-8: no |
| 9939 | 9939 | Has flag LOOK_NUL: yes |
| 9940 | 9940 | Has flag LOOK_CR: no |
| @@ -9946,11 +9946,11 @@ | ||
| 9946 | 9946 | Has flag LOOK_INVALID: no |
| 9947 | 9947 | Has flag LOOK_ODD: no |
| 9948 | 9948 | Has flag LOOK_SHORT: no} |
| 9949 | 9949 | |
| 9950 | 9950 | utf-check 700 utf-check-700-1-95-0.jnk \ |
| 9951 | -{File "%TEMP%/utf-check-700-1-95-0.jnk" has 8202 bytes. | |
| 9951 | +{File "%TEMP%/utf-check-700-1-95-0.jnk" has 32790 bytes. | |
| 9952 | 9952 | Starts with UTF-8 BOM: yes |
| 9953 | 9953 | Starts with UTF-16 BOM: no |
| 9954 | 9954 | Looks like UTF-8: no |
| 9955 | 9955 | Has flag LOOK_NUL: yes |
| 9956 | 9956 | Has flag LOOK_CR: yes |
| @@ -9962,11 +9962,11 @@ | ||
| 9962 | 9962 | Has flag LOOK_INVALID: no |
| 9963 | 9963 | Has flag LOOK_ODD: no |
| 9964 | 9964 | Has flag LOOK_SHORT: no} |
| 9965 | 9965 | |
| 9966 | 9966 | utf-check 701 utf-check-701-1-95-1.jnk \ |
| 9967 | -{File "%TEMP%/utf-check-701-1-95-1.jnk" has 8203 bytes. | |
| 9967 | +{File "%TEMP%/utf-check-701-1-95-1.jnk" has 32791 bytes. | |
| 9968 | 9968 | Starts with UTF-8 BOM: yes |
| 9969 | 9969 | Starts with UTF-16 BOM: no |
| 9970 | 9970 | Looks like UTF-8: no |
| 9971 | 9971 | Has flag LOOK_NUL: yes |
| 9972 | 9972 | Has flag LOOK_CR: yes |
| @@ -9978,11 +9978,11 @@ | ||
| 9978 | 9978 | Has flag LOOK_INVALID: no |
| 9979 | 9979 | Has flag LOOK_ODD: no |
| 9980 | 9980 | Has flag LOOK_SHORT: no} |
| 9981 | 9981 | |
| 9982 | 9982 | utf-check 702 utf-check-702-1-96-0.jnk \ |
| 9983 | -{File "%TEMP%/utf-check-702-1-96-0.jnk" has 8197 bytes. | |
| 9983 | +{File "%TEMP%/utf-check-702-1-96-0.jnk" has 32773 bytes. | |
| 9984 | 9984 | Starts with UTF-8 BOM: yes |
| 9985 | 9985 | Starts with UTF-16 BOM: no |
| 9986 | 9986 | Looks like UTF-8: no |
| 9987 | 9987 | Has flag LOOK_NUL: yes |
| 9988 | 9988 | Has flag LOOK_CR: no |
| @@ -9994,11 +9994,11 @@ | ||
| 9994 | 9994 | Has flag LOOK_INVALID: no |
| 9995 | 9995 | Has flag LOOK_ODD: no |
| 9996 | 9996 | Has flag LOOK_SHORT: no} |
| 9997 | 9997 | |
| 9998 | 9998 | utf-check 703 utf-check-703-1-96-1.jnk \ |
| 9999 | -{File "%TEMP%/utf-check-703-1-96-1.jnk" has 8198 bytes. | |
| 9999 | +{File "%TEMP%/utf-check-703-1-96-1.jnk" has 32774 bytes. | |
| 10000 | 10000 | Starts with UTF-8 BOM: yes |
| 10001 | 10001 | Starts with UTF-16 BOM: no |
| 10002 | 10002 | Looks like UTF-8: no |
| 10003 | 10003 | Has flag LOOK_NUL: yes |
| 10004 | 10004 | Has flag LOOK_CR: no |
| @@ -10010,11 +10010,11 @@ | ||
| 10010 | 10010 | Has flag LOOK_INVALID: no |
| 10011 | 10011 | Has flag LOOK_ODD: no |
| 10012 | 10012 | Has flag LOOK_SHORT: no} |
| 10013 | 10013 | |
| 10014 | 10014 | utf-check 704 utf-check-704-1-97-0.jnk \ |
| 10015 | -{File "%TEMP%/utf-check-704-1-97-0.jnk" has 8198 bytes. | |
| 10015 | +{File "%TEMP%/utf-check-704-1-97-0.jnk" has 32774 bytes. | |
| 10016 | 10016 | Starts with UTF-8 BOM: yes |
| 10017 | 10017 | Starts with UTF-16 BOM: no |
| 10018 | 10018 | Looks like UTF-8: no |
| 10019 | 10019 | Has flag LOOK_NUL: yes |
| 10020 | 10020 | Has flag LOOK_CR: yes |
| @@ -10026,11 +10026,11 @@ | ||
| 10026 | 10026 | Has flag LOOK_INVALID: no |
| 10027 | 10027 | Has flag LOOK_ODD: no |
| 10028 | 10028 | Has flag LOOK_SHORT: no} |
| 10029 | 10029 | |
| 10030 | 10030 | utf-check 705 utf-check-705-1-97-1.jnk \ |
| 10031 | -{File "%TEMP%/utf-check-705-1-97-1.jnk" has 8199 bytes. | |
| 10031 | +{File "%TEMP%/utf-check-705-1-97-1.jnk" has 32775 bytes. | |
| 10032 | 10032 | Starts with UTF-8 BOM: yes |
| 10033 | 10033 | Starts with UTF-16 BOM: no |
| 10034 | 10034 | Looks like UTF-8: no |
| 10035 | 10035 | Has flag LOOK_NUL: yes |
| 10036 | 10036 | Has flag LOOK_CR: yes |
| @@ -10042,11 +10042,11 @@ | ||
| 10042 | 10042 | Has flag LOOK_INVALID: no |
| 10043 | 10043 | Has flag LOOK_ODD: no |
| 10044 | 10044 | Has flag LOOK_SHORT: no} |
| 10045 | 10045 | |
| 10046 | 10046 | utf-check 706 utf-check-706-1-98-0.jnk \ |
| 10047 | -{File "%TEMP%/utf-check-706-1-98-0.jnk" has 8198 bytes. | |
| 10047 | +{File "%TEMP%/utf-check-706-1-98-0.jnk" has 32774 bytes. | |
| 10048 | 10048 | Starts with UTF-8 BOM: yes |
| 10049 | 10049 | Starts with UTF-16 BOM: no |
| 10050 | 10050 | Looks like UTF-8: no |
| 10051 | 10051 | Has flag LOOK_NUL: yes |
| 10052 | 10052 | Has flag LOOK_CR: no |
| @@ -10058,11 +10058,11 @@ | ||
| 10058 | 10058 | Has flag LOOK_INVALID: no |
| 10059 | 10059 | Has flag LOOK_ODD: no |
| 10060 | 10060 | Has flag LOOK_SHORT: no} |
| 10061 | 10061 | |
| 10062 | 10062 | utf-check 707 utf-check-707-1-98-1.jnk \ |
| 10063 | -{File "%TEMP%/utf-check-707-1-98-1.jnk" has 8199 bytes. | |
| 10063 | +{File "%TEMP%/utf-check-707-1-98-1.jnk" has 32775 bytes. | |
| 10064 | 10064 | Starts with UTF-8 BOM: yes |
| 10065 | 10065 | Starts with UTF-16 BOM: no |
| 10066 | 10066 | Looks like UTF-8: no |
| 10067 | 10067 | Has flag LOOK_NUL: yes |
| 10068 | 10068 | Has flag LOOK_CR: no |
| @@ -10074,11 +10074,11 @@ | ||
| 10074 | 10074 | Has flag LOOK_INVALID: no |
| 10075 | 10075 | Has flag LOOK_ODD: no |
| 10076 | 10076 | Has flag LOOK_SHORT: no} |
| 10077 | 10077 | |
| 10078 | 10078 | utf-check 708 utf-check-708-1-99-0.jnk \ |
| 10079 | -{File "%TEMP%/utf-check-708-1-99-0.jnk" has 8199 bytes. | |
| 10079 | +{File "%TEMP%/utf-check-708-1-99-0.jnk" has 32775 bytes. | |
| 10080 | 10080 | Starts with UTF-8 BOM: yes |
| 10081 | 10081 | Starts with UTF-16 BOM: no |
| 10082 | 10082 | Looks like UTF-8: no |
| 10083 | 10083 | Has flag LOOK_NUL: yes |
| 10084 | 10084 | Has flag LOOK_CR: yes |
| @@ -10090,11 +10090,11 @@ | ||
| 10090 | 10090 | Has flag LOOK_INVALID: no |
| 10091 | 10091 | Has flag LOOK_ODD: no |
| 10092 | 10092 | Has flag LOOK_SHORT: no} |
| 10093 | 10093 | |
| 10094 | 10094 | utf-check 709 utf-check-709-1-99-1.jnk \ |
| 10095 | -{File "%TEMP%/utf-check-709-1-99-1.jnk" has 8200 bytes. | |
| 10095 | +{File "%TEMP%/utf-check-709-1-99-1.jnk" has 32776 bytes. | |
| 10096 | 10096 | Starts with UTF-8 BOM: yes |
| 10097 | 10097 | Starts with UTF-16 BOM: no |
| 10098 | 10098 | Looks like UTF-8: no |
| 10099 | 10099 | Has flag LOOK_NUL: yes |
| 10100 | 10100 | Has flag LOOK_CR: yes |
| @@ -10106,11 +10106,11 @@ | ||
| 10106 | 10106 | Has flag LOOK_INVALID: no |
| 10107 | 10107 | Has flag LOOK_ODD: no |
| 10108 | 10108 | Has flag LOOK_SHORT: no} |
| 10109 | 10109 | |
| 10110 | 10110 | utf-check 710 utf-check-710-1-100-0.jnk \ |
| 10111 | -{File "%TEMP%/utf-check-710-1-100-0.jnk" has 8200 bytes. | |
| 10111 | +{File "%TEMP%/utf-check-710-1-100-0.jnk" has 32788 bytes. | |
| 10112 | 10112 | Starts with UTF-8 BOM: yes |
| 10113 | 10113 | Starts with UTF-16 BOM: no |
| 10114 | 10114 | Looks like UTF-8: no |
| 10115 | 10115 | Has flag LOOK_NUL: yes |
| 10116 | 10116 | Has flag LOOK_CR: no |
| @@ -10122,11 +10122,11 @@ | ||
| 10122 | 10122 | Has flag LOOK_INVALID: no |
| 10123 | 10123 | Has flag LOOK_ODD: no |
| 10124 | 10124 | Has flag LOOK_SHORT: no} |
| 10125 | 10125 | |
| 10126 | 10126 | utf-check 711 utf-check-711-1-100-1.jnk \ |
| 10127 | -{File "%TEMP%/utf-check-711-1-100-1.jnk" has 8201 bytes. | |
| 10127 | +{File "%TEMP%/utf-check-711-1-100-1.jnk" has 32789 bytes. | |
| 10128 | 10128 | Starts with UTF-8 BOM: yes |
| 10129 | 10129 | Starts with UTF-16 BOM: no |
| 10130 | 10130 | Looks like UTF-8: no |
| 10131 | 10131 | Has flag LOOK_NUL: yes |
| 10132 | 10132 | Has flag LOOK_CR: no |
| @@ -10138,11 +10138,11 @@ | ||
| 10138 | 10138 | Has flag LOOK_INVALID: no |
| 10139 | 10139 | Has flag LOOK_ODD: no |
| 10140 | 10140 | Has flag LOOK_SHORT: no} |
| 10141 | 10141 | |
| 10142 | 10142 | utf-check 712 utf-check-712-1-101-0.jnk \ |
| 10143 | -{File "%TEMP%/utf-check-712-1-101-0.jnk" has 8201 bytes. | |
| 10143 | +{File "%TEMP%/utf-check-712-1-101-0.jnk" has 32789 bytes. | |
| 10144 | 10144 | Starts with UTF-8 BOM: yes |
| 10145 | 10145 | Starts with UTF-16 BOM: no |
| 10146 | 10146 | Looks like UTF-8: no |
| 10147 | 10147 | Has flag LOOK_NUL: yes |
| 10148 | 10148 | Has flag LOOK_CR: yes |
| @@ -10154,11 +10154,11 @@ | ||
| 10154 | 10154 | Has flag LOOK_INVALID: no |
| 10155 | 10155 | Has flag LOOK_ODD: no |
| 10156 | 10156 | Has flag LOOK_SHORT: no} |
| 10157 | 10157 | |
| 10158 | 10158 | utf-check 713 utf-check-713-1-101-1.jnk \ |
| 10159 | -{File "%TEMP%/utf-check-713-1-101-1.jnk" has 8202 bytes. | |
| 10159 | +{File "%TEMP%/utf-check-713-1-101-1.jnk" has 32790 bytes. | |
| 10160 | 10160 | Starts with UTF-8 BOM: yes |
| 10161 | 10161 | Starts with UTF-16 BOM: no |
| 10162 | 10162 | Looks like UTF-8: no |
| 10163 | 10163 | Has flag LOOK_NUL: yes |
| 10164 | 10164 | Has flag LOOK_CR: yes |
| @@ -10170,11 +10170,11 @@ | ||
| 10170 | 10170 | Has flag LOOK_INVALID: no |
| 10171 | 10171 | Has flag LOOK_ODD: no |
| 10172 | 10172 | Has flag LOOK_SHORT: no} |
| 10173 | 10173 | |
| 10174 | 10174 | utf-check 714 utf-check-714-1-102-0.jnk \ |
| 10175 | -{File "%TEMP%/utf-check-714-1-102-0.jnk" has 8201 bytes. | |
| 10175 | +{File "%TEMP%/utf-check-714-1-102-0.jnk" has 32789 bytes. | |
| 10176 | 10176 | Starts with UTF-8 BOM: yes |
| 10177 | 10177 | Starts with UTF-16 BOM: no |
| 10178 | 10178 | Looks like UTF-8: no |
| 10179 | 10179 | Has flag LOOK_NUL: yes |
| 10180 | 10180 | Has flag LOOK_CR: no |
| @@ -10186,11 +10186,11 @@ | ||
| 10186 | 10186 | Has flag LOOK_INVALID: no |
| 10187 | 10187 | Has flag LOOK_ODD: no |
| 10188 | 10188 | Has flag LOOK_SHORT: no} |
| 10189 | 10189 | |
| 10190 | 10190 | utf-check 715 utf-check-715-1-102-1.jnk \ |
| 10191 | -{File "%TEMP%/utf-check-715-1-102-1.jnk" has 8202 bytes. | |
| 10191 | +{File "%TEMP%/utf-check-715-1-102-1.jnk" has 32790 bytes. | |
| 10192 | 10192 | Starts with UTF-8 BOM: yes |
| 10193 | 10193 | Starts with UTF-16 BOM: no |
| 10194 | 10194 | Looks like UTF-8: no |
| 10195 | 10195 | Has flag LOOK_NUL: yes |
| 10196 | 10196 | Has flag LOOK_CR: no |
| @@ -10202,11 +10202,11 @@ | ||
| 10202 | 10202 | Has flag LOOK_INVALID: no |
| 10203 | 10203 | Has flag LOOK_ODD: no |
| 10204 | 10204 | Has flag LOOK_SHORT: no} |
| 10205 | 10205 | |
| 10206 | 10206 | utf-check 716 utf-check-716-1-103-0.jnk \ |
| 10207 | -{File "%TEMP%/utf-check-716-1-103-0.jnk" has 8202 bytes. | |
| 10207 | +{File "%TEMP%/utf-check-716-1-103-0.jnk" has 32790 bytes. | |
| 10208 | 10208 | Starts with UTF-8 BOM: yes |
| 10209 | 10209 | Starts with UTF-16 BOM: no |
| 10210 | 10210 | Looks like UTF-8: no |
| 10211 | 10211 | Has flag LOOK_NUL: yes |
| 10212 | 10212 | Has flag LOOK_CR: yes |
| @@ -10218,11 +10218,11 @@ | ||
| 10218 | 10218 | Has flag LOOK_INVALID: no |
| 10219 | 10219 | Has flag LOOK_ODD: no |
| 10220 | 10220 | Has flag LOOK_SHORT: no} |
| 10221 | 10221 | |
| 10222 | 10222 | utf-check 717 utf-check-717-1-103-1.jnk \ |
| 10223 | -{File "%TEMP%/utf-check-717-1-103-1.jnk" has 8203 bytes. | |
| 10223 | +{File "%TEMP%/utf-check-717-1-103-1.jnk" has 32791 bytes. | |
| 10224 | 10224 | Starts with UTF-8 BOM: yes |
| 10225 | 10225 | Starts with UTF-16 BOM: no |
| 10226 | 10226 | Looks like UTF-8: no |
| 10227 | 10227 | Has flag LOOK_NUL: yes |
| 10228 | 10228 | Has flag LOOK_CR: yes |
| @@ -10234,11 +10234,11 @@ | ||
| 10234 | 10234 | Has flag LOOK_INVALID: no |
| 10235 | 10235 | Has flag LOOK_ODD: no |
| 10236 | 10236 | Has flag LOOK_SHORT: no} |
| 10237 | 10237 | |
| 10238 | 10238 | utf-check 718 utf-check-718-1-104-0.jnk \ |
| 10239 | -{File "%TEMP%/utf-check-718-1-104-0.jnk" has 8198 bytes. | |
| 10239 | +{File "%TEMP%/utf-check-718-1-104-0.jnk" has 32774 bytes. | |
| 10240 | 10240 | Starts with UTF-8 BOM: yes |
| 10241 | 10241 | Starts with UTF-16 BOM: no |
| 10242 | 10242 | Looks like UTF-8: no |
| 10243 | 10243 | Has flag LOOK_NUL: yes |
| 10244 | 10244 | Has flag LOOK_CR: no |
| @@ -10250,11 +10250,11 @@ | ||
| 10250 | 10250 | Has flag LOOK_INVALID: no |
| 10251 | 10251 | Has flag LOOK_ODD: no |
| 10252 | 10252 | Has flag LOOK_SHORT: no} |
| 10253 | 10253 | |
| 10254 | 10254 | utf-check 719 utf-check-719-1-104-1.jnk \ |
| 10255 | -{File "%TEMP%/utf-check-719-1-104-1.jnk" has 8199 bytes. | |
| 10255 | +{File "%TEMP%/utf-check-719-1-104-1.jnk" has 32775 bytes. | |
| 10256 | 10256 | Starts with UTF-8 BOM: yes |
| 10257 | 10257 | Starts with UTF-16 BOM: no |
| 10258 | 10258 | Looks like UTF-8: no |
| 10259 | 10259 | Has flag LOOK_NUL: yes |
| 10260 | 10260 | Has flag LOOK_CR: no |
| @@ -10266,11 +10266,11 @@ | ||
| 10266 | 10266 | Has flag LOOK_INVALID: no |
| 10267 | 10267 | Has flag LOOK_ODD: no |
| 10268 | 10268 | Has flag LOOK_SHORT: no} |
| 10269 | 10269 | |
| 10270 | 10270 | utf-check 720 utf-check-720-1-105-0.jnk \ |
| 10271 | -{File "%TEMP%/utf-check-720-1-105-0.jnk" has 8199 bytes. | |
| 10271 | +{File "%TEMP%/utf-check-720-1-105-0.jnk" has 32775 bytes. | |
| 10272 | 10272 | Starts with UTF-8 BOM: yes |
| 10273 | 10273 | Starts with UTF-16 BOM: no |
| 10274 | 10274 | Looks like UTF-8: no |
| 10275 | 10275 | Has flag LOOK_NUL: yes |
| 10276 | 10276 | Has flag LOOK_CR: yes |
| @@ -10282,11 +10282,11 @@ | ||
| 10282 | 10282 | Has flag LOOK_INVALID: no |
| 10283 | 10283 | Has flag LOOK_ODD: no |
| 10284 | 10284 | Has flag LOOK_SHORT: no} |
| 10285 | 10285 | |
| 10286 | 10286 | utf-check 721 utf-check-721-1-105-1.jnk \ |
| 10287 | -{File "%TEMP%/utf-check-721-1-105-1.jnk" has 8200 bytes. | |
| 10287 | +{File "%TEMP%/utf-check-721-1-105-1.jnk" has 32776 bytes. | |
| 10288 | 10288 | Starts with UTF-8 BOM: yes |
| 10289 | 10289 | Starts with UTF-16 BOM: no |
| 10290 | 10290 | Looks like UTF-8: no |
| 10291 | 10291 | Has flag LOOK_NUL: yes |
| 10292 | 10292 | Has flag LOOK_CR: yes |
| @@ -10298,11 +10298,11 @@ | ||
| 10298 | 10298 | Has flag LOOK_INVALID: no |
| 10299 | 10299 | Has flag LOOK_ODD: no |
| 10300 | 10300 | Has flag LOOK_SHORT: no} |
| 10301 | 10301 | |
| 10302 | 10302 | utf-check 722 utf-check-722-1-106-0.jnk \ |
| 10303 | -{File "%TEMP%/utf-check-722-1-106-0.jnk" has 8199 bytes. | |
| 10303 | +{File "%TEMP%/utf-check-722-1-106-0.jnk" has 32775 bytes. | |
| 10304 | 10304 | Starts with UTF-8 BOM: yes |
| 10305 | 10305 | Starts with UTF-16 BOM: no |
| 10306 | 10306 | Looks like UTF-8: no |
| 10307 | 10307 | Has flag LOOK_NUL: yes |
| 10308 | 10308 | Has flag LOOK_CR: no |
| @@ -10314,11 +10314,11 @@ | ||
| 10314 | 10314 | Has flag LOOK_INVALID: no |
| 10315 | 10315 | Has flag LOOK_ODD: no |
| 10316 | 10316 | Has flag LOOK_SHORT: no} |
| 10317 | 10317 | |
| 10318 | 10318 | utf-check 723 utf-check-723-1-106-1.jnk \ |
| 10319 | -{File "%TEMP%/utf-check-723-1-106-1.jnk" has 8200 bytes. | |
| 10319 | +{File "%TEMP%/utf-check-723-1-106-1.jnk" has 32776 bytes. | |
| 10320 | 10320 | Starts with UTF-8 BOM: yes |
| 10321 | 10321 | Starts with UTF-16 BOM: no |
| 10322 | 10322 | Looks like UTF-8: no |
| 10323 | 10323 | Has flag LOOK_NUL: yes |
| 10324 | 10324 | Has flag LOOK_CR: no |
| @@ -10330,11 +10330,11 @@ | ||
| 10330 | 10330 | Has flag LOOK_INVALID: no |
| 10331 | 10331 | Has flag LOOK_ODD: no |
| 10332 | 10332 | Has flag LOOK_SHORT: no} |
| 10333 | 10333 | |
| 10334 | 10334 | utf-check 724 utf-check-724-1-107-0.jnk \ |
| 10335 | -{File "%TEMP%/utf-check-724-1-107-0.jnk" has 8200 bytes. | |
| 10335 | +{File "%TEMP%/utf-check-724-1-107-0.jnk" has 32776 bytes. | |
| 10336 | 10336 | Starts with UTF-8 BOM: yes |
| 10337 | 10337 | Starts with UTF-16 BOM: no |
| 10338 | 10338 | Looks like UTF-8: no |
| 10339 | 10339 | Has flag LOOK_NUL: yes |
| 10340 | 10340 | Has flag LOOK_CR: yes |
| @@ -10346,11 +10346,11 @@ | ||
| 10346 | 10346 | Has flag LOOK_INVALID: no |
| 10347 | 10347 | Has flag LOOK_ODD: no |
| 10348 | 10348 | Has flag LOOK_SHORT: no} |
| 10349 | 10349 | |
| 10350 | 10350 | utf-check 725 utf-check-725-1-107-1.jnk \ |
| 10351 | -{File "%TEMP%/utf-check-725-1-107-1.jnk" has 8201 bytes. | |
| 10351 | +{File "%TEMP%/utf-check-725-1-107-1.jnk" has 32777 bytes. | |
| 10352 | 10352 | Starts with UTF-8 BOM: yes |
| 10353 | 10353 | Starts with UTF-16 BOM: no |
| 10354 | 10354 | Looks like UTF-8: no |
| 10355 | 10355 | Has flag LOOK_NUL: yes |
| 10356 | 10356 | Has flag LOOK_CR: yes |
| @@ -10362,11 +10362,11 @@ | ||
| 10362 | 10362 | Has flag LOOK_INVALID: no |
| 10363 | 10363 | Has flag LOOK_ODD: no |
| 10364 | 10364 | Has flag LOOK_SHORT: no} |
| 10365 | 10365 | |
| 10366 | 10366 | utf-check 726 utf-check-726-1-108-0.jnk \ |
| 10367 | -{File "%TEMP%/utf-check-726-1-108-0.jnk" has 8201 bytes. | |
| 10367 | +{File "%TEMP%/utf-check-726-1-108-0.jnk" has 32789 bytes. | |
| 10368 | 10368 | Starts with UTF-8 BOM: yes |
| 10369 | 10369 | Starts with UTF-16 BOM: no |
| 10370 | 10370 | Looks like UTF-8: no |
| 10371 | 10371 | Has flag LOOK_NUL: yes |
| 10372 | 10372 | Has flag LOOK_CR: no |
| @@ -10378,11 +10378,11 @@ | ||
| 10378 | 10378 | Has flag LOOK_INVALID: no |
| 10379 | 10379 | Has flag LOOK_ODD: no |
| 10380 | 10380 | Has flag LOOK_SHORT: no} |
| 10381 | 10381 | |
| 10382 | 10382 | utf-check 727 utf-check-727-1-108-1.jnk \ |
| 10383 | -{File "%TEMP%/utf-check-727-1-108-1.jnk" has 8202 bytes. | |
| 10383 | +{File "%TEMP%/utf-check-727-1-108-1.jnk" has 32790 bytes. | |
| 10384 | 10384 | Starts with UTF-8 BOM: yes |
| 10385 | 10385 | Starts with UTF-16 BOM: no |
| 10386 | 10386 | Looks like UTF-8: no |
| 10387 | 10387 | Has flag LOOK_NUL: yes |
| 10388 | 10388 | Has flag LOOK_CR: no |
| @@ -10394,11 +10394,11 @@ | ||
| 10394 | 10394 | Has flag LOOK_INVALID: no |
| 10395 | 10395 | Has flag LOOK_ODD: no |
| 10396 | 10396 | Has flag LOOK_SHORT: no} |
| 10397 | 10397 | |
| 10398 | 10398 | utf-check 728 utf-check-728-1-109-0.jnk \ |
| 10399 | -{File "%TEMP%/utf-check-728-1-109-0.jnk" has 8202 bytes. | |
| 10399 | +{File "%TEMP%/utf-check-728-1-109-0.jnk" has 32790 bytes. | |
| 10400 | 10400 | Starts with UTF-8 BOM: yes |
| 10401 | 10401 | Starts with UTF-16 BOM: no |
| 10402 | 10402 | Looks like UTF-8: no |
| 10403 | 10403 | Has flag LOOK_NUL: yes |
| 10404 | 10404 | Has flag LOOK_CR: yes |
| @@ -10410,11 +10410,11 @@ | ||
| 10410 | 10410 | Has flag LOOK_INVALID: no |
| 10411 | 10411 | Has flag LOOK_ODD: no |
| 10412 | 10412 | Has flag LOOK_SHORT: no} |
| 10413 | 10413 | |
| 10414 | 10414 | utf-check 729 utf-check-729-1-109-1.jnk \ |
| 10415 | -{File "%TEMP%/utf-check-729-1-109-1.jnk" has 8203 bytes. | |
| 10415 | +{File "%TEMP%/utf-check-729-1-109-1.jnk" has 32791 bytes. | |
| 10416 | 10416 | Starts with UTF-8 BOM: yes |
| 10417 | 10417 | Starts with UTF-16 BOM: no |
| 10418 | 10418 | Looks like UTF-8: no |
| 10419 | 10419 | Has flag LOOK_NUL: yes |
| 10420 | 10420 | Has flag LOOK_CR: yes |
| @@ -10426,11 +10426,11 @@ | ||
| 10426 | 10426 | Has flag LOOK_INVALID: no |
| 10427 | 10427 | Has flag LOOK_ODD: no |
| 10428 | 10428 | Has flag LOOK_SHORT: no} |
| 10429 | 10429 | |
| 10430 | 10430 | utf-check 730 utf-check-730-1-110-0.jnk \ |
| 10431 | -{File "%TEMP%/utf-check-730-1-110-0.jnk" has 8202 bytes. | |
| 10431 | +{File "%TEMP%/utf-check-730-1-110-0.jnk" has 32790 bytes. | |
| 10432 | 10432 | Starts with UTF-8 BOM: yes |
| 10433 | 10433 | Starts with UTF-16 BOM: no |
| 10434 | 10434 | Looks like UTF-8: no |
| 10435 | 10435 | Has flag LOOK_NUL: yes |
| 10436 | 10436 | Has flag LOOK_CR: no |
| @@ -10442,11 +10442,11 @@ | ||
| 10442 | 10442 | Has flag LOOK_INVALID: no |
| 10443 | 10443 | Has flag LOOK_ODD: no |
| 10444 | 10444 | Has flag LOOK_SHORT: no} |
| 10445 | 10445 | |
| 10446 | 10446 | utf-check 731 utf-check-731-1-110-1.jnk \ |
| 10447 | -{File "%TEMP%/utf-check-731-1-110-1.jnk" has 8203 bytes. | |
| 10447 | +{File "%TEMP%/utf-check-731-1-110-1.jnk" has 32791 bytes. | |
| 10448 | 10448 | Starts with UTF-8 BOM: yes |
| 10449 | 10449 | Starts with UTF-16 BOM: no |
| 10450 | 10450 | Looks like UTF-8: no |
| 10451 | 10451 | Has flag LOOK_NUL: yes |
| 10452 | 10452 | Has flag LOOK_CR: no |
| @@ -10458,11 +10458,11 @@ | ||
| 10458 | 10458 | Has flag LOOK_INVALID: no |
| 10459 | 10459 | Has flag LOOK_ODD: no |
| 10460 | 10460 | Has flag LOOK_SHORT: no} |
| 10461 | 10461 | |
| 10462 | 10462 | utf-check 732 utf-check-732-1-111-0.jnk \ |
| 10463 | -{File "%TEMP%/utf-check-732-1-111-0.jnk" has 8203 bytes. | |
| 10463 | +{File "%TEMP%/utf-check-732-1-111-0.jnk" has 32791 bytes. | |
| 10464 | 10464 | Starts with UTF-8 BOM: yes |
| 10465 | 10465 | Starts with UTF-16 BOM: no |
| 10466 | 10466 | Looks like UTF-8: no |
| 10467 | 10467 | Has flag LOOK_NUL: yes |
| 10468 | 10468 | Has flag LOOK_CR: yes |
| @@ -10474,11 +10474,11 @@ | ||
| 10474 | 10474 | Has flag LOOK_INVALID: no |
| 10475 | 10475 | Has flag LOOK_ODD: no |
| 10476 | 10476 | Has flag LOOK_SHORT: no} |
| 10477 | 10477 | |
| 10478 | 10478 | utf-check 733 utf-check-733-1-111-1.jnk \ |
| 10479 | -{File "%TEMP%/utf-check-733-1-111-1.jnk" has 8204 bytes. | |
| 10479 | +{File "%TEMP%/utf-check-733-1-111-1.jnk" has 32792 bytes. | |
| 10480 | 10480 | Starts with UTF-8 BOM: yes |
| 10481 | 10481 | Starts with UTF-16 BOM: no |
| 10482 | 10482 | Looks like UTF-8: no |
| 10483 | 10483 | Has flag LOOK_NUL: yes |
| 10484 | 10484 | Has flag LOOK_CR: yes |
| @@ -16026,11 +16026,11 @@ | ||
| 16026 | 16026 | Has flag LOOK_INVALID: yes |
| 16027 | 16027 | Has flag LOOK_ODD: no |
| 16028 | 16028 | Has flag LOOK_SHORT: no} |
| 16029 | 16029 | |
| 16030 | 16030 | utf-check 1080 utf-check-1080-2-80-0.jnk \ |
| 16031 | -{File "%TEMP%/utf-check-1080-2-80-0.jnk" has 16388 bytes. | |
| 16031 | +{File "%TEMP%/utf-check-1080-2-80-0.jnk" has 65540 bytes. | |
| 16032 | 16032 | Starts with UTF-8 BOM: no |
| 16033 | 16033 | Starts with UTF-16 BOM: yes |
| 16034 | 16034 | Looks like UTF-16: no |
| 16035 | 16035 | Has flag LOOK_NUL: no |
| 16036 | 16036 | Has flag LOOK_CR: no |
| @@ -16042,11 +16042,11 @@ | ||
| 16042 | 16042 | Has flag LOOK_INVALID: no |
| 16043 | 16043 | Has flag LOOK_ODD: no |
| 16044 | 16044 | Has flag LOOK_SHORT: no} |
| 16045 | 16045 | |
| 16046 | 16046 | utf-check 1081 utf-check-1081-2-80-1.jnk \ |
| 16047 | -{File "%TEMP%/utf-check-1081-2-80-1.jnk" has 16389 bytes. | |
| 16047 | +{File "%TEMP%/utf-check-1081-2-80-1.jnk" has 65541 bytes. | |
| 16048 | 16048 | Starts with UTF-8 BOM: no |
| 16049 | 16049 | Starts with UTF-16 BOM: yes |
| 16050 | 16050 | Looks like UTF-8: no |
| 16051 | 16051 | Has flag LOOK_NUL: yes |
| 16052 | 16052 | Has flag LOOK_CR: no |
| @@ -16058,11 +16058,11 @@ | ||
| 16058 | 16058 | Has flag LOOK_INVALID: yes |
| 16059 | 16059 | Has flag LOOK_ODD: no |
| 16060 | 16060 | Has flag LOOK_SHORT: no} |
| 16061 | 16061 | |
| 16062 | 16062 | utf-check 1082 utf-check-1082-2-81-0.jnk \ |
| 16063 | -{File "%TEMP%/utf-check-1082-2-81-0.jnk" has 16390 bytes. | |
| 16063 | +{File "%TEMP%/utf-check-1082-2-81-0.jnk" has 65542 bytes. | |
| 16064 | 16064 | Starts with UTF-8 BOM: no |
| 16065 | 16065 | Starts with UTF-16 BOM: yes |
| 16066 | 16066 | Looks like UTF-16: no |
| 16067 | 16067 | Has flag LOOK_NUL: no |
| 16068 | 16068 | Has flag LOOK_CR: yes |
| @@ -16074,11 +16074,11 @@ | ||
| 16074 | 16074 | Has flag LOOK_INVALID: no |
| 16075 | 16075 | Has flag LOOK_ODD: no |
| 16076 | 16076 | Has flag LOOK_SHORT: no} |
| 16077 | 16077 | |
| 16078 | 16078 | utf-check 1083 utf-check-1083-2-81-1.jnk \ |
| 16079 | -{File "%TEMP%/utf-check-1083-2-81-1.jnk" has 16391 bytes. | |
| 16079 | +{File "%TEMP%/utf-check-1083-2-81-1.jnk" has 65543 bytes. | |
| 16080 | 16080 | Starts with UTF-8 BOM: no |
| 16081 | 16081 | Starts with UTF-16 BOM: yes |
| 16082 | 16082 | Looks like UTF-8: no |
| 16083 | 16083 | Has flag LOOK_NUL: yes |
| 16084 | 16084 | Has flag LOOK_CR: yes |
| @@ -16090,11 +16090,11 @@ | ||
| 16090 | 16090 | Has flag LOOK_INVALID: yes |
| 16091 | 16091 | Has flag LOOK_ODD: no |
| 16092 | 16092 | Has flag LOOK_SHORT: no} |
| 16093 | 16093 | |
| 16094 | 16094 | utf-check 1084 utf-check-1084-2-82-0.jnk \ |
| 16095 | -{File "%TEMP%/utf-check-1084-2-82-0.jnk" has 16390 bytes. | |
| 16095 | +{File "%TEMP%/utf-check-1084-2-82-0.jnk" has 65542 bytes. | |
| 16096 | 16096 | Starts with UTF-8 BOM: no |
| 16097 | 16097 | Starts with UTF-16 BOM: yes |
| 16098 | 16098 | Looks like UTF-16: no |
| 16099 | 16099 | Has flag LOOK_NUL: no |
| 16100 | 16100 | Has flag LOOK_CR: no |
| @@ -16106,11 +16106,11 @@ | ||
| 16106 | 16106 | Has flag LOOK_INVALID: no |
| 16107 | 16107 | Has flag LOOK_ODD: no |
| 16108 | 16108 | Has flag LOOK_SHORT: no} |
| 16109 | 16109 | |
| 16110 | 16110 | utf-check 1085 utf-check-1085-2-82-1.jnk \ |
| 16111 | -{File "%TEMP%/utf-check-1085-2-82-1.jnk" has 16391 bytes. | |
| 16111 | +{File "%TEMP%/utf-check-1085-2-82-1.jnk" has 65543 bytes. | |
| 16112 | 16112 | Starts with UTF-8 BOM: no |
| 16113 | 16113 | Starts with UTF-16 BOM: yes |
| 16114 | 16114 | Looks like UTF-8: no |
| 16115 | 16115 | Has flag LOOK_NUL: yes |
| 16116 | 16116 | Has flag LOOK_CR: no |
| @@ -16122,11 +16122,11 @@ | ||
| 16122 | 16122 | Has flag LOOK_INVALID: yes |
| 16123 | 16123 | Has flag LOOK_ODD: no |
| 16124 | 16124 | Has flag LOOK_SHORT: no} |
| 16125 | 16125 | |
| 16126 | 16126 | utf-check 1086 utf-check-1086-2-83-0.jnk \ |
| 16127 | -{File "%TEMP%/utf-check-1086-2-83-0.jnk" has 16392 bytes. | |
| 16127 | +{File "%TEMP%/utf-check-1086-2-83-0.jnk" has 65544 bytes. | |
| 16128 | 16128 | Starts with UTF-8 BOM: no |
| 16129 | 16129 | Starts with UTF-16 BOM: yes |
| 16130 | 16130 | Looks like UTF-16: no |
| 16131 | 16131 | Has flag LOOK_NUL: no |
| 16132 | 16132 | Has flag LOOK_CR: yes |
| @@ -16138,11 +16138,11 @@ | ||
| 16138 | 16138 | Has flag LOOK_INVALID: no |
| 16139 | 16139 | Has flag LOOK_ODD: no |
| 16140 | 16140 | Has flag LOOK_SHORT: no} |
| 16141 | 16141 | |
| 16142 | 16142 | utf-check 1087 utf-check-1087-2-83-1.jnk \ |
| 16143 | -{File "%TEMP%/utf-check-1087-2-83-1.jnk" has 16393 bytes. | |
| 16143 | +{File "%TEMP%/utf-check-1087-2-83-1.jnk" has 65545 bytes. | |
| 16144 | 16144 | Starts with UTF-8 BOM: no |
| 16145 | 16145 | Starts with UTF-16 BOM: yes |
| 16146 | 16146 | Looks like UTF-8: no |
| 16147 | 16147 | Has flag LOOK_NUL: yes |
| 16148 | 16148 | Has flag LOOK_CR: yes |
| @@ -16154,11 +16154,11 @@ | ||
| 16154 | 16154 | Has flag LOOK_INVALID: yes |
| 16155 | 16155 | Has flag LOOK_ODD: no |
| 16156 | 16156 | Has flag LOOK_SHORT: no} |
| 16157 | 16157 | |
| 16158 | 16158 | utf-check 1088 utf-check-1088-2-84-0.jnk \ |
| 16159 | -{File "%TEMP%/utf-check-1088-2-84-0.jnk" has 16394 bytes. | |
| 16159 | +{File "%TEMP%/utf-check-1088-2-84-0.jnk" has 65570 bytes. | |
| 16160 | 16160 | Starts with UTF-8 BOM: no |
| 16161 | 16161 | Starts with UTF-16 BOM: yes |
| 16162 | 16162 | Looks like UTF-16: no |
| 16163 | 16163 | Has flag LOOK_NUL: no |
| 16164 | 16164 | Has flag LOOK_CR: no |
| @@ -16170,11 +16170,11 @@ | ||
| 16170 | 16170 | Has flag LOOK_INVALID: no |
| 16171 | 16171 | Has flag LOOK_ODD: no |
| 16172 | 16172 | Has flag LOOK_SHORT: no} |
| 16173 | 16173 | |
| 16174 | 16174 | utf-check 1089 utf-check-1089-2-84-1.jnk \ |
| 16175 | -{File "%TEMP%/utf-check-1089-2-84-1.jnk" has 16395 bytes. | |
| 16175 | +{File "%TEMP%/utf-check-1089-2-84-1.jnk" has 65571 bytes. | |
| 16176 | 16176 | Starts with UTF-8 BOM: no |
| 16177 | 16177 | Starts with UTF-16 BOM: yes |
| 16178 | 16178 | Looks like UTF-8: no |
| 16179 | 16179 | Has flag LOOK_NUL: yes |
| 16180 | 16180 | Has flag LOOK_CR: no |
| @@ -16186,11 +16186,11 @@ | ||
| 16186 | 16186 | Has flag LOOK_INVALID: yes |
| 16187 | 16187 | Has flag LOOK_ODD: no |
| 16188 | 16188 | Has flag LOOK_SHORT: no} |
| 16189 | 16189 | |
| 16190 | 16190 | utf-check 1090 utf-check-1090-2-85-0.jnk \ |
| 16191 | -{File "%TEMP%/utf-check-1090-2-85-0.jnk" has 16396 bytes. | |
| 16191 | +{File "%TEMP%/utf-check-1090-2-85-0.jnk" has 65572 bytes. | |
| 16192 | 16192 | Starts with UTF-8 BOM: no |
| 16193 | 16193 | Starts with UTF-16 BOM: yes |
| 16194 | 16194 | Looks like UTF-16: no |
| 16195 | 16195 | Has flag LOOK_NUL: no |
| 16196 | 16196 | Has flag LOOK_CR: yes |
| @@ -16202,11 +16202,11 @@ | ||
| 16202 | 16202 | Has flag LOOK_INVALID: no |
| 16203 | 16203 | Has flag LOOK_ODD: no |
| 16204 | 16204 | Has flag LOOK_SHORT: no} |
| 16205 | 16205 | |
| 16206 | 16206 | utf-check 1091 utf-check-1091-2-85-1.jnk \ |
| 16207 | -{File "%TEMP%/utf-check-1091-2-85-1.jnk" has 16397 bytes. | |
| 16207 | +{File "%TEMP%/utf-check-1091-2-85-1.jnk" has 65573 bytes. | |
| 16208 | 16208 | Starts with UTF-8 BOM: no |
| 16209 | 16209 | Starts with UTF-16 BOM: yes |
| 16210 | 16210 | Looks like UTF-8: no |
| 16211 | 16211 | Has flag LOOK_NUL: yes |
| 16212 | 16212 | Has flag LOOK_CR: yes |
| @@ -16218,11 +16218,11 @@ | ||
| 16218 | 16218 | Has flag LOOK_INVALID: yes |
| 16219 | 16219 | Has flag LOOK_ODD: no |
| 16220 | 16220 | Has flag LOOK_SHORT: no} |
| 16221 | 16221 | |
| 16222 | 16222 | utf-check 1092 utf-check-1092-2-86-0.jnk \ |
| 16223 | -{File "%TEMP%/utf-check-1092-2-86-0.jnk" has 16396 bytes. | |
| 16223 | +{File "%TEMP%/utf-check-1092-2-86-0.jnk" has 65572 bytes. | |
| 16224 | 16224 | Starts with UTF-8 BOM: no |
| 16225 | 16225 | Starts with UTF-16 BOM: yes |
| 16226 | 16226 | Looks like UTF-16: no |
| 16227 | 16227 | Has flag LOOK_NUL: no |
| 16228 | 16228 | Has flag LOOK_CR: no |
| @@ -16234,11 +16234,11 @@ | ||
| 16234 | 16234 | Has flag LOOK_INVALID: no |
| 16235 | 16235 | Has flag LOOK_ODD: no |
| 16236 | 16236 | Has flag LOOK_SHORT: no} |
| 16237 | 16237 | |
| 16238 | 16238 | utf-check 1093 utf-check-1093-2-86-1.jnk \ |
| 16239 | -{File "%TEMP%/utf-check-1093-2-86-1.jnk" has 16397 bytes. | |
| 16239 | +{File "%TEMP%/utf-check-1093-2-86-1.jnk" has 65573 bytes. | |
| 16240 | 16240 | Starts with UTF-8 BOM: no |
| 16241 | 16241 | Starts with UTF-16 BOM: yes |
| 16242 | 16242 | Looks like UTF-8: no |
| 16243 | 16243 | Has flag LOOK_NUL: yes |
| 16244 | 16244 | Has flag LOOK_CR: no |
| @@ -16250,11 +16250,11 @@ | ||
| 16250 | 16250 | Has flag LOOK_INVALID: yes |
| 16251 | 16251 | Has flag LOOK_ODD: no |
| 16252 | 16252 | Has flag LOOK_SHORT: no} |
| 16253 | 16253 | |
| 16254 | 16254 | utf-check 1094 utf-check-1094-2-87-0.jnk \ |
| 16255 | -{File "%TEMP%/utf-check-1094-2-87-0.jnk" has 16398 bytes. | |
| 16255 | +{File "%TEMP%/utf-check-1094-2-87-0.jnk" has 65574 bytes. | |
| 16256 | 16256 | Starts with UTF-8 BOM: no |
| 16257 | 16257 | Starts with UTF-16 BOM: yes |
| 16258 | 16258 | Looks like UTF-16: no |
| 16259 | 16259 | Has flag LOOK_NUL: no |
| 16260 | 16260 | Has flag LOOK_CR: yes |
| @@ -16266,11 +16266,11 @@ | ||
| 16266 | 16266 | Has flag LOOK_INVALID: no |
| 16267 | 16267 | Has flag LOOK_ODD: no |
| 16268 | 16268 | Has flag LOOK_SHORT: no} |
| 16269 | 16269 | |
| 16270 | 16270 | utf-check 1095 utf-check-1095-2-87-1.jnk \ |
| 16271 | -{File "%TEMP%/utf-check-1095-2-87-1.jnk" has 16399 bytes. | |
| 16271 | +{File "%TEMP%/utf-check-1095-2-87-1.jnk" has 65575 bytes. | |
| 16272 | 16272 | Starts with UTF-8 BOM: no |
| 16273 | 16273 | Starts with UTF-16 BOM: yes |
| 16274 | 16274 | Looks like UTF-8: no |
| 16275 | 16275 | Has flag LOOK_NUL: yes |
| 16276 | 16276 | Has flag LOOK_CR: yes |
| @@ -16282,11 +16282,11 @@ | ||
| 16282 | 16282 | Has flag LOOK_INVALID: yes |
| 16283 | 16283 | Has flag LOOK_ODD: no |
| 16284 | 16284 | Has flag LOOK_SHORT: no} |
| 16285 | 16285 | |
| 16286 | 16286 | utf-check 1096 utf-check-1096-2-88-0.jnk \ |
| 16287 | -{File "%TEMP%/utf-check-1096-2-88-0.jnk" has 16390 bytes. | |
| 16287 | +{File "%TEMP%/utf-check-1096-2-88-0.jnk" has 65542 bytes. | |
| 16288 | 16288 | Starts with UTF-8 BOM: no |
| 16289 | 16289 | Starts with UTF-16 BOM: no |
| 16290 | 16290 | Looks like UTF-8: no |
| 16291 | 16291 | Has flag LOOK_NUL: yes |
| 16292 | 16292 | Has flag LOOK_CR: no |
| @@ -16298,11 +16298,11 @@ | ||
| 16298 | 16298 | Has flag LOOK_INVALID: yes |
| 16299 | 16299 | Has flag LOOK_ODD: no |
| 16300 | 16300 | Has flag LOOK_SHORT: no} |
| 16301 | 16301 | |
| 16302 | 16302 | utf-check 1097 utf-check-1097-2-88-1.jnk \ |
| 16303 | -{File "%TEMP%/utf-check-1097-2-88-1.jnk" has 16391 bytes. | |
| 16303 | +{File "%TEMP%/utf-check-1097-2-88-1.jnk" has 65543 bytes. | |
| 16304 | 16304 | Starts with UTF-8 BOM: no |
| 16305 | 16305 | Starts with UTF-16 BOM: no |
| 16306 | 16306 | Looks like UTF-8: no |
| 16307 | 16307 | Has flag LOOK_NUL: yes |
| 16308 | 16308 | Has flag LOOK_CR: no |
| @@ -16314,11 +16314,11 @@ | ||
| 16314 | 16314 | Has flag LOOK_INVALID: yes |
| 16315 | 16315 | Has flag LOOK_ODD: no |
| 16316 | 16316 | Has flag LOOK_SHORT: no} |
| 16317 | 16317 | |
| 16318 | 16318 | utf-check 1098 utf-check-1098-2-89-0.jnk \ |
| 16319 | -{File "%TEMP%/utf-check-1098-2-89-0.jnk" has 16392 bytes. | |
| 16319 | +{File "%TEMP%/utf-check-1098-2-89-0.jnk" has 65544 bytes. | |
| 16320 | 16320 | Starts with UTF-8 BOM: no |
| 16321 | 16321 | Starts with UTF-16 BOM: no |
| 16322 | 16322 | Looks like UTF-8: no |
| 16323 | 16323 | Has flag LOOK_NUL: yes |
| 16324 | 16324 | Has flag LOOK_CR: yes |
| @@ -16330,11 +16330,11 @@ | ||
| 16330 | 16330 | Has flag LOOK_INVALID: yes |
| 16331 | 16331 | Has flag LOOK_ODD: no |
| 16332 | 16332 | Has flag LOOK_SHORT: no} |
| 16333 | 16333 | |
| 16334 | 16334 | utf-check 1099 utf-check-1099-2-89-1.jnk \ |
| 16335 | -{File "%TEMP%/utf-check-1099-2-89-1.jnk" has 16393 bytes. | |
| 16335 | +{File "%TEMP%/utf-check-1099-2-89-1.jnk" has 65545 bytes. | |
| 16336 | 16336 | Starts with UTF-8 BOM: no |
| 16337 | 16337 | Starts with UTF-16 BOM: no |
| 16338 | 16338 | Looks like UTF-8: no |
| 16339 | 16339 | Has flag LOOK_NUL: yes |
| 16340 | 16340 | Has flag LOOK_CR: yes |
| @@ -16346,11 +16346,11 @@ | ||
| 16346 | 16346 | Has flag LOOK_INVALID: yes |
| 16347 | 16347 | Has flag LOOK_ODD: no |
| 16348 | 16348 | Has flag LOOK_SHORT: no} |
| 16349 | 16349 | |
| 16350 | 16350 | utf-check 1100 utf-check-1100-2-90-0.jnk \ |
| 16351 | -{File "%TEMP%/utf-check-1100-2-90-0.jnk" has 16392 bytes. | |
| 16351 | +{File "%TEMP%/utf-check-1100-2-90-0.jnk" has 65544 bytes. | |
| 16352 | 16352 | Starts with UTF-8 BOM: no |
| 16353 | 16353 | Starts with UTF-16 BOM: no |
| 16354 | 16354 | Looks like UTF-8: no |
| 16355 | 16355 | Has flag LOOK_NUL: yes |
| 16356 | 16356 | Has flag LOOK_CR: no |
| @@ -16362,11 +16362,11 @@ | ||
| 16362 | 16362 | Has flag LOOK_INVALID: yes |
| 16363 | 16363 | Has flag LOOK_ODD: no |
| 16364 | 16364 | Has flag LOOK_SHORT: no} |
| 16365 | 16365 | |
| 16366 | 16366 | utf-check 1101 utf-check-1101-2-90-1.jnk \ |
| 16367 | -{File "%TEMP%/utf-check-1101-2-90-1.jnk" has 16393 bytes. | |
| 16367 | +{File "%TEMP%/utf-check-1101-2-90-1.jnk" has 65545 bytes. | |
| 16368 | 16368 | Starts with UTF-8 BOM: no |
| 16369 | 16369 | Starts with UTF-16 BOM: no |
| 16370 | 16370 | Looks like UTF-8: no |
| 16371 | 16371 | Has flag LOOK_NUL: yes |
| 16372 | 16372 | Has flag LOOK_CR: no |
| @@ -16378,11 +16378,11 @@ | ||
| 16378 | 16378 | Has flag LOOK_INVALID: yes |
| 16379 | 16379 | Has flag LOOK_ODD: no |
| 16380 | 16380 | Has flag LOOK_SHORT: no} |
| 16381 | 16381 | |
| 16382 | 16382 | utf-check 1102 utf-check-1102-2-91-0.jnk \ |
| 16383 | -{File "%TEMP%/utf-check-1102-2-91-0.jnk" has 16394 bytes. | |
| 16383 | +{File "%TEMP%/utf-check-1102-2-91-0.jnk" has 65546 bytes. | |
| 16384 | 16384 | Starts with UTF-8 BOM: no |
| 16385 | 16385 | Starts with UTF-16 BOM: no |
| 16386 | 16386 | Looks like UTF-8: no |
| 16387 | 16387 | Has flag LOOK_NUL: yes |
| 16388 | 16388 | Has flag LOOK_CR: yes |
| @@ -16394,11 +16394,11 @@ | ||
| 16394 | 16394 | Has flag LOOK_INVALID: yes |
| 16395 | 16395 | Has flag LOOK_ODD: no |
| 16396 | 16396 | Has flag LOOK_SHORT: no} |
| 16397 | 16397 | |
| 16398 | 16398 | utf-check 1103 utf-check-1103-2-91-1.jnk \ |
| 16399 | -{File "%TEMP%/utf-check-1103-2-91-1.jnk" has 16395 bytes. | |
| 16399 | +{File "%TEMP%/utf-check-1103-2-91-1.jnk" has 65547 bytes. | |
| 16400 | 16400 | Starts with UTF-8 BOM: no |
| 16401 | 16401 | Starts with UTF-16 BOM: no |
| 16402 | 16402 | Looks like UTF-8: no |
| 16403 | 16403 | Has flag LOOK_NUL: yes |
| 16404 | 16404 | Has flag LOOK_CR: yes |
| @@ -16410,11 +16410,11 @@ | ||
| 16410 | 16410 | Has flag LOOK_INVALID: yes |
| 16411 | 16411 | Has flag LOOK_ODD: no |
| 16412 | 16412 | Has flag LOOK_SHORT: no} |
| 16413 | 16413 | |
| 16414 | 16414 | utf-check 1104 utf-check-1104-2-92-0.jnk \ |
| 16415 | -{File "%TEMP%/utf-check-1104-2-92-0.jnk" has 16396 bytes. | |
| 16415 | +{File "%TEMP%/utf-check-1104-2-92-0.jnk" has 65572 bytes. | |
| 16416 | 16416 | Starts with UTF-8 BOM: no |
| 16417 | 16417 | Starts with UTF-16 BOM: no |
| 16418 | 16418 | Looks like UTF-8: no |
| 16419 | 16419 | Has flag LOOK_NUL: yes |
| 16420 | 16420 | Has flag LOOK_CR: no |
| @@ -16426,11 +16426,11 @@ | ||
| 16426 | 16426 | Has flag LOOK_INVALID: yes |
| 16427 | 16427 | Has flag LOOK_ODD: no |
| 16428 | 16428 | Has flag LOOK_SHORT: no} |
| 16429 | 16429 | |
| 16430 | 16430 | utf-check 1105 utf-check-1105-2-92-1.jnk \ |
| 16431 | -{File "%TEMP%/utf-check-1105-2-92-1.jnk" has 16397 bytes. | |
| 16431 | +{File "%TEMP%/utf-check-1105-2-92-1.jnk" has 65573 bytes. | |
| 16432 | 16432 | Starts with UTF-8 BOM: no |
| 16433 | 16433 | Starts with UTF-16 BOM: no |
| 16434 | 16434 | Looks like UTF-8: no |
| 16435 | 16435 | Has flag LOOK_NUL: yes |
| 16436 | 16436 | Has flag LOOK_CR: no |
| @@ -16442,11 +16442,11 @@ | ||
| 16442 | 16442 | Has flag LOOK_INVALID: yes |
| 16443 | 16443 | Has flag LOOK_ODD: no |
| 16444 | 16444 | Has flag LOOK_SHORT: no} |
| 16445 | 16445 | |
| 16446 | 16446 | utf-check 1106 utf-check-1106-2-93-0.jnk \ |
| 16447 | -{File "%TEMP%/utf-check-1106-2-93-0.jnk" has 16398 bytes. | |
| 16447 | +{File "%TEMP%/utf-check-1106-2-93-0.jnk" has 65574 bytes. | |
| 16448 | 16448 | Starts with UTF-8 BOM: no |
| 16449 | 16449 | Starts with UTF-16 BOM: no |
| 16450 | 16450 | Looks like UTF-8: no |
| 16451 | 16451 | Has flag LOOK_NUL: yes |
| 16452 | 16452 | Has flag LOOK_CR: yes |
| @@ -16458,11 +16458,11 @@ | ||
| 16458 | 16458 | Has flag LOOK_INVALID: yes |
| 16459 | 16459 | Has flag LOOK_ODD: no |
| 16460 | 16460 | Has flag LOOK_SHORT: no} |
| 16461 | 16461 | |
| 16462 | 16462 | utf-check 1107 utf-check-1107-2-93-1.jnk \ |
| 16463 | -{File "%TEMP%/utf-check-1107-2-93-1.jnk" has 16399 bytes. | |
| 16463 | +{File "%TEMP%/utf-check-1107-2-93-1.jnk" has 65575 bytes. | |
| 16464 | 16464 | Starts with UTF-8 BOM: no |
| 16465 | 16465 | Starts with UTF-16 BOM: no |
| 16466 | 16466 | Looks like UTF-8: no |
| 16467 | 16467 | Has flag LOOK_NUL: yes |
| 16468 | 16468 | Has flag LOOK_CR: yes |
| @@ -16474,11 +16474,11 @@ | ||
| 16474 | 16474 | Has flag LOOK_INVALID: yes |
| 16475 | 16475 | Has flag LOOK_ODD: no |
| 16476 | 16476 | Has flag LOOK_SHORT: no} |
| 16477 | 16477 | |
| 16478 | 16478 | utf-check 1108 utf-check-1108-2-94-0.jnk \ |
| 16479 | -{File "%TEMP%/utf-check-1108-2-94-0.jnk" has 16398 bytes. | |
| 16479 | +{File "%TEMP%/utf-check-1108-2-94-0.jnk" has 65574 bytes. | |
| 16480 | 16480 | Starts with UTF-8 BOM: no |
| 16481 | 16481 | Starts with UTF-16 BOM: no |
| 16482 | 16482 | Looks like UTF-8: no |
| 16483 | 16483 | Has flag LOOK_NUL: yes |
| 16484 | 16484 | Has flag LOOK_CR: no |
| @@ -16490,11 +16490,11 @@ | ||
| 16490 | 16490 | Has flag LOOK_INVALID: yes |
| 16491 | 16491 | Has flag LOOK_ODD: no |
| 16492 | 16492 | Has flag LOOK_SHORT: no} |
| 16493 | 16493 | |
| 16494 | 16494 | utf-check 1109 utf-check-1109-2-94-1.jnk \ |
| 16495 | -{File "%TEMP%/utf-check-1109-2-94-1.jnk" has 16399 bytes. | |
| 16495 | +{File "%TEMP%/utf-check-1109-2-94-1.jnk" has 65575 bytes. | |
| 16496 | 16496 | Starts with UTF-8 BOM: no |
| 16497 | 16497 | Starts with UTF-16 BOM: no |
| 16498 | 16498 | Looks like UTF-8: no |
| 16499 | 16499 | Has flag LOOK_NUL: yes |
| 16500 | 16500 | Has flag LOOK_CR: no |
| @@ -16506,11 +16506,11 @@ | ||
| 16506 | 16506 | Has flag LOOK_INVALID: yes |
| 16507 | 16507 | Has flag LOOK_ODD: no |
| 16508 | 16508 | Has flag LOOK_SHORT: no} |
| 16509 | 16509 | |
| 16510 | 16510 | utf-check 1110 utf-check-1110-2-95-0.jnk \ |
| 16511 | -{File "%TEMP%/utf-check-1110-2-95-0.jnk" has 16400 bytes. | |
| 16511 | +{File "%TEMP%/utf-check-1110-2-95-0.jnk" has 65576 bytes. | |
| 16512 | 16512 | Starts with UTF-8 BOM: no |
| 16513 | 16513 | Starts with UTF-16 BOM: no |
| 16514 | 16514 | Looks like UTF-8: no |
| 16515 | 16515 | Has flag LOOK_NUL: yes |
| 16516 | 16516 | Has flag LOOK_CR: yes |
| @@ -16522,11 +16522,11 @@ | ||
| 16522 | 16522 | Has flag LOOK_INVALID: yes |
| 16523 | 16523 | Has flag LOOK_ODD: no |
| 16524 | 16524 | Has flag LOOK_SHORT: no} |
| 16525 | 16525 | |
| 16526 | 16526 | utf-check 1111 utf-check-1111-2-95-1.jnk \ |
| 16527 | -{File "%TEMP%/utf-check-1111-2-95-1.jnk" has 16401 bytes. | |
| 16527 | +{File "%TEMP%/utf-check-1111-2-95-1.jnk" has 65577 bytes. | |
| 16528 | 16528 | Starts with UTF-8 BOM: no |
| 16529 | 16529 | Starts with UTF-16 BOM: no |
| 16530 | 16530 | Looks like UTF-8: no |
| 16531 | 16531 | Has flag LOOK_NUL: yes |
| 16532 | 16532 | Has flag LOOK_CR: yes |
| @@ -16538,11 +16538,11 @@ | ||
| 16538 | 16538 | Has flag LOOK_INVALID: yes |
| 16539 | 16539 | Has flag LOOK_ODD: no |
| 16540 | 16540 | Has flag LOOK_SHORT: no} |
| 16541 | 16541 | |
| 16542 | 16542 | utf-check 1112 utf-check-1112-2-96-0.jnk \ |
| 16543 | -{File "%TEMP%/utf-check-1112-2-96-0.jnk" has 16390 bytes. | |
| 16543 | +{File "%TEMP%/utf-check-1112-2-96-0.jnk" has 65542 bytes. | |
| 16544 | 16544 | Starts with UTF-8 BOM: no |
| 16545 | 16545 | Starts with UTF-16 BOM: yes |
| 16546 | 16546 | Looks like UTF-16: no |
| 16547 | 16547 | Has flag LOOK_NUL: yes |
| 16548 | 16548 | Has flag LOOK_CR: no |
| @@ -16554,11 +16554,11 @@ | ||
| 16554 | 16554 | Has flag LOOK_INVALID: no |
| 16555 | 16555 | Has flag LOOK_ODD: no |
| 16556 | 16556 | Has flag LOOK_SHORT: no} |
| 16557 | 16557 | |
| 16558 | 16558 | utf-check 1113 utf-check-1113-2-96-1.jnk \ |
| 16559 | -{File "%TEMP%/utf-check-1113-2-96-1.jnk" has 16391 bytes. | |
| 16559 | +{File "%TEMP%/utf-check-1113-2-96-1.jnk" has 65543 bytes. | |
| 16560 | 16560 | Starts with UTF-8 BOM: no |
| 16561 | 16561 | Starts with UTF-16 BOM: yes |
| 16562 | 16562 | Looks like UTF-8: no |
| 16563 | 16563 | Has flag LOOK_NUL: yes |
| 16564 | 16564 | Has flag LOOK_CR: no |
| @@ -16570,11 +16570,11 @@ | ||
| 16570 | 16570 | Has flag LOOK_INVALID: yes |
| 16571 | 16571 | Has flag LOOK_ODD: no |
| 16572 | 16572 | Has flag LOOK_SHORT: no} |
| 16573 | 16573 | |
| 16574 | 16574 | utf-check 1114 utf-check-1114-2-97-0.jnk \ |
| 16575 | -{File "%TEMP%/utf-check-1114-2-97-0.jnk" has 16392 bytes. | |
| 16575 | +{File "%TEMP%/utf-check-1114-2-97-0.jnk" has 65544 bytes. | |
| 16576 | 16576 | Starts with UTF-8 BOM: no |
| 16577 | 16577 | Starts with UTF-16 BOM: yes |
| 16578 | 16578 | Looks like UTF-16: no |
| 16579 | 16579 | Has flag LOOK_NUL: yes |
| 16580 | 16580 | Has flag LOOK_CR: yes |
| @@ -16586,11 +16586,11 @@ | ||
| 16586 | 16586 | Has flag LOOK_INVALID: no |
| 16587 | 16587 | Has flag LOOK_ODD: no |
| 16588 | 16588 | Has flag LOOK_SHORT: no} |
| 16589 | 16589 | |
| 16590 | 16590 | utf-check 1115 utf-check-1115-2-97-1.jnk \ |
| 16591 | -{File "%TEMP%/utf-check-1115-2-97-1.jnk" has 16393 bytes. | |
| 16591 | +{File "%TEMP%/utf-check-1115-2-97-1.jnk" has 65545 bytes. | |
| 16592 | 16592 | Starts with UTF-8 BOM: no |
| 16593 | 16593 | Starts with UTF-16 BOM: yes |
| 16594 | 16594 | Looks like UTF-8: no |
| 16595 | 16595 | Has flag LOOK_NUL: yes |
| 16596 | 16596 | Has flag LOOK_CR: yes |
| @@ -16602,11 +16602,11 @@ | ||
| 16602 | 16602 | Has flag LOOK_INVALID: yes |
| 16603 | 16603 | Has flag LOOK_ODD: no |
| 16604 | 16604 | Has flag LOOK_SHORT: no} |
| 16605 | 16605 | |
| 16606 | 16606 | utf-check 1116 utf-check-1116-2-98-0.jnk \ |
| 16607 | -{File "%TEMP%/utf-check-1116-2-98-0.jnk" has 16392 bytes. | |
| 16607 | +{File "%TEMP%/utf-check-1116-2-98-0.jnk" has 65544 bytes. | |
| 16608 | 16608 | Starts with UTF-8 BOM: no |
| 16609 | 16609 | Starts with UTF-16 BOM: yes |
| 16610 | 16610 | Looks like UTF-16: no |
| 16611 | 16611 | Has flag LOOK_NUL: yes |
| 16612 | 16612 | Has flag LOOK_CR: no |
| @@ -16618,11 +16618,11 @@ | ||
| 16618 | 16618 | Has flag LOOK_INVALID: no |
| 16619 | 16619 | Has flag LOOK_ODD: no |
| 16620 | 16620 | Has flag LOOK_SHORT: no} |
| 16621 | 16621 | |
| 16622 | 16622 | utf-check 1117 utf-check-1117-2-98-1.jnk \ |
| 16623 | -{File "%TEMP%/utf-check-1117-2-98-1.jnk" has 16393 bytes. | |
| 16623 | +{File "%TEMP%/utf-check-1117-2-98-1.jnk" has 65545 bytes. | |
| 16624 | 16624 | Starts with UTF-8 BOM: no |
| 16625 | 16625 | Starts with UTF-16 BOM: yes |
| 16626 | 16626 | Looks like UTF-8: no |
| 16627 | 16627 | Has flag LOOK_NUL: yes |
| 16628 | 16628 | Has flag LOOK_CR: no |
| @@ -16634,11 +16634,11 @@ | ||
| 16634 | 16634 | Has flag LOOK_INVALID: yes |
| 16635 | 16635 | Has flag LOOK_ODD: no |
| 16636 | 16636 | Has flag LOOK_SHORT: no} |
| 16637 | 16637 | |
| 16638 | 16638 | utf-check 1118 utf-check-1118-2-99-0.jnk \ |
| 16639 | -{File "%TEMP%/utf-check-1118-2-99-0.jnk" has 16394 bytes. | |
| 16639 | +{File "%TEMP%/utf-check-1118-2-99-0.jnk" has 65546 bytes. | |
| 16640 | 16640 | Starts with UTF-8 BOM: no |
| 16641 | 16641 | Starts with UTF-16 BOM: yes |
| 16642 | 16642 | Looks like UTF-16: no |
| 16643 | 16643 | Has flag LOOK_NUL: yes |
| 16644 | 16644 | Has flag LOOK_CR: yes |
| @@ -16650,11 +16650,11 @@ | ||
| 16650 | 16650 | Has flag LOOK_INVALID: no |
| 16651 | 16651 | Has flag LOOK_ODD: no |
| 16652 | 16652 | Has flag LOOK_SHORT: no} |
| 16653 | 16653 | |
| 16654 | 16654 | utf-check 1119 utf-check-1119-2-99-1.jnk \ |
| 16655 | -{File "%TEMP%/utf-check-1119-2-99-1.jnk" has 16395 bytes. | |
| 16655 | +{File "%TEMP%/utf-check-1119-2-99-1.jnk" has 65547 bytes. | |
| 16656 | 16656 | Starts with UTF-8 BOM: no |
| 16657 | 16657 | Starts with UTF-16 BOM: yes |
| 16658 | 16658 | Looks like UTF-8: no |
| 16659 | 16659 | Has flag LOOK_NUL: yes |
| 16660 | 16660 | Has flag LOOK_CR: yes |
| @@ -16666,11 +16666,11 @@ | ||
| 16666 | 16666 | Has flag LOOK_INVALID: yes |
| 16667 | 16667 | Has flag LOOK_ODD: no |
| 16668 | 16668 | Has flag LOOK_SHORT: no} |
| 16669 | 16669 | |
| 16670 | 16670 | utf-check 1120 utf-check-1120-2-100-0.jnk \ |
| 16671 | -{File "%TEMP%/utf-check-1120-2-100-0.jnk" has 16396 bytes. | |
| 16671 | +{File "%TEMP%/utf-check-1120-2-100-0.jnk" has 65572 bytes. | |
| 16672 | 16672 | Starts with UTF-8 BOM: no |
| 16673 | 16673 | Starts with UTF-16 BOM: yes |
| 16674 | 16674 | Looks like UTF-16: no |
| 16675 | 16675 | Has flag LOOK_NUL: yes |
| 16676 | 16676 | Has flag LOOK_CR: no |
| @@ -16682,11 +16682,11 @@ | ||
| 16682 | 16682 | Has flag LOOK_INVALID: no |
| 16683 | 16683 | Has flag LOOK_ODD: no |
| 16684 | 16684 | Has flag LOOK_SHORT: no} |
| 16685 | 16685 | |
| 16686 | 16686 | utf-check 1121 utf-check-1121-2-100-1.jnk \ |
| 16687 | -{File "%TEMP%/utf-check-1121-2-100-1.jnk" has 16397 bytes. | |
| 16687 | +{File "%TEMP%/utf-check-1121-2-100-1.jnk" has 65573 bytes. | |
| 16688 | 16688 | Starts with UTF-8 BOM: no |
| 16689 | 16689 | Starts with UTF-16 BOM: yes |
| 16690 | 16690 | Looks like UTF-8: no |
| 16691 | 16691 | Has flag LOOK_NUL: yes |
| 16692 | 16692 | Has flag LOOK_CR: no |
| @@ -16698,11 +16698,11 @@ | ||
| 16698 | 16698 | Has flag LOOK_INVALID: yes |
| 16699 | 16699 | Has flag LOOK_ODD: no |
| 16700 | 16700 | Has flag LOOK_SHORT: no} |
| 16701 | 16701 | |
| 16702 | 16702 | utf-check 1122 utf-check-1122-2-101-0.jnk \ |
| 16703 | -{File "%TEMP%/utf-check-1122-2-101-0.jnk" has 16398 bytes. | |
| 16703 | +{File "%TEMP%/utf-check-1122-2-101-0.jnk" has 65574 bytes. | |
| 16704 | 16704 | Starts with UTF-8 BOM: no |
| 16705 | 16705 | Starts with UTF-16 BOM: yes |
| 16706 | 16706 | Looks like UTF-16: no |
| 16707 | 16707 | Has flag LOOK_NUL: yes |
| 16708 | 16708 | Has flag LOOK_CR: yes |
| @@ -16714,11 +16714,11 @@ | ||
| 16714 | 16714 | Has flag LOOK_INVALID: no |
| 16715 | 16715 | Has flag LOOK_ODD: no |
| 16716 | 16716 | Has flag LOOK_SHORT: no} |
| 16717 | 16717 | |
| 16718 | 16718 | utf-check 1123 utf-check-1123-2-101-1.jnk \ |
| 16719 | -{File "%TEMP%/utf-check-1123-2-101-1.jnk" has 16399 bytes. | |
| 16719 | +{File "%TEMP%/utf-check-1123-2-101-1.jnk" has 65575 bytes. | |
| 16720 | 16720 | Starts with UTF-8 BOM: no |
| 16721 | 16721 | Starts with UTF-16 BOM: yes |
| 16722 | 16722 | Looks like UTF-8: no |
| 16723 | 16723 | Has flag LOOK_NUL: yes |
| 16724 | 16724 | Has flag LOOK_CR: yes |
| @@ -16730,11 +16730,11 @@ | ||
| 16730 | 16730 | Has flag LOOK_INVALID: yes |
| 16731 | 16731 | Has flag LOOK_ODD: no |
| 16732 | 16732 | Has flag LOOK_SHORT: no} |
| 16733 | 16733 | |
| 16734 | 16734 | utf-check 1124 utf-check-1124-2-102-0.jnk \ |
| 16735 | -{File "%TEMP%/utf-check-1124-2-102-0.jnk" has 16398 bytes. | |
| 16735 | +{File "%TEMP%/utf-check-1124-2-102-0.jnk" has 65574 bytes. | |
| 16736 | 16736 | Starts with UTF-8 BOM: no |
| 16737 | 16737 | Starts with UTF-16 BOM: yes |
| 16738 | 16738 | Looks like UTF-16: no |
| 16739 | 16739 | Has flag LOOK_NUL: yes |
| 16740 | 16740 | Has flag LOOK_CR: no |
| @@ -16746,11 +16746,11 @@ | ||
| 16746 | 16746 | Has flag LOOK_INVALID: no |
| 16747 | 16747 | Has flag LOOK_ODD: no |
| 16748 | 16748 | Has flag LOOK_SHORT: no} |
| 16749 | 16749 | |
| 16750 | 16750 | utf-check 1125 utf-check-1125-2-102-1.jnk \ |
| 16751 | -{File "%TEMP%/utf-check-1125-2-102-1.jnk" has 16399 bytes. | |
| 16751 | +{File "%TEMP%/utf-check-1125-2-102-1.jnk" has 65575 bytes. | |
| 16752 | 16752 | Starts with UTF-8 BOM: no |
| 16753 | 16753 | Starts with UTF-16 BOM: yes |
| 16754 | 16754 | Looks like UTF-8: no |
| 16755 | 16755 | Has flag LOOK_NUL: yes |
| 16756 | 16756 | Has flag LOOK_CR: no |
| @@ -16762,11 +16762,11 @@ | ||
| 16762 | 16762 | Has flag LOOK_INVALID: yes |
| 16763 | 16763 | Has flag LOOK_ODD: no |
| 16764 | 16764 | Has flag LOOK_SHORT: no} |
| 16765 | 16765 | |
| 16766 | 16766 | utf-check 1126 utf-check-1126-2-103-0.jnk \ |
| 16767 | -{File "%TEMP%/utf-check-1126-2-103-0.jnk" has 16400 bytes. | |
| 16767 | +{File "%TEMP%/utf-check-1126-2-103-0.jnk" has 65576 bytes. | |
| 16768 | 16768 | Starts with UTF-8 BOM: no |
| 16769 | 16769 | Starts with UTF-16 BOM: yes |
| 16770 | 16770 | Looks like UTF-16: no |
| 16771 | 16771 | Has flag LOOK_NUL: yes |
| 16772 | 16772 | Has flag LOOK_CR: yes |
| @@ -16778,11 +16778,11 @@ | ||
| 16778 | 16778 | Has flag LOOK_INVALID: no |
| 16779 | 16779 | Has flag LOOK_ODD: no |
| 16780 | 16780 | Has flag LOOK_SHORT: no} |
| 16781 | 16781 | |
| 16782 | 16782 | utf-check 1127 utf-check-1127-2-103-1.jnk \ |
| 16783 | -{File "%TEMP%/utf-check-1127-2-103-1.jnk" has 16401 bytes. | |
| 16783 | +{File "%TEMP%/utf-check-1127-2-103-1.jnk" has 65577 bytes. | |
| 16784 | 16784 | Starts with UTF-8 BOM: no |
| 16785 | 16785 | Starts with UTF-16 BOM: yes |
| 16786 | 16786 | Looks like UTF-8: no |
| 16787 | 16787 | Has flag LOOK_NUL: yes |
| 16788 | 16788 | Has flag LOOK_CR: yes |
| @@ -16794,11 +16794,11 @@ | ||
| 16794 | 16794 | Has flag LOOK_INVALID: yes |
| 16795 | 16795 | Has flag LOOK_ODD: no |
| 16796 | 16796 | Has flag LOOK_SHORT: no} |
| 16797 | 16797 | |
| 16798 | 16798 | utf-check 1128 utf-check-1128-2-104-0.jnk \ |
| 16799 | -{File "%TEMP%/utf-check-1128-2-104-0.jnk" has 16392 bytes. | |
| 16799 | +{File "%TEMP%/utf-check-1128-2-104-0.jnk" has 65544 bytes. | |
| 16800 | 16800 | Starts with UTF-8 BOM: no |
| 16801 | 16801 | Starts with UTF-16 BOM: no |
| 16802 | 16802 | Looks like UTF-8: no |
| 16803 | 16803 | Has flag LOOK_NUL: yes |
| 16804 | 16804 | Has flag LOOK_CR: no |
| @@ -16810,11 +16810,11 @@ | ||
| 16810 | 16810 | Has flag LOOK_INVALID: yes |
| 16811 | 16811 | Has flag LOOK_ODD: no |
| 16812 | 16812 | Has flag LOOK_SHORT: no} |
| 16813 | 16813 | |
| 16814 | 16814 | utf-check 1129 utf-check-1129-2-104-1.jnk \ |
| 16815 | -{File "%TEMP%/utf-check-1129-2-104-1.jnk" has 16393 bytes. | |
| 16815 | +{File "%TEMP%/utf-check-1129-2-104-1.jnk" has 65545 bytes. | |
| 16816 | 16816 | Starts with UTF-8 BOM: no |
| 16817 | 16817 | Starts with UTF-16 BOM: no |
| 16818 | 16818 | Looks like UTF-8: no |
| 16819 | 16819 | Has flag LOOK_NUL: yes |
| 16820 | 16820 | Has flag LOOK_CR: no |
| @@ -16826,11 +16826,11 @@ | ||
| 16826 | 16826 | Has flag LOOK_INVALID: yes |
| 16827 | 16827 | Has flag LOOK_ODD: no |
| 16828 | 16828 | Has flag LOOK_SHORT: no} |
| 16829 | 16829 | |
| 16830 | 16830 | utf-check 1130 utf-check-1130-2-105-0.jnk \ |
| 16831 | -{File "%TEMP%/utf-check-1130-2-105-0.jnk" has 16394 bytes. | |
| 16831 | +{File "%TEMP%/utf-check-1130-2-105-0.jnk" has 65546 bytes. | |
| 16832 | 16832 | Starts with UTF-8 BOM: no |
| 16833 | 16833 | Starts with UTF-16 BOM: no |
| 16834 | 16834 | Looks like UTF-8: no |
| 16835 | 16835 | Has flag LOOK_NUL: yes |
| 16836 | 16836 | Has flag LOOK_CR: yes |
| @@ -16842,11 +16842,11 @@ | ||
| 16842 | 16842 | Has flag LOOK_INVALID: yes |
| 16843 | 16843 | Has flag LOOK_ODD: no |
| 16844 | 16844 | Has flag LOOK_SHORT: no} |
| 16845 | 16845 | |
| 16846 | 16846 | utf-check 1131 utf-check-1131-2-105-1.jnk \ |
| 16847 | -{File "%TEMP%/utf-check-1131-2-105-1.jnk" has 16395 bytes. | |
| 16847 | +{File "%TEMP%/utf-check-1131-2-105-1.jnk" has 65547 bytes. | |
| 16848 | 16848 | Starts with UTF-8 BOM: no |
| 16849 | 16849 | Starts with UTF-16 BOM: no |
| 16850 | 16850 | Looks like UTF-8: no |
| 16851 | 16851 | Has flag LOOK_NUL: yes |
| 16852 | 16852 | Has flag LOOK_CR: yes |
| @@ -16858,11 +16858,11 @@ | ||
| 16858 | 16858 | Has flag LOOK_INVALID: yes |
| 16859 | 16859 | Has flag LOOK_ODD: no |
| 16860 | 16860 | Has flag LOOK_SHORT: no} |
| 16861 | 16861 | |
| 16862 | 16862 | utf-check 1132 utf-check-1132-2-106-0.jnk \ |
| 16863 | -{File "%TEMP%/utf-check-1132-2-106-0.jnk" has 16394 bytes. | |
| 16863 | +{File "%TEMP%/utf-check-1132-2-106-0.jnk" has 65546 bytes. | |
| 16864 | 16864 | Starts with UTF-8 BOM: no |
| 16865 | 16865 | Starts with UTF-16 BOM: no |
| 16866 | 16866 | Looks like UTF-8: no |
| 16867 | 16867 | Has flag LOOK_NUL: yes |
| 16868 | 16868 | Has flag LOOK_CR: no |
| @@ -16874,11 +16874,11 @@ | ||
| 16874 | 16874 | Has flag LOOK_INVALID: yes |
| 16875 | 16875 | Has flag LOOK_ODD: no |
| 16876 | 16876 | Has flag LOOK_SHORT: no} |
| 16877 | 16877 | |
| 16878 | 16878 | utf-check 1133 utf-check-1133-2-106-1.jnk \ |
| 16879 | -{File "%TEMP%/utf-check-1133-2-106-1.jnk" has 16395 bytes. | |
| 16879 | +{File "%TEMP%/utf-check-1133-2-106-1.jnk" has 65547 bytes. | |
| 16880 | 16880 | Starts with UTF-8 BOM: no |
| 16881 | 16881 | Starts with UTF-16 BOM: no |
| 16882 | 16882 | Looks like UTF-8: no |
| 16883 | 16883 | Has flag LOOK_NUL: yes |
| 16884 | 16884 | Has flag LOOK_CR: no |
| @@ -16890,11 +16890,11 @@ | ||
| 16890 | 16890 | Has flag LOOK_INVALID: yes |
| 16891 | 16891 | Has flag LOOK_ODD: no |
| 16892 | 16892 | Has flag LOOK_SHORT: no} |
| 16893 | 16893 | |
| 16894 | 16894 | utf-check 1134 utf-check-1134-2-107-0.jnk \ |
| 16895 | -{File "%TEMP%/utf-check-1134-2-107-0.jnk" has 16396 bytes. | |
| 16895 | +{File "%TEMP%/utf-check-1134-2-107-0.jnk" has 65548 bytes. | |
| 16896 | 16896 | Starts with UTF-8 BOM: no |
| 16897 | 16897 | Starts with UTF-16 BOM: no |
| 16898 | 16898 | Looks like UTF-8: no |
| 16899 | 16899 | Has flag LOOK_NUL: yes |
| 16900 | 16900 | Has flag LOOK_CR: yes |
| @@ -16906,11 +16906,11 @@ | ||
| 16906 | 16906 | Has flag LOOK_INVALID: yes |
| 16907 | 16907 | Has flag LOOK_ODD: no |
| 16908 | 16908 | Has flag LOOK_SHORT: no} |
| 16909 | 16909 | |
| 16910 | 16910 | utf-check 1135 utf-check-1135-2-107-1.jnk \ |
| 16911 | -{File "%TEMP%/utf-check-1135-2-107-1.jnk" has 16397 bytes. | |
| 16911 | +{File "%TEMP%/utf-check-1135-2-107-1.jnk" has 65549 bytes. | |
| 16912 | 16912 | Starts with UTF-8 BOM: no |
| 16913 | 16913 | Starts with UTF-16 BOM: no |
| 16914 | 16914 | Looks like UTF-8: no |
| 16915 | 16915 | Has flag LOOK_NUL: yes |
| 16916 | 16916 | Has flag LOOK_CR: yes |
| @@ -16922,11 +16922,11 @@ | ||
| 16922 | 16922 | Has flag LOOK_INVALID: yes |
| 16923 | 16923 | Has flag LOOK_ODD: no |
| 16924 | 16924 | Has flag LOOK_SHORT: no} |
| 16925 | 16925 | |
| 16926 | 16926 | utf-check 1136 utf-check-1136-2-108-0.jnk \ |
| 16927 | -{File "%TEMP%/utf-check-1136-2-108-0.jnk" has 16398 bytes. | |
| 16927 | +{File "%TEMP%/utf-check-1136-2-108-0.jnk" has 65574 bytes. | |
| 16928 | 16928 | Starts with UTF-8 BOM: no |
| 16929 | 16929 | Starts with UTF-16 BOM: no |
| 16930 | 16930 | Looks like UTF-8: no |
| 16931 | 16931 | Has flag LOOK_NUL: yes |
| 16932 | 16932 | Has flag LOOK_CR: no |
| @@ -16938,11 +16938,11 @@ | ||
| 16938 | 16938 | Has flag LOOK_INVALID: yes |
| 16939 | 16939 | Has flag LOOK_ODD: no |
| 16940 | 16940 | Has flag LOOK_SHORT: no} |
| 16941 | 16941 | |
| 16942 | 16942 | utf-check 1137 utf-check-1137-2-108-1.jnk \ |
| 16943 | -{File "%TEMP%/utf-check-1137-2-108-1.jnk" has 16399 bytes. | |
| 16943 | +{File "%TEMP%/utf-check-1137-2-108-1.jnk" has 65575 bytes. | |
| 16944 | 16944 | Starts with UTF-8 BOM: no |
| 16945 | 16945 | Starts with UTF-16 BOM: no |
| 16946 | 16946 | Looks like UTF-8: no |
| 16947 | 16947 | Has flag LOOK_NUL: yes |
| 16948 | 16948 | Has flag LOOK_CR: no |
| @@ -16954,11 +16954,11 @@ | ||
| 16954 | 16954 | Has flag LOOK_INVALID: yes |
| 16955 | 16955 | Has flag LOOK_ODD: no |
| 16956 | 16956 | Has flag LOOK_SHORT: no} |
| 16957 | 16957 | |
| 16958 | 16958 | utf-check 1138 utf-check-1138-2-109-0.jnk \ |
| 16959 | -{File "%TEMP%/utf-check-1138-2-109-0.jnk" has 16400 bytes. | |
| 16959 | +{File "%TEMP%/utf-check-1138-2-109-0.jnk" has 65576 bytes. | |
| 16960 | 16960 | Starts with UTF-8 BOM: no |
| 16961 | 16961 | Starts with UTF-16 BOM: no |
| 16962 | 16962 | Looks like UTF-8: no |
| 16963 | 16963 | Has flag LOOK_NUL: yes |
| 16964 | 16964 | Has flag LOOK_CR: yes |
| @@ -16970,11 +16970,11 @@ | ||
| 16970 | 16970 | Has flag LOOK_INVALID: yes |
| 16971 | 16971 | Has flag LOOK_ODD: no |
| 16972 | 16972 | Has flag LOOK_SHORT: no} |
| 16973 | 16973 | |
| 16974 | 16974 | utf-check 1139 utf-check-1139-2-109-1.jnk \ |
| 16975 | -{File "%TEMP%/utf-check-1139-2-109-1.jnk" has 16401 bytes. | |
| 16975 | +{File "%TEMP%/utf-check-1139-2-109-1.jnk" has 65577 bytes. | |
| 16976 | 16976 | Starts with UTF-8 BOM: no |
| 16977 | 16977 | Starts with UTF-16 BOM: no |
| 16978 | 16978 | Looks like UTF-8: no |
| 16979 | 16979 | Has flag LOOK_NUL: yes |
| 16980 | 16980 | Has flag LOOK_CR: yes |
| @@ -16986,11 +16986,11 @@ | ||
| 16986 | 16986 | Has flag LOOK_INVALID: yes |
| 16987 | 16987 | Has flag LOOK_ODD: no |
| 16988 | 16988 | Has flag LOOK_SHORT: no} |
| 16989 | 16989 | |
| 16990 | 16990 | utf-check 1140 utf-check-1140-2-110-0.jnk \ |
| 16991 | -{File "%TEMP%/utf-check-1140-2-110-0.jnk" has 16400 bytes. | |
| 16991 | +{File "%TEMP%/utf-check-1140-2-110-0.jnk" has 65576 bytes. | |
| 16992 | 16992 | Starts with UTF-8 BOM: no |
| 16993 | 16993 | Starts with UTF-16 BOM: no |
| 16994 | 16994 | Looks like UTF-8: no |
| 16995 | 16995 | Has flag LOOK_NUL: yes |
| 16996 | 16996 | Has flag LOOK_CR: no |
| @@ -17002,11 +17002,11 @@ | ||
| 17002 | 17002 | Has flag LOOK_INVALID: yes |
| 17003 | 17003 | Has flag LOOK_ODD: no |
| 17004 | 17004 | Has flag LOOK_SHORT: no} |
| 17005 | 17005 | |
| 17006 | 17006 | utf-check 1141 utf-check-1141-2-110-1.jnk \ |
| 17007 | -{File "%TEMP%/utf-check-1141-2-110-1.jnk" has 16401 bytes. | |
| 17007 | +{File "%TEMP%/utf-check-1141-2-110-1.jnk" has 65577 bytes. | |
| 17008 | 17008 | Starts with UTF-8 BOM: no |
| 17009 | 17009 | Starts with UTF-16 BOM: no |
| 17010 | 17010 | Looks like UTF-8: no |
| 17011 | 17011 | Has flag LOOK_NUL: yes |
| 17012 | 17012 | Has flag LOOK_CR: no |
| @@ -17018,11 +17018,11 @@ | ||
| 17018 | 17018 | Has flag LOOK_INVALID: yes |
| 17019 | 17019 | Has flag LOOK_ODD: no |
| 17020 | 17020 | Has flag LOOK_SHORT: no} |
| 17021 | 17021 | |
| 17022 | 17022 | utf-check 1142 utf-check-1142-2-111-0.jnk \ |
| 17023 | -{File "%TEMP%/utf-check-1142-2-111-0.jnk" has 16402 bytes. | |
| 17023 | +{File "%TEMP%/utf-check-1142-2-111-0.jnk" has 65578 bytes. | |
| 17024 | 17024 | Starts with UTF-8 BOM: no |
| 17025 | 17025 | Starts with UTF-16 BOM: no |
| 17026 | 17026 | Looks like UTF-8: no |
| 17027 | 17027 | Has flag LOOK_NUL: yes |
| 17028 | 17028 | Has flag LOOK_CR: yes |
| @@ -17034,11 +17034,11 @@ | ||
| 17034 | 17034 | Has flag LOOK_INVALID: yes |
| 17035 | 17035 | Has flag LOOK_ODD: no |
| 17036 | 17036 | Has flag LOOK_SHORT: no} |
| 17037 | 17037 | |
| 17038 | 17038 | utf-check 1143 utf-check-1143-2-111-1.jnk \ |
| 17039 | -{File "%TEMP%/utf-check-1143-2-111-1.jnk" has 16403 bytes. | |
| 17039 | +{File "%TEMP%/utf-check-1143-2-111-1.jnk" has 65579 bytes. | |
| 17040 | 17040 | Starts with UTF-8 BOM: no |
| 17041 | 17041 | Starts with UTF-16 BOM: no |
| 17042 | 17042 | Looks like UTF-8: no |
| 17043 | 17043 | Has flag LOOK_NUL: yes |
| 17044 | 17044 | Has flag LOOK_CR: yes |
| @@ -22586,11 +22586,11 @@ | ||
| 22586 | 22586 | Has flag LOOK_INVALID: yes |
| 22587 | 22587 | Has flag LOOK_ODD: no |
| 22588 | 22588 | Has flag LOOK_SHORT: no} |
| 22589 | 22589 | |
| 22590 | 22590 | utf-check 1490 utf-check-1490-3-80-0.jnk \ |
| 22591 | -{File "%TEMP%/utf-check-1490-3-80-0.jnk" has 16388 bytes. | |
| 22591 | +{File "%TEMP%/utf-check-1490-3-80-0.jnk" has 65540 bytes. | |
| 22592 | 22592 | Starts with UTF-8 BOM: no |
| 22593 | 22593 | Starts with UTF-16 BOM: no |
| 22594 | 22594 | Looks like UTF-8: no |
| 22595 | 22595 | Has flag LOOK_NUL: yes |
| 22596 | 22596 | Has flag LOOK_CR: no |
| @@ -22602,11 +22602,11 @@ | ||
| 22602 | 22602 | Has flag LOOK_INVALID: yes |
| 22603 | 22603 | Has flag LOOK_ODD: no |
| 22604 | 22604 | Has flag LOOK_SHORT: no} |
| 22605 | 22605 | |
| 22606 | 22606 | utf-check 1491 utf-check-1491-3-80-1.jnk \ |
| 22607 | -{File "%TEMP%/utf-check-1491-3-80-1.jnk" has 16389 bytes. | |
| 22607 | +{File "%TEMP%/utf-check-1491-3-80-1.jnk" has 65541 bytes. | |
| 22608 | 22608 | Starts with UTF-8 BOM: no |
| 22609 | 22609 | Starts with UTF-16 BOM: no |
| 22610 | 22610 | Looks like UTF-8: no |
| 22611 | 22611 | Has flag LOOK_NUL: yes |
| 22612 | 22612 | Has flag LOOK_CR: no |
| @@ -22618,11 +22618,11 @@ | ||
| 22618 | 22618 | Has flag LOOK_INVALID: yes |
| 22619 | 22619 | Has flag LOOK_ODD: no |
| 22620 | 22620 | Has flag LOOK_SHORT: no} |
| 22621 | 22621 | |
| 22622 | 22622 | utf-check 1492 utf-check-1492-3-81-0.jnk \ |
| 22623 | -{File "%TEMP%/utf-check-1492-3-81-0.jnk" has 16390 bytes. | |
| 22623 | +{File "%TEMP%/utf-check-1492-3-81-0.jnk" has 65542 bytes. | |
| 22624 | 22624 | Starts with UTF-8 BOM: no |
| 22625 | 22625 | Starts with UTF-16 BOM: no |
| 22626 | 22626 | Looks like UTF-8: no |
| 22627 | 22627 | Has flag LOOK_NUL: yes |
| 22628 | 22628 | Has flag LOOK_CR: no |
| @@ -22634,11 +22634,11 @@ | ||
| 22634 | 22634 | Has flag LOOK_INVALID: yes |
| 22635 | 22635 | Has flag LOOK_ODD: no |
| 22636 | 22636 | Has flag LOOK_SHORT: no} |
| 22637 | 22637 | |
| 22638 | 22638 | utf-check 1493 utf-check-1493-3-81-1.jnk \ |
| 22639 | -{File "%TEMP%/utf-check-1493-3-81-1.jnk" has 16391 bytes. | |
| 22639 | +{File "%TEMP%/utf-check-1493-3-81-1.jnk" has 65543 bytes. | |
| 22640 | 22640 | Starts with UTF-8 BOM: no |
| 22641 | 22641 | Starts with UTF-16 BOM: no |
| 22642 | 22642 | Looks like UTF-8: no |
| 22643 | 22643 | Has flag LOOK_NUL: yes |
| 22644 | 22644 | Has flag LOOK_CR: no |
| @@ -22650,11 +22650,11 @@ | ||
| 22650 | 22650 | Has flag LOOK_INVALID: yes |
| 22651 | 22651 | Has flag LOOK_ODD: no |
| 22652 | 22652 | Has flag LOOK_SHORT: no} |
| 22653 | 22653 | |
| 22654 | 22654 | utf-check 1494 utf-check-1494-3-82-0.jnk \ |
| 22655 | -{File "%TEMP%/utf-check-1494-3-82-0.jnk" has 16390 bytes. | |
| 22655 | +{File "%TEMP%/utf-check-1494-3-82-0.jnk" has 65542 bytes. | |
| 22656 | 22656 | Starts with UTF-8 BOM: no |
| 22657 | 22657 | Starts with UTF-16 BOM: no |
| 22658 | 22658 | Looks like UTF-8: no |
| 22659 | 22659 | Has flag LOOK_NUL: yes |
| 22660 | 22660 | Has flag LOOK_CR: no |
| @@ -22666,11 +22666,11 @@ | ||
| 22666 | 22666 | Has flag LOOK_INVALID: yes |
| 22667 | 22667 | Has flag LOOK_ODD: no |
| 22668 | 22668 | Has flag LOOK_SHORT: no} |
| 22669 | 22669 | |
| 22670 | 22670 | utf-check 1495 utf-check-1495-3-82-1.jnk \ |
| 22671 | -{File "%TEMP%/utf-check-1495-3-82-1.jnk" has 16391 bytes. | |
| 22671 | +{File "%TEMP%/utf-check-1495-3-82-1.jnk" has 65543 bytes. | |
| 22672 | 22672 | Starts with UTF-8 BOM: no |
| 22673 | 22673 | Starts with UTF-16 BOM: no |
| 22674 | 22674 | Looks like UTF-8: no |
| 22675 | 22675 | Has flag LOOK_NUL: yes |
| 22676 | 22676 | Has flag LOOK_CR: no |
| @@ -22682,11 +22682,11 @@ | ||
| 22682 | 22682 | Has flag LOOK_INVALID: yes |
| 22683 | 22683 | Has flag LOOK_ODD: no |
| 22684 | 22684 | Has flag LOOK_SHORT: no} |
| 22685 | 22685 | |
| 22686 | 22686 | utf-check 1496 utf-check-1496-3-83-0.jnk \ |
| 22687 | -{File "%TEMP%/utf-check-1496-3-83-0.jnk" has 16392 bytes. | |
| 22687 | +{File "%TEMP%/utf-check-1496-3-83-0.jnk" has 65544 bytes. | |
| 22688 | 22688 | Starts with UTF-8 BOM: no |
| 22689 | 22689 | Starts with UTF-16 BOM: no |
| 22690 | 22690 | Looks like UTF-8: no |
| 22691 | 22691 | Has flag LOOK_NUL: yes |
| 22692 | 22692 | Has flag LOOK_CR: no |
| @@ -22698,11 +22698,11 @@ | ||
| 22698 | 22698 | Has flag LOOK_INVALID: yes |
| 22699 | 22699 | Has flag LOOK_ODD: no |
| 22700 | 22700 | Has flag LOOK_SHORT: no} |
| 22701 | 22701 | |
| 22702 | 22702 | utf-check 1497 utf-check-1497-3-83-1.jnk \ |
| 22703 | -{File "%TEMP%/utf-check-1497-3-83-1.jnk" has 16393 bytes. | |
| 22703 | +{File "%TEMP%/utf-check-1497-3-83-1.jnk" has 65545 bytes. | |
| 22704 | 22704 | Starts with UTF-8 BOM: no |
| 22705 | 22705 | Starts with UTF-16 BOM: no |
| 22706 | 22706 | Looks like UTF-8: no |
| 22707 | 22707 | Has flag LOOK_NUL: yes |
| 22708 | 22708 | Has flag LOOK_CR: no |
| @@ -22714,11 +22714,11 @@ | ||
| 22714 | 22714 | Has flag LOOK_INVALID: yes |
| 22715 | 22715 | Has flag LOOK_ODD: no |
| 22716 | 22716 | Has flag LOOK_SHORT: no} |
| 22717 | 22717 | |
| 22718 | 22718 | utf-check 1498 utf-check-1498-3-84-0.jnk \ |
| 22719 | -{File "%TEMP%/utf-check-1498-3-84-0.jnk" has 16394 bytes. | |
| 22719 | +{File "%TEMP%/utf-check-1498-3-84-0.jnk" has 65570 bytes. | |
| 22720 | 22720 | Starts with UTF-8 BOM: no |
| 22721 | 22721 | Starts with UTF-16 BOM: no |
| 22722 | 22722 | Looks like UTF-8: no |
| 22723 | 22723 | Has flag LOOK_NUL: yes |
| 22724 | 22724 | Has flag LOOK_CR: no |
| @@ -22730,11 +22730,11 @@ | ||
| 22730 | 22730 | Has flag LOOK_INVALID: yes |
| 22731 | 22731 | Has flag LOOK_ODD: no |
| 22732 | 22732 | Has flag LOOK_SHORT: no} |
| 22733 | 22733 | |
| 22734 | 22734 | utf-check 1499 utf-check-1499-3-84-1.jnk \ |
| 22735 | -{File "%TEMP%/utf-check-1499-3-84-1.jnk" has 16395 bytes. | |
| 22735 | +{File "%TEMP%/utf-check-1499-3-84-1.jnk" has 65571 bytes. | |
| 22736 | 22736 | Starts with UTF-8 BOM: no |
| 22737 | 22737 | Starts with UTF-16 BOM: no |
| 22738 | 22738 | Looks like UTF-8: no |
| 22739 | 22739 | Has flag LOOK_NUL: yes |
| 22740 | 22740 | Has flag LOOK_CR: no |
| @@ -22746,11 +22746,11 @@ | ||
| 22746 | 22746 | Has flag LOOK_INVALID: yes |
| 22747 | 22747 | Has flag LOOK_ODD: no |
| 22748 | 22748 | Has flag LOOK_SHORT: no} |
| 22749 | 22749 | |
| 22750 | 22750 | utf-check 1500 utf-check-1500-3-85-0.jnk \ |
| 22751 | -{File "%TEMP%/utf-check-1500-3-85-0.jnk" has 16396 bytes. | |
| 22751 | +{File "%TEMP%/utf-check-1500-3-85-0.jnk" has 65572 bytes. | |
| 22752 | 22752 | Starts with UTF-8 BOM: no |
| 22753 | 22753 | Starts with UTF-16 BOM: no |
| 22754 | 22754 | Looks like UTF-8: no |
| 22755 | 22755 | Has flag LOOK_NUL: yes |
| 22756 | 22756 | Has flag LOOK_CR: no |
| @@ -22762,11 +22762,11 @@ | ||
| 22762 | 22762 | Has flag LOOK_INVALID: yes |
| 22763 | 22763 | Has flag LOOK_ODD: no |
| 22764 | 22764 | Has flag LOOK_SHORT: no} |
| 22765 | 22765 | |
| 22766 | 22766 | utf-check 1501 utf-check-1501-3-85-1.jnk \ |
| 22767 | -{File "%TEMP%/utf-check-1501-3-85-1.jnk" has 16397 bytes. | |
| 22767 | +{File "%TEMP%/utf-check-1501-3-85-1.jnk" has 65573 bytes. | |
| 22768 | 22768 | Starts with UTF-8 BOM: no |
| 22769 | 22769 | Starts with UTF-16 BOM: no |
| 22770 | 22770 | Looks like UTF-8: no |
| 22771 | 22771 | Has flag LOOK_NUL: yes |
| 22772 | 22772 | Has flag LOOK_CR: no |
| @@ -22778,11 +22778,11 @@ | ||
| 22778 | 22778 | Has flag LOOK_INVALID: yes |
| 22779 | 22779 | Has flag LOOK_ODD: no |
| 22780 | 22780 | Has flag LOOK_SHORT: no} |
| 22781 | 22781 | |
| 22782 | 22782 | utf-check 1502 utf-check-1502-3-86-0.jnk \ |
| 22783 | -{File "%TEMP%/utf-check-1502-3-86-0.jnk" has 16396 bytes. | |
| 22783 | +{File "%TEMP%/utf-check-1502-3-86-0.jnk" has 65572 bytes. | |
| 22784 | 22784 | Starts with UTF-8 BOM: no |
| 22785 | 22785 | Starts with UTF-16 BOM: no |
| 22786 | 22786 | Looks like UTF-8: no |
| 22787 | 22787 | Has flag LOOK_NUL: yes |
| 22788 | 22788 | Has flag LOOK_CR: no |
| @@ -22794,11 +22794,11 @@ | ||
| 22794 | 22794 | Has flag LOOK_INVALID: yes |
| 22795 | 22795 | Has flag LOOK_ODD: no |
| 22796 | 22796 | Has flag LOOK_SHORT: no} |
| 22797 | 22797 | |
| 22798 | 22798 | utf-check 1503 utf-check-1503-3-86-1.jnk \ |
| 22799 | -{File "%TEMP%/utf-check-1503-3-86-1.jnk" has 16397 bytes. | |
| 22799 | +{File "%TEMP%/utf-check-1503-3-86-1.jnk" has 65573 bytes. | |
| 22800 | 22800 | Starts with UTF-8 BOM: no |
| 22801 | 22801 | Starts with UTF-16 BOM: no |
| 22802 | 22802 | Looks like UTF-8: no |
| 22803 | 22803 | Has flag LOOK_NUL: yes |
| 22804 | 22804 | Has flag LOOK_CR: no |
| @@ -22810,11 +22810,11 @@ | ||
| 22810 | 22810 | Has flag LOOK_INVALID: yes |
| 22811 | 22811 | Has flag LOOK_ODD: no |
| 22812 | 22812 | Has flag LOOK_SHORT: no} |
| 22813 | 22813 | |
| 22814 | 22814 | utf-check 1504 utf-check-1504-3-87-0.jnk \ |
| 22815 | -{File "%TEMP%/utf-check-1504-3-87-0.jnk" has 16398 bytes. | |
| 22815 | +{File "%TEMP%/utf-check-1504-3-87-0.jnk" has 65574 bytes. | |
| 22816 | 22816 | Starts with UTF-8 BOM: no |
| 22817 | 22817 | Starts with UTF-16 BOM: no |
| 22818 | 22818 | Looks like UTF-8: no |
| 22819 | 22819 | Has flag LOOK_NUL: yes |
| 22820 | 22820 | Has flag LOOK_CR: no |
| @@ -22826,11 +22826,11 @@ | ||
| 22826 | 22826 | Has flag LOOK_INVALID: yes |
| 22827 | 22827 | Has flag LOOK_ODD: no |
| 22828 | 22828 | Has flag LOOK_SHORT: no} |
| 22829 | 22829 | |
| 22830 | 22830 | utf-check 1505 utf-check-1505-3-87-1.jnk \ |
| 22831 | -{File "%TEMP%/utf-check-1505-3-87-1.jnk" has 16399 bytes. | |
| 22831 | +{File "%TEMP%/utf-check-1505-3-87-1.jnk" has 65575 bytes. | |
| 22832 | 22832 | Starts with UTF-8 BOM: no |
| 22833 | 22833 | Starts with UTF-16 BOM: no |
| 22834 | 22834 | Looks like UTF-8: no |
| 22835 | 22835 | Has flag LOOK_NUL: yes |
| 22836 | 22836 | Has flag LOOK_CR: no |
| @@ -22842,11 +22842,11 @@ | ||
| 22842 | 22842 | Has flag LOOK_INVALID: yes |
| 22843 | 22843 | Has flag LOOK_ODD: no |
| 22844 | 22844 | Has flag LOOK_SHORT: no} |
| 22845 | 22845 | |
| 22846 | 22846 | utf-check 1506 utf-check-1506-3-88-0.jnk \ |
| 22847 | -{File "%TEMP%/utf-check-1506-3-88-0.jnk" has 16390 bytes. | |
| 22847 | +{File "%TEMP%/utf-check-1506-3-88-0.jnk" has 65542 bytes. | |
| 22848 | 22848 | Starts with UTF-8 BOM: no |
| 22849 | 22849 | Starts with UTF-16 BOM: no |
| 22850 | 22850 | Looks like UTF-8: no |
| 22851 | 22851 | Has flag LOOK_NUL: yes |
| 22852 | 22852 | Has flag LOOK_CR: no |
| @@ -22858,11 +22858,11 @@ | ||
| 22858 | 22858 | Has flag LOOK_INVALID: yes |
| 22859 | 22859 | Has flag LOOK_ODD: no |
| 22860 | 22860 | Has flag LOOK_SHORT: no} |
| 22861 | 22861 | |
| 22862 | 22862 | utf-check 1507 utf-check-1507-3-88-1.jnk \ |
| 22863 | -{File "%TEMP%/utf-check-1507-3-88-1.jnk" has 16391 bytes. | |
| 22863 | +{File "%TEMP%/utf-check-1507-3-88-1.jnk" has 65543 bytes. | |
| 22864 | 22864 | Starts with UTF-8 BOM: no |
| 22865 | 22865 | Starts with UTF-16 BOM: no |
| 22866 | 22866 | Looks like UTF-8: no |
| 22867 | 22867 | Has flag LOOK_NUL: yes |
| 22868 | 22868 | Has flag LOOK_CR: no |
| @@ -22874,11 +22874,11 @@ | ||
| 22874 | 22874 | Has flag LOOK_INVALID: yes |
| 22875 | 22875 | Has flag LOOK_ODD: no |
| 22876 | 22876 | Has flag LOOK_SHORT: no} |
| 22877 | 22877 | |
| 22878 | 22878 | utf-check 1508 utf-check-1508-3-89-0.jnk \ |
| 22879 | -{File "%TEMP%/utf-check-1508-3-89-0.jnk" has 16392 bytes. | |
| 22879 | +{File "%TEMP%/utf-check-1508-3-89-0.jnk" has 65544 bytes. | |
| 22880 | 22880 | Starts with UTF-8 BOM: no |
| 22881 | 22881 | Starts with UTF-16 BOM: no |
| 22882 | 22882 | Looks like UTF-8: no |
| 22883 | 22883 | Has flag LOOK_NUL: yes |
| 22884 | 22884 | Has flag LOOK_CR: no |
| @@ -22890,11 +22890,11 @@ | ||
| 22890 | 22890 | Has flag LOOK_INVALID: yes |
| 22891 | 22891 | Has flag LOOK_ODD: no |
| 22892 | 22892 | Has flag LOOK_SHORT: no} |
| 22893 | 22893 | |
| 22894 | 22894 | utf-check 1509 utf-check-1509-3-89-1.jnk \ |
| 22895 | -{File "%TEMP%/utf-check-1509-3-89-1.jnk" has 16393 bytes. | |
| 22895 | +{File "%TEMP%/utf-check-1509-3-89-1.jnk" has 65545 bytes. | |
| 22896 | 22896 | Starts with UTF-8 BOM: no |
| 22897 | 22897 | Starts with UTF-16 BOM: no |
| 22898 | 22898 | Looks like UTF-8: no |
| 22899 | 22899 | Has flag LOOK_NUL: yes |
| 22900 | 22900 | Has flag LOOK_CR: no |
| @@ -22906,11 +22906,11 @@ | ||
| 22906 | 22906 | Has flag LOOK_INVALID: yes |
| 22907 | 22907 | Has flag LOOK_ODD: no |
| 22908 | 22908 | Has flag LOOK_SHORT: no} |
| 22909 | 22909 | |
| 22910 | 22910 | utf-check 1510 utf-check-1510-3-90-0.jnk \ |
| 22911 | -{File "%TEMP%/utf-check-1510-3-90-0.jnk" has 16392 bytes. | |
| 22911 | +{File "%TEMP%/utf-check-1510-3-90-0.jnk" has 65544 bytes. | |
| 22912 | 22912 | Starts with UTF-8 BOM: no |
| 22913 | 22913 | Starts with UTF-16 BOM: no |
| 22914 | 22914 | Looks like UTF-8: no |
| 22915 | 22915 | Has flag LOOK_NUL: yes |
| 22916 | 22916 | Has flag LOOK_CR: no |
| @@ -22922,11 +22922,11 @@ | ||
| 22922 | 22922 | Has flag LOOK_INVALID: yes |
| 22923 | 22923 | Has flag LOOK_ODD: no |
| 22924 | 22924 | Has flag LOOK_SHORT: no} |
| 22925 | 22925 | |
| 22926 | 22926 | utf-check 1511 utf-check-1511-3-90-1.jnk \ |
| 22927 | -{File "%TEMP%/utf-check-1511-3-90-1.jnk" has 16393 bytes. | |
| 22927 | +{File "%TEMP%/utf-check-1511-3-90-1.jnk" has 65545 bytes. | |
| 22928 | 22928 | Starts with UTF-8 BOM: no |
| 22929 | 22929 | Starts with UTF-16 BOM: no |
| 22930 | 22930 | Looks like UTF-8: no |
| 22931 | 22931 | Has flag LOOK_NUL: yes |
| 22932 | 22932 | Has flag LOOK_CR: no |
| @@ -22938,11 +22938,11 @@ | ||
| 22938 | 22938 | Has flag LOOK_INVALID: yes |
| 22939 | 22939 | Has flag LOOK_ODD: no |
| 22940 | 22940 | Has flag LOOK_SHORT: no} |
| 22941 | 22941 | |
| 22942 | 22942 | utf-check 1512 utf-check-1512-3-91-0.jnk \ |
| 22943 | -{File "%TEMP%/utf-check-1512-3-91-0.jnk" has 16394 bytes. | |
| 22943 | +{File "%TEMP%/utf-check-1512-3-91-0.jnk" has 65546 bytes. | |
| 22944 | 22944 | Starts with UTF-8 BOM: no |
| 22945 | 22945 | Starts with UTF-16 BOM: no |
| 22946 | 22946 | Looks like UTF-8: no |
| 22947 | 22947 | Has flag LOOK_NUL: yes |
| 22948 | 22948 | Has flag LOOK_CR: no |
| @@ -22954,11 +22954,11 @@ | ||
| 22954 | 22954 | Has flag LOOK_INVALID: yes |
| 22955 | 22955 | Has flag LOOK_ODD: no |
| 22956 | 22956 | Has flag LOOK_SHORT: no} |
| 22957 | 22957 | |
| 22958 | 22958 | utf-check 1513 utf-check-1513-3-91-1.jnk \ |
| 22959 | -{File "%TEMP%/utf-check-1513-3-91-1.jnk" has 16395 bytes. | |
| 22959 | +{File "%TEMP%/utf-check-1513-3-91-1.jnk" has 65547 bytes. | |
| 22960 | 22960 | Starts with UTF-8 BOM: no |
| 22961 | 22961 | Starts with UTF-16 BOM: no |
| 22962 | 22962 | Looks like UTF-8: no |
| 22963 | 22963 | Has flag LOOK_NUL: yes |
| 22964 | 22964 | Has flag LOOK_CR: no |
| @@ -22970,11 +22970,11 @@ | ||
| 22970 | 22970 | Has flag LOOK_INVALID: yes |
| 22971 | 22971 | Has flag LOOK_ODD: no |
| 22972 | 22972 | Has flag LOOK_SHORT: no} |
| 22973 | 22973 | |
| 22974 | 22974 | utf-check 1514 utf-check-1514-3-92-0.jnk \ |
| 22975 | -{File "%TEMP%/utf-check-1514-3-92-0.jnk" has 16396 bytes. | |
| 22975 | +{File "%TEMP%/utf-check-1514-3-92-0.jnk" has 65572 bytes. | |
| 22976 | 22976 | Starts with UTF-8 BOM: no |
| 22977 | 22977 | Starts with UTF-16 BOM: no |
| 22978 | 22978 | Looks like UTF-8: no |
| 22979 | 22979 | Has flag LOOK_NUL: yes |
| 22980 | 22980 | Has flag LOOK_CR: no |
| @@ -22986,11 +22986,11 @@ | ||
| 22986 | 22986 | Has flag LOOK_INVALID: yes |
| 22987 | 22987 | Has flag LOOK_ODD: no |
| 22988 | 22988 | Has flag LOOK_SHORT: no} |
| 22989 | 22989 | |
| 22990 | 22990 | utf-check 1515 utf-check-1515-3-92-1.jnk \ |
| 22991 | -{File "%TEMP%/utf-check-1515-3-92-1.jnk" has 16397 bytes. | |
| 22991 | +{File "%TEMP%/utf-check-1515-3-92-1.jnk" has 65573 bytes. | |
| 22992 | 22992 | Starts with UTF-8 BOM: no |
| 22993 | 22993 | Starts with UTF-16 BOM: no |
| 22994 | 22994 | Looks like UTF-8: no |
| 22995 | 22995 | Has flag LOOK_NUL: yes |
| 22996 | 22996 | Has flag LOOK_CR: no |
| @@ -23002,11 +23002,11 @@ | ||
| 23002 | 23002 | Has flag LOOK_INVALID: yes |
| 23003 | 23003 | Has flag LOOK_ODD: no |
| 23004 | 23004 | Has flag LOOK_SHORT: no} |
| 23005 | 23005 | |
| 23006 | 23006 | utf-check 1516 utf-check-1516-3-93-0.jnk \ |
| 23007 | -{File "%TEMP%/utf-check-1516-3-93-0.jnk" has 16398 bytes. | |
| 23007 | +{File "%TEMP%/utf-check-1516-3-93-0.jnk" has 65574 bytes. | |
| 23008 | 23008 | Starts with UTF-8 BOM: no |
| 23009 | 23009 | Starts with UTF-16 BOM: no |
| 23010 | 23010 | Looks like UTF-8: no |
| 23011 | 23011 | Has flag LOOK_NUL: yes |
| 23012 | 23012 | Has flag LOOK_CR: no |
| @@ -23018,11 +23018,11 @@ | ||
| 23018 | 23018 | Has flag LOOK_INVALID: yes |
| 23019 | 23019 | Has flag LOOK_ODD: no |
| 23020 | 23020 | Has flag LOOK_SHORT: no} |
| 23021 | 23021 | |
| 23022 | 23022 | utf-check 1517 utf-check-1517-3-93-1.jnk \ |
| 23023 | -{File "%TEMP%/utf-check-1517-3-93-1.jnk" has 16399 bytes. | |
| 23023 | +{File "%TEMP%/utf-check-1517-3-93-1.jnk" has 65575 bytes. | |
| 23024 | 23024 | Starts with UTF-8 BOM: no |
| 23025 | 23025 | Starts with UTF-16 BOM: no |
| 23026 | 23026 | Looks like UTF-8: no |
| 23027 | 23027 | Has flag LOOK_NUL: yes |
| 23028 | 23028 | Has flag LOOK_CR: no |
| @@ -23034,11 +23034,11 @@ | ||
| 23034 | 23034 | Has flag LOOK_INVALID: yes |
| 23035 | 23035 | Has flag LOOK_ODD: no |
| 23036 | 23036 | Has flag LOOK_SHORT: no} |
| 23037 | 23037 | |
| 23038 | 23038 | utf-check 1518 utf-check-1518-3-94-0.jnk \ |
| 23039 | -{File "%TEMP%/utf-check-1518-3-94-0.jnk" has 16398 bytes. | |
| 23039 | +{File "%TEMP%/utf-check-1518-3-94-0.jnk" has 65574 bytes. | |
| 23040 | 23040 | Starts with UTF-8 BOM: no |
| 23041 | 23041 | Starts with UTF-16 BOM: no |
| 23042 | 23042 | Looks like UTF-8: no |
| 23043 | 23043 | Has flag LOOK_NUL: yes |
| 23044 | 23044 | Has flag LOOK_CR: no |
| @@ -23050,11 +23050,11 @@ | ||
| 23050 | 23050 | Has flag LOOK_INVALID: yes |
| 23051 | 23051 | Has flag LOOK_ODD: no |
| 23052 | 23052 | Has flag LOOK_SHORT: no} |
| 23053 | 23053 | |
| 23054 | 23054 | utf-check 1519 utf-check-1519-3-94-1.jnk \ |
| 23055 | -{File "%TEMP%/utf-check-1519-3-94-1.jnk" has 16399 bytes. | |
| 23055 | +{File "%TEMP%/utf-check-1519-3-94-1.jnk" has 65575 bytes. | |
| 23056 | 23056 | Starts with UTF-8 BOM: no |
| 23057 | 23057 | Starts with UTF-16 BOM: no |
| 23058 | 23058 | Looks like UTF-8: no |
| 23059 | 23059 | Has flag LOOK_NUL: yes |
| 23060 | 23060 | Has flag LOOK_CR: no |
| @@ -23066,11 +23066,11 @@ | ||
| 23066 | 23066 | Has flag LOOK_INVALID: yes |
| 23067 | 23067 | Has flag LOOK_ODD: no |
| 23068 | 23068 | Has flag LOOK_SHORT: no} |
| 23069 | 23069 | |
| 23070 | 23070 | utf-check 1520 utf-check-1520-3-95-0.jnk \ |
| 23071 | -{File "%TEMP%/utf-check-1520-3-95-0.jnk" has 16400 bytes. | |
| 23071 | +{File "%TEMP%/utf-check-1520-3-95-0.jnk" has 65576 bytes. | |
| 23072 | 23072 | Starts with UTF-8 BOM: no |
| 23073 | 23073 | Starts with UTF-16 BOM: no |
| 23074 | 23074 | Looks like UTF-8: no |
| 23075 | 23075 | Has flag LOOK_NUL: yes |
| 23076 | 23076 | Has flag LOOK_CR: no |
| @@ -23082,11 +23082,11 @@ | ||
| 23082 | 23082 | Has flag LOOK_INVALID: yes |
| 23083 | 23083 | Has flag LOOK_ODD: no |
| 23084 | 23084 | Has flag LOOK_SHORT: no} |
| 23085 | 23085 | |
| 23086 | 23086 | utf-check 1521 utf-check-1521-3-95-1.jnk \ |
| 23087 | -{File "%TEMP%/utf-check-1521-3-95-1.jnk" has 16401 bytes. | |
| 23087 | +{File "%TEMP%/utf-check-1521-3-95-1.jnk" has 65577 bytes. | |
| 23088 | 23088 | Starts with UTF-8 BOM: no |
| 23089 | 23089 | Starts with UTF-16 BOM: no |
| 23090 | 23090 | Looks like UTF-8: no |
| 23091 | 23091 | Has flag LOOK_NUL: yes |
| 23092 | 23092 | Has flag LOOK_CR: no |
| @@ -23098,11 +23098,11 @@ | ||
| 23098 | 23098 | Has flag LOOK_INVALID: yes |
| 23099 | 23099 | Has flag LOOK_ODD: no |
| 23100 | 23100 | Has flag LOOK_SHORT: no} |
| 23101 | 23101 | |
| 23102 | 23102 | utf-check 1522 utf-check-1522-3-96-0.jnk \ |
| 23103 | -{File "%TEMP%/utf-check-1522-3-96-0.jnk" has 16390 bytes. | |
| 23103 | +{File "%TEMP%/utf-check-1522-3-96-0.jnk" has 65542 bytes. | |
| 23104 | 23104 | Starts with UTF-8 BOM: no |
| 23105 | 23105 | Starts with UTF-16 BOM: no |
| 23106 | 23106 | Looks like UTF-8: no |
| 23107 | 23107 | Has flag LOOK_NUL: yes |
| 23108 | 23108 | Has flag LOOK_CR: no |
| @@ -23114,11 +23114,11 @@ | ||
| 23114 | 23114 | Has flag LOOK_INVALID: yes |
| 23115 | 23115 | Has flag LOOK_ODD: no |
| 23116 | 23116 | Has flag LOOK_SHORT: no} |
| 23117 | 23117 | |
| 23118 | 23118 | utf-check 1523 utf-check-1523-3-96-1.jnk \ |
| 23119 | -{File "%TEMP%/utf-check-1523-3-96-1.jnk" has 16391 bytes. | |
| 23119 | +{File "%TEMP%/utf-check-1523-3-96-1.jnk" has 65543 bytes. | |
| 23120 | 23120 | Starts with UTF-8 BOM: no |
| 23121 | 23121 | Starts with UTF-16 BOM: no |
| 23122 | 23122 | Looks like UTF-8: no |
| 23123 | 23123 | Has flag LOOK_NUL: yes |
| 23124 | 23124 | Has flag LOOK_CR: no |
| @@ -23130,11 +23130,11 @@ | ||
| 23130 | 23130 | Has flag LOOK_INVALID: yes |
| 23131 | 23131 | Has flag LOOK_ODD: no |
| 23132 | 23132 | Has flag LOOK_SHORT: no} |
| 23133 | 23133 | |
| 23134 | 23134 | utf-check 1524 utf-check-1524-3-97-0.jnk \ |
| 23135 | -{File "%TEMP%/utf-check-1524-3-97-0.jnk" has 16392 bytes. | |
| 23135 | +{File "%TEMP%/utf-check-1524-3-97-0.jnk" has 65544 bytes. | |
| 23136 | 23136 | Starts with UTF-8 BOM: no |
| 23137 | 23137 | Starts with UTF-16 BOM: no |
| 23138 | 23138 | Looks like UTF-8: no |
| 23139 | 23139 | Has flag LOOK_NUL: yes |
| 23140 | 23140 | Has flag LOOK_CR: no |
| @@ -23146,11 +23146,11 @@ | ||
| 23146 | 23146 | Has flag LOOK_INVALID: yes |
| 23147 | 23147 | Has flag LOOK_ODD: no |
| 23148 | 23148 | Has flag LOOK_SHORT: no} |
| 23149 | 23149 | |
| 23150 | 23150 | utf-check 1525 utf-check-1525-3-97-1.jnk \ |
| 23151 | -{File "%TEMP%/utf-check-1525-3-97-1.jnk" has 16393 bytes. | |
| 23151 | +{File "%TEMP%/utf-check-1525-3-97-1.jnk" has 65545 bytes. | |
| 23152 | 23152 | Starts with UTF-8 BOM: no |
| 23153 | 23153 | Starts with UTF-16 BOM: no |
| 23154 | 23154 | Looks like UTF-8: no |
| 23155 | 23155 | Has flag LOOK_NUL: yes |
| 23156 | 23156 | Has flag LOOK_CR: no |
| @@ -23162,11 +23162,11 @@ | ||
| 23162 | 23162 | Has flag LOOK_INVALID: yes |
| 23163 | 23163 | Has flag LOOK_ODD: no |
| 23164 | 23164 | Has flag LOOK_SHORT: no} |
| 23165 | 23165 | |
| 23166 | 23166 | utf-check 1526 utf-check-1526-3-98-0.jnk \ |
| 23167 | -{File "%TEMP%/utf-check-1526-3-98-0.jnk" has 16392 bytes. | |
| 23167 | +{File "%TEMP%/utf-check-1526-3-98-0.jnk" has 65544 bytes. | |
| 23168 | 23168 | Starts with UTF-8 BOM: no |
| 23169 | 23169 | Starts with UTF-16 BOM: no |
| 23170 | 23170 | Looks like UTF-8: no |
| 23171 | 23171 | Has flag LOOK_NUL: yes |
| 23172 | 23172 | Has flag LOOK_CR: no |
| @@ -23178,11 +23178,11 @@ | ||
| 23178 | 23178 | Has flag LOOK_INVALID: yes |
| 23179 | 23179 | Has flag LOOK_ODD: no |
| 23180 | 23180 | Has flag LOOK_SHORT: no} |
| 23181 | 23181 | |
| 23182 | 23182 | utf-check 1527 utf-check-1527-3-98-1.jnk \ |
| 23183 | -{File "%TEMP%/utf-check-1527-3-98-1.jnk" has 16393 bytes. | |
| 23183 | +{File "%TEMP%/utf-check-1527-3-98-1.jnk" has 65545 bytes. | |
| 23184 | 23184 | Starts with UTF-8 BOM: no |
| 23185 | 23185 | Starts with UTF-16 BOM: no |
| 23186 | 23186 | Looks like UTF-8: no |
| 23187 | 23187 | Has flag LOOK_NUL: yes |
| 23188 | 23188 | Has flag LOOK_CR: no |
| @@ -23194,11 +23194,11 @@ | ||
| 23194 | 23194 | Has flag LOOK_INVALID: yes |
| 23195 | 23195 | Has flag LOOK_ODD: no |
| 23196 | 23196 | Has flag LOOK_SHORT: no} |
| 23197 | 23197 | |
| 23198 | 23198 | utf-check 1528 utf-check-1528-3-99-0.jnk \ |
| 23199 | -{File "%TEMP%/utf-check-1528-3-99-0.jnk" has 16394 bytes. | |
| 23199 | +{File "%TEMP%/utf-check-1528-3-99-0.jnk" has 65546 bytes. | |
| 23200 | 23200 | Starts with UTF-8 BOM: no |
| 23201 | 23201 | Starts with UTF-16 BOM: no |
| 23202 | 23202 | Looks like UTF-8: no |
| 23203 | 23203 | Has flag LOOK_NUL: yes |
| 23204 | 23204 | Has flag LOOK_CR: no |
| @@ -23210,11 +23210,11 @@ | ||
| 23210 | 23210 | Has flag LOOK_INVALID: yes |
| 23211 | 23211 | Has flag LOOK_ODD: no |
| 23212 | 23212 | Has flag LOOK_SHORT: no} |
| 23213 | 23213 | |
| 23214 | 23214 | utf-check 1529 utf-check-1529-3-99-1.jnk \ |
| 23215 | -{File "%TEMP%/utf-check-1529-3-99-1.jnk" has 16395 bytes. | |
| 23215 | +{File "%TEMP%/utf-check-1529-3-99-1.jnk" has 65547 bytes. | |
| 23216 | 23216 | Starts with UTF-8 BOM: no |
| 23217 | 23217 | Starts with UTF-16 BOM: no |
| 23218 | 23218 | Looks like UTF-8: no |
| 23219 | 23219 | Has flag LOOK_NUL: yes |
| 23220 | 23220 | Has flag LOOK_CR: no |
| @@ -23226,11 +23226,11 @@ | ||
| 23226 | 23226 | Has flag LOOK_INVALID: yes |
| 23227 | 23227 | Has flag LOOK_ODD: no |
| 23228 | 23228 | Has flag LOOK_SHORT: no} |
| 23229 | 23229 | |
| 23230 | 23230 | utf-check 1530 utf-check-1530-3-100-0.jnk \ |
| 23231 | -{File "%TEMP%/utf-check-1530-3-100-0.jnk" has 16396 bytes. | |
| 23231 | +{File "%TEMP%/utf-check-1530-3-100-0.jnk" has 65572 bytes. | |
| 23232 | 23232 | Starts with UTF-8 BOM: no |
| 23233 | 23233 | Starts with UTF-16 BOM: no |
| 23234 | 23234 | Looks like UTF-8: no |
| 23235 | 23235 | Has flag LOOK_NUL: yes |
| 23236 | 23236 | Has flag LOOK_CR: no |
| @@ -23242,11 +23242,11 @@ | ||
| 23242 | 23242 | Has flag LOOK_INVALID: yes |
| 23243 | 23243 | Has flag LOOK_ODD: no |
| 23244 | 23244 | Has flag LOOK_SHORT: no} |
| 23245 | 23245 | |
| 23246 | 23246 | utf-check 1531 utf-check-1531-3-100-1.jnk \ |
| 23247 | -{File "%TEMP%/utf-check-1531-3-100-1.jnk" has 16397 bytes. | |
| 23247 | +{File "%TEMP%/utf-check-1531-3-100-1.jnk" has 65573 bytes. | |
| 23248 | 23248 | Starts with UTF-8 BOM: no |
| 23249 | 23249 | Starts with UTF-16 BOM: no |
| 23250 | 23250 | Looks like UTF-8: no |
| 23251 | 23251 | Has flag LOOK_NUL: yes |
| 23252 | 23252 | Has flag LOOK_CR: no |
| @@ -23258,11 +23258,11 @@ | ||
| 23258 | 23258 | Has flag LOOK_INVALID: yes |
| 23259 | 23259 | Has flag LOOK_ODD: no |
| 23260 | 23260 | Has flag LOOK_SHORT: no} |
| 23261 | 23261 | |
| 23262 | 23262 | utf-check 1532 utf-check-1532-3-101-0.jnk \ |
| 23263 | -{File "%TEMP%/utf-check-1532-3-101-0.jnk" has 16398 bytes. | |
| 23263 | +{File "%TEMP%/utf-check-1532-3-101-0.jnk" has 65574 bytes. | |
| 23264 | 23264 | Starts with UTF-8 BOM: no |
| 23265 | 23265 | Starts with UTF-16 BOM: no |
| 23266 | 23266 | Looks like UTF-8: no |
| 23267 | 23267 | Has flag LOOK_NUL: yes |
| 23268 | 23268 | Has flag LOOK_CR: no |
| @@ -23274,11 +23274,11 @@ | ||
| 23274 | 23274 | Has flag LOOK_INVALID: yes |
| 23275 | 23275 | Has flag LOOK_ODD: no |
| 23276 | 23276 | Has flag LOOK_SHORT: no} |
| 23277 | 23277 | |
| 23278 | 23278 | utf-check 1533 utf-check-1533-3-101-1.jnk \ |
| 23279 | -{File "%TEMP%/utf-check-1533-3-101-1.jnk" has 16399 bytes. | |
| 23279 | +{File "%TEMP%/utf-check-1533-3-101-1.jnk" has 65575 bytes. | |
| 23280 | 23280 | Starts with UTF-8 BOM: no |
| 23281 | 23281 | Starts with UTF-16 BOM: no |
| 23282 | 23282 | Looks like UTF-8: no |
| 23283 | 23283 | Has flag LOOK_NUL: yes |
| 23284 | 23284 | Has flag LOOK_CR: no |
| @@ -23290,11 +23290,11 @@ | ||
| 23290 | 23290 | Has flag LOOK_INVALID: yes |
| 23291 | 23291 | Has flag LOOK_ODD: no |
| 23292 | 23292 | Has flag LOOK_SHORT: no} |
| 23293 | 23293 | |
| 23294 | 23294 | utf-check 1534 utf-check-1534-3-102-0.jnk \ |
| 23295 | -{File "%TEMP%/utf-check-1534-3-102-0.jnk" has 16398 bytes. | |
| 23295 | +{File "%TEMP%/utf-check-1534-3-102-0.jnk" has 65574 bytes. | |
| 23296 | 23296 | Starts with UTF-8 BOM: no |
| 23297 | 23297 | Starts with UTF-16 BOM: no |
| 23298 | 23298 | Looks like UTF-8: no |
| 23299 | 23299 | Has flag LOOK_NUL: yes |
| 23300 | 23300 | Has flag LOOK_CR: no |
| @@ -23306,11 +23306,11 @@ | ||
| 23306 | 23306 | Has flag LOOK_INVALID: yes |
| 23307 | 23307 | Has flag LOOK_ODD: no |
| 23308 | 23308 | Has flag LOOK_SHORT: no} |
| 23309 | 23309 | |
| 23310 | 23310 | utf-check 1535 utf-check-1535-3-102-1.jnk \ |
| 23311 | -{File "%TEMP%/utf-check-1535-3-102-1.jnk" has 16399 bytes. | |
| 23311 | +{File "%TEMP%/utf-check-1535-3-102-1.jnk" has 65575 bytes. | |
| 23312 | 23312 | Starts with UTF-8 BOM: no |
| 23313 | 23313 | Starts with UTF-16 BOM: no |
| 23314 | 23314 | Looks like UTF-8: no |
| 23315 | 23315 | Has flag LOOK_NUL: yes |
| 23316 | 23316 | Has flag LOOK_CR: no |
| @@ -23322,11 +23322,11 @@ | ||
| 23322 | 23322 | Has flag LOOK_INVALID: yes |
| 23323 | 23323 | Has flag LOOK_ODD: no |
| 23324 | 23324 | Has flag LOOK_SHORT: no} |
| 23325 | 23325 | |
| 23326 | 23326 | utf-check 1536 utf-check-1536-3-103-0.jnk \ |
| 23327 | -{File "%TEMP%/utf-check-1536-3-103-0.jnk" has 16400 bytes. | |
| 23327 | +{File "%TEMP%/utf-check-1536-3-103-0.jnk" has 65576 bytes. | |
| 23328 | 23328 | Starts with UTF-8 BOM: no |
| 23329 | 23329 | Starts with UTF-16 BOM: no |
| 23330 | 23330 | Looks like UTF-8: no |
| 23331 | 23331 | Has flag LOOK_NUL: yes |
| 23332 | 23332 | Has flag LOOK_CR: no |
| @@ -23338,11 +23338,11 @@ | ||
| 23338 | 23338 | Has flag LOOK_INVALID: yes |
| 23339 | 23339 | Has flag LOOK_ODD: no |
| 23340 | 23340 | Has flag LOOK_SHORT: no} |
| 23341 | 23341 | |
| 23342 | 23342 | utf-check 1537 utf-check-1537-3-103-1.jnk \ |
| 23343 | -{File "%TEMP%/utf-check-1537-3-103-1.jnk" has 16401 bytes. | |
| 23343 | +{File "%TEMP%/utf-check-1537-3-103-1.jnk" has 65577 bytes. | |
| 23344 | 23344 | Starts with UTF-8 BOM: no |
| 23345 | 23345 | Starts with UTF-16 BOM: no |
| 23346 | 23346 | Looks like UTF-8: no |
| 23347 | 23347 | Has flag LOOK_NUL: yes |
| 23348 | 23348 | Has flag LOOK_CR: no |
| @@ -23354,11 +23354,11 @@ | ||
| 23354 | 23354 | Has flag LOOK_INVALID: yes |
| 23355 | 23355 | Has flag LOOK_ODD: no |
| 23356 | 23356 | Has flag LOOK_SHORT: no} |
| 23357 | 23357 | |
| 23358 | 23358 | utf-check 1538 utf-check-1538-3-104-0.jnk \ |
| 23359 | -{File "%TEMP%/utf-check-1538-3-104-0.jnk" has 16392 bytes. | |
| 23359 | +{File "%TEMP%/utf-check-1538-3-104-0.jnk" has 65544 bytes. | |
| 23360 | 23360 | Starts with UTF-8 BOM: no |
| 23361 | 23361 | Starts with UTF-16 BOM: no |
| 23362 | 23362 | Looks like UTF-8: no |
| 23363 | 23363 | Has flag LOOK_NUL: yes |
| 23364 | 23364 | Has flag LOOK_CR: no |
| @@ -23370,11 +23370,11 @@ | ||
| 23370 | 23370 | Has flag LOOK_INVALID: yes |
| 23371 | 23371 | Has flag LOOK_ODD: no |
| 23372 | 23372 | Has flag LOOK_SHORT: no} |
| 23373 | 23373 | |
| 23374 | 23374 | utf-check 1539 utf-check-1539-3-104-1.jnk \ |
| 23375 | -{File "%TEMP%/utf-check-1539-3-104-1.jnk" has 16393 bytes. | |
| 23375 | +{File "%TEMP%/utf-check-1539-3-104-1.jnk" has 65545 bytes. | |
| 23376 | 23376 | Starts with UTF-8 BOM: no |
| 23377 | 23377 | Starts with UTF-16 BOM: no |
| 23378 | 23378 | Looks like UTF-8: no |
| 23379 | 23379 | Has flag LOOK_NUL: yes |
| 23380 | 23380 | Has flag LOOK_CR: no |
| @@ -23386,11 +23386,11 @@ | ||
| 23386 | 23386 | Has flag LOOK_INVALID: yes |
| 23387 | 23387 | Has flag LOOK_ODD: no |
| 23388 | 23388 | Has flag LOOK_SHORT: no} |
| 23389 | 23389 | |
| 23390 | 23390 | utf-check 1540 utf-check-1540-3-105-0.jnk \ |
| 23391 | -{File "%TEMP%/utf-check-1540-3-105-0.jnk" has 16394 bytes. | |
| 23391 | +{File "%TEMP%/utf-check-1540-3-105-0.jnk" has 65546 bytes. | |
| 23392 | 23392 | Starts with UTF-8 BOM: no |
| 23393 | 23393 | Starts with UTF-16 BOM: no |
| 23394 | 23394 | Looks like UTF-8: no |
| 23395 | 23395 | Has flag LOOK_NUL: yes |
| 23396 | 23396 | Has flag LOOK_CR: no |
| @@ -23402,11 +23402,11 @@ | ||
| 23402 | 23402 | Has flag LOOK_INVALID: yes |
| 23403 | 23403 | Has flag LOOK_ODD: no |
| 23404 | 23404 | Has flag LOOK_SHORT: no} |
| 23405 | 23405 | |
| 23406 | 23406 | utf-check 1541 utf-check-1541-3-105-1.jnk \ |
| 23407 | -{File "%TEMP%/utf-check-1541-3-105-1.jnk" has 16395 bytes. | |
| 23407 | +{File "%TEMP%/utf-check-1541-3-105-1.jnk" has 65547 bytes. | |
| 23408 | 23408 | Starts with UTF-8 BOM: no |
| 23409 | 23409 | Starts with UTF-16 BOM: no |
| 23410 | 23410 | Looks like UTF-8: no |
| 23411 | 23411 | Has flag LOOK_NUL: yes |
| 23412 | 23412 | Has flag LOOK_CR: no |
| @@ -23418,11 +23418,11 @@ | ||
| 23418 | 23418 | Has flag LOOK_INVALID: yes |
| 23419 | 23419 | Has flag LOOK_ODD: no |
| 23420 | 23420 | Has flag LOOK_SHORT: no} |
| 23421 | 23421 | |
| 23422 | 23422 | utf-check 1542 utf-check-1542-3-106-0.jnk \ |
| 23423 | -{File "%TEMP%/utf-check-1542-3-106-0.jnk" has 16394 bytes. | |
| 23423 | +{File "%TEMP%/utf-check-1542-3-106-0.jnk" has 65546 bytes. | |
| 23424 | 23424 | Starts with UTF-8 BOM: no |
| 23425 | 23425 | Starts with UTF-16 BOM: no |
| 23426 | 23426 | Looks like UTF-8: no |
| 23427 | 23427 | Has flag LOOK_NUL: yes |
| 23428 | 23428 | Has flag LOOK_CR: no |
| @@ -23434,11 +23434,11 @@ | ||
| 23434 | 23434 | Has flag LOOK_INVALID: yes |
| 23435 | 23435 | Has flag LOOK_ODD: no |
| 23436 | 23436 | Has flag LOOK_SHORT: no} |
| 23437 | 23437 | |
| 23438 | 23438 | utf-check 1543 utf-check-1543-3-106-1.jnk \ |
| 23439 | -{File "%TEMP%/utf-check-1543-3-106-1.jnk" has 16395 bytes. | |
| 23439 | +{File "%TEMP%/utf-check-1543-3-106-1.jnk" has 65547 bytes. | |
| 23440 | 23440 | Starts with UTF-8 BOM: no |
| 23441 | 23441 | Starts with UTF-16 BOM: no |
| 23442 | 23442 | Looks like UTF-8: no |
| 23443 | 23443 | Has flag LOOK_NUL: yes |
| 23444 | 23444 | Has flag LOOK_CR: no |
| @@ -23450,11 +23450,11 @@ | ||
| 23450 | 23450 | Has flag LOOK_INVALID: yes |
| 23451 | 23451 | Has flag LOOK_ODD: no |
| 23452 | 23452 | Has flag LOOK_SHORT: no} |
| 23453 | 23453 | |
| 23454 | 23454 | utf-check 1544 utf-check-1544-3-107-0.jnk \ |
| 23455 | -{File "%TEMP%/utf-check-1544-3-107-0.jnk" has 16396 bytes. | |
| 23455 | +{File "%TEMP%/utf-check-1544-3-107-0.jnk" has 65548 bytes. | |
| 23456 | 23456 | Starts with UTF-8 BOM: no |
| 23457 | 23457 | Starts with UTF-16 BOM: no |
| 23458 | 23458 | Looks like UTF-8: no |
| 23459 | 23459 | Has flag LOOK_NUL: yes |
| 23460 | 23460 | Has flag LOOK_CR: no |
| @@ -23466,11 +23466,11 @@ | ||
| 23466 | 23466 | Has flag LOOK_INVALID: yes |
| 23467 | 23467 | Has flag LOOK_ODD: no |
| 23468 | 23468 | Has flag LOOK_SHORT: no} |
| 23469 | 23469 | |
| 23470 | 23470 | utf-check 1545 utf-check-1545-3-107-1.jnk \ |
| 23471 | -{File "%TEMP%/utf-check-1545-3-107-1.jnk" has 16397 bytes. | |
| 23471 | +{File "%TEMP%/utf-check-1545-3-107-1.jnk" has 65549 bytes. | |
| 23472 | 23472 | Starts with UTF-8 BOM: no |
| 23473 | 23473 | Starts with UTF-16 BOM: no |
| 23474 | 23474 | Looks like UTF-8: no |
| 23475 | 23475 | Has flag LOOK_NUL: yes |
| 23476 | 23476 | Has flag LOOK_CR: no |
| @@ -23482,11 +23482,11 @@ | ||
| 23482 | 23482 | Has flag LOOK_INVALID: yes |
| 23483 | 23483 | Has flag LOOK_ODD: no |
| 23484 | 23484 | Has flag LOOK_SHORT: no} |
| 23485 | 23485 | |
| 23486 | 23486 | utf-check 1546 utf-check-1546-3-108-0.jnk \ |
| 23487 | -{File "%TEMP%/utf-check-1546-3-108-0.jnk" has 16398 bytes. | |
| 23487 | +{File "%TEMP%/utf-check-1546-3-108-0.jnk" has 65574 bytes. | |
| 23488 | 23488 | Starts with UTF-8 BOM: no |
| 23489 | 23489 | Starts with UTF-16 BOM: no |
| 23490 | 23490 | Looks like UTF-8: no |
| 23491 | 23491 | Has flag LOOK_NUL: yes |
| 23492 | 23492 | Has flag LOOK_CR: no |
| @@ -23498,11 +23498,11 @@ | ||
| 23498 | 23498 | Has flag LOOK_INVALID: yes |
| 23499 | 23499 | Has flag LOOK_ODD: no |
| 23500 | 23500 | Has flag LOOK_SHORT: no} |
| 23501 | 23501 | |
| 23502 | 23502 | utf-check 1547 utf-check-1547-3-108-1.jnk \ |
| 23503 | -{File "%TEMP%/utf-check-1547-3-108-1.jnk" has 16399 bytes. | |
| 23503 | +{File "%TEMP%/utf-check-1547-3-108-1.jnk" has 65575 bytes. | |
| 23504 | 23504 | Starts with UTF-8 BOM: no |
| 23505 | 23505 | Starts with UTF-16 BOM: no |
| 23506 | 23506 | Looks like UTF-8: no |
| 23507 | 23507 | Has flag LOOK_NUL: yes |
| 23508 | 23508 | Has flag LOOK_CR: no |
| @@ -23514,11 +23514,11 @@ | ||
| 23514 | 23514 | Has flag LOOK_INVALID: yes |
| 23515 | 23515 | Has flag LOOK_ODD: no |
| 23516 | 23516 | Has flag LOOK_SHORT: no} |
| 23517 | 23517 | |
| 23518 | 23518 | utf-check 1548 utf-check-1548-3-109-0.jnk \ |
| 23519 | -{File "%TEMP%/utf-check-1548-3-109-0.jnk" has 16400 bytes. | |
| 23519 | +{File "%TEMP%/utf-check-1548-3-109-0.jnk" has 65576 bytes. | |
| 23520 | 23520 | Starts with UTF-8 BOM: no |
| 23521 | 23521 | Starts with UTF-16 BOM: no |
| 23522 | 23522 | Looks like UTF-8: no |
| 23523 | 23523 | Has flag LOOK_NUL: yes |
| 23524 | 23524 | Has flag LOOK_CR: no |
| @@ -23530,11 +23530,11 @@ | ||
| 23530 | 23530 | Has flag LOOK_INVALID: yes |
| 23531 | 23531 | Has flag LOOK_ODD: no |
| 23532 | 23532 | Has flag LOOK_SHORT: no} |
| 23533 | 23533 | |
| 23534 | 23534 | utf-check 1549 utf-check-1549-3-109-1.jnk \ |
| 23535 | -{File "%TEMP%/utf-check-1549-3-109-1.jnk" has 16401 bytes. | |
| 23535 | +{File "%TEMP%/utf-check-1549-3-109-1.jnk" has 65577 bytes. | |
| 23536 | 23536 | Starts with UTF-8 BOM: no |
| 23537 | 23537 | Starts with UTF-16 BOM: no |
| 23538 | 23538 | Looks like UTF-8: no |
| 23539 | 23539 | Has flag LOOK_NUL: yes |
| 23540 | 23540 | Has flag LOOK_CR: no |
| @@ -23546,11 +23546,11 @@ | ||
| 23546 | 23546 | Has flag LOOK_INVALID: yes |
| 23547 | 23547 | Has flag LOOK_ODD: no |
| 23548 | 23548 | Has flag LOOK_SHORT: no} |
| 23549 | 23549 | |
| 23550 | 23550 | utf-check 1550 utf-check-1550-3-110-0.jnk \ |
| 23551 | -{File "%TEMP%/utf-check-1550-3-110-0.jnk" has 16400 bytes. | |
| 23551 | +{File "%TEMP%/utf-check-1550-3-110-0.jnk" has 65576 bytes. | |
| 23552 | 23552 | Starts with UTF-8 BOM: no |
| 23553 | 23553 | Starts with UTF-16 BOM: no |
| 23554 | 23554 | Looks like UTF-8: no |
| 23555 | 23555 | Has flag LOOK_NUL: yes |
| 23556 | 23556 | Has flag LOOK_CR: no |
| @@ -23562,11 +23562,11 @@ | ||
| 23562 | 23562 | Has flag LOOK_INVALID: yes |
| 23563 | 23563 | Has flag LOOK_ODD: no |
| 23564 | 23564 | Has flag LOOK_SHORT: no} |
| 23565 | 23565 | |
| 23566 | 23566 | utf-check 1551 utf-check-1551-3-110-1.jnk \ |
| 23567 | -{File "%TEMP%/utf-check-1551-3-110-1.jnk" has 16401 bytes. | |
| 23567 | +{File "%TEMP%/utf-check-1551-3-110-1.jnk" has 65577 bytes. | |
| 23568 | 23568 | Starts with UTF-8 BOM: no |
| 23569 | 23569 | Starts with UTF-16 BOM: no |
| 23570 | 23570 | Looks like UTF-8: no |
| 23571 | 23571 | Has flag LOOK_NUL: yes |
| 23572 | 23572 | Has flag LOOK_CR: no |
| @@ -23578,11 +23578,11 @@ | ||
| 23578 | 23578 | Has flag LOOK_INVALID: yes |
| 23579 | 23579 | Has flag LOOK_ODD: no |
| 23580 | 23580 | Has flag LOOK_SHORT: no} |
| 23581 | 23581 | |
| 23582 | 23582 | utf-check 1552 utf-check-1552-3-111-0.jnk \ |
| 23583 | -{File "%TEMP%/utf-check-1552-3-111-0.jnk" has 16402 bytes. | |
| 23583 | +{File "%TEMP%/utf-check-1552-3-111-0.jnk" has 65578 bytes. | |
| 23584 | 23584 | Starts with UTF-8 BOM: no |
| 23585 | 23585 | Starts with UTF-16 BOM: no |
| 23586 | 23586 | Looks like UTF-8: no |
| 23587 | 23587 | Has flag LOOK_NUL: yes |
| 23588 | 23588 | Has flag LOOK_CR: no |
| @@ -23594,11 +23594,11 @@ | ||
| 23594 | 23594 | Has flag LOOK_INVALID: yes |
| 23595 | 23595 | Has flag LOOK_ODD: no |
| 23596 | 23596 | Has flag LOOK_SHORT: no} |
| 23597 | 23597 | |
| 23598 | 23598 | utf-check 1553 utf-check-1553-3-111-1.jnk \ |
| 23599 | -{File "%TEMP%/utf-check-1553-3-111-1.jnk" has 16403 bytes. | |
| 23599 | +{File "%TEMP%/utf-check-1553-3-111-1.jnk" has 65579 bytes. | |
| 23600 | 23600 | Starts with UTF-8 BOM: no |
| 23601 | 23601 | Starts with UTF-16 BOM: no |
| 23602 | 23602 | Looks like UTF-8: no |
| 23603 | 23603 | Has flag LOOK_NUL: yes |
| 23604 | 23604 | Has flag LOOK_CR: no |
| 23605 | 23605 |
| --- test/utf.test | |
| +++ test/utf.test | |
| @@ -141,42 +141,42 @@ | |
| 141 | 75 [appendArgs \x00 ABCD\x00\n] \ |
| 142 | 76 [appendArgs \x00 A\x00\r\n] \ |
| 143 | 77 [appendArgs \x00 AB\x00\r\n] \ |
| 144 | 78 [appendArgs \x00 ABC\x00\r\n] \ |
| 145 | 79 [appendArgs \x00 ABCD\x00\r\n] \ |
| 146 | 80 [string repeat A 8193] \ |
| 147 | 81 [string repeat A 8193]\r \ |
| 148 | 82 [string repeat A 8193]\n \ |
| 149 | 83 [string repeat A 8193]\r\n \ |
| 150 | 84 [string repeat ABCD 2049] \ |
| 151 | 85 [string repeat ABCD 2049]\r \ |
| 152 | 86 [string repeat ABCD 2049]\n \ |
| 153 | 87 [string repeat ABCD 2049]\r\n \ |
| 154 | 88 \x00[string repeat A 8193] \ |
| 155 | 89 \x00[string repeat A 8193]\r \ |
| 156 | 90 \x00[string repeat A 8193]\n \ |
| 157 | 91 \x00[string repeat A 8193]\r\n \ |
| 158 | 92 \x00[string repeat ABCD 2049] \ |
| 159 | 93 \x00[string repeat ABCD 2049]\r \ |
| 160 | 94 \x00[string repeat ABCD 2049]\n \ |
| 161 | 95 \x00[string repeat ABCD 2049]\r\n \ |
| 162 | 96 [string repeat A 8193]\x00 \ |
| 163 | 97 [string repeat A 8193]\x00\r \ |
| 164 | 98 [string repeat A 8193]\x00\n \ |
| 165 | 99 [string repeat A 8193]\x00\r\n \ |
| 166 | 100 [string repeat ABCD 2049]\x00 \ |
| 167 | 101 [string repeat ABCD 2049]\x00\r \ |
| 168 | 102 [string repeat ABCD 2049]\x00\n \ |
| 169 | 103 [string repeat ABCD 2049]\x00\r\n \ |
| 170 | 104 \x00[string repeat A 8193]\x00 \ |
| 171 | 105 \x00[string repeat A 8193]\x00\r \ |
| 172 | 106 \x00[string repeat A 8193]\x00\n \ |
| 173 | 107 \x00[string repeat A 8193]\x00\r\n \ |
| 174 | 108 \x00[string repeat ABCD 2049]\x00 \ |
| 175 | 109 \x00[string repeat ABCD 2049]\x00\r \ |
| 176 | 110 \x00[string repeat ABCD 2049]\x00\n \ |
| 177 | 111 \x00[string repeat ABCD 2049]\x00\r\n \ |
| 178 | 112 \u000A\u000D \ |
| 179 | 113 \u0A00\u0D00 \ |
| 180 | 114 \u000D\u000A \ |
| 181 | 115 \u0D00\u0A00 \ |
| 182 | 116 \x00\u000A\u000D \ |
| @@ -2906,11 +2906,11 @@ | |
| 2906 | Has flag LOOK_INVALID: no |
| 2907 | Has flag LOOK_ODD: no |
| 2908 | Has flag LOOK_SHORT: no} |
| 2909 | |
| 2910 | utf-check 260 utf-check-260-0-80-0.jnk \ |
| 2911 | {File "%TEMP%/utf-check-260-0-80-0.jnk" has 8193 bytes. |
| 2912 | Starts with UTF-8 BOM: no |
| 2913 | Starts with UTF-16 BOM: no |
| 2914 | Looks like UTF-8: no |
| 2915 | Has flag LOOK_NUL: no |
| 2916 | Has flag LOOK_CR: no |
| @@ -2922,11 +2922,11 @@ | |
| 2922 | Has flag LOOK_INVALID: no |
| 2923 | Has flag LOOK_ODD: no |
| 2924 | Has flag LOOK_SHORT: no} |
| 2925 | |
| 2926 | utf-check 261 utf-check-261-0-80-1.jnk \ |
| 2927 | {File "%TEMP%/utf-check-261-0-80-1.jnk" has 8194 bytes. |
| 2928 | Starts with UTF-8 BOM: no |
| 2929 | Starts with UTF-16 BOM: no |
| 2930 | Looks like UTF-8: no |
| 2931 | Has flag LOOK_NUL: no |
| 2932 | Has flag LOOK_CR: no |
| @@ -2938,11 +2938,11 @@ | |
| 2938 | Has flag LOOK_INVALID: no |
| 2939 | Has flag LOOK_ODD: no |
| 2940 | Has flag LOOK_SHORT: no} |
| 2941 | |
| 2942 | utf-check 262 utf-check-262-0-81-0.jnk \ |
| 2943 | {File "%TEMP%/utf-check-262-0-81-0.jnk" has 8194 bytes. |
| 2944 | Starts with UTF-8 BOM: no |
| 2945 | Starts with UTF-16 BOM: no |
| 2946 | Looks like UTF-8: no |
| 2947 | Has flag LOOK_NUL: no |
| 2948 | Has flag LOOK_CR: yes |
| @@ -2954,11 +2954,11 @@ | |
| 2954 | Has flag LOOK_INVALID: no |
| 2955 | Has flag LOOK_ODD: no |
| 2956 | Has flag LOOK_SHORT: no} |
| 2957 | |
| 2958 | utf-check 263 utf-check-263-0-81-1.jnk \ |
| 2959 | {File "%TEMP%/utf-check-263-0-81-1.jnk" has 8195 bytes. |
| 2960 | Starts with UTF-8 BOM: no |
| 2961 | Starts with UTF-16 BOM: no |
| 2962 | Looks like UTF-8: no |
| 2963 | Has flag LOOK_NUL: no |
| 2964 | Has flag LOOK_CR: yes |
| @@ -2970,11 +2970,11 @@ | |
| 2970 | Has flag LOOK_INVALID: no |
| 2971 | Has flag LOOK_ODD: no |
| 2972 | Has flag LOOK_SHORT: no} |
| 2973 | |
| 2974 | utf-check 264 utf-check-264-0-82-0.jnk \ |
| 2975 | {File "%TEMP%/utf-check-264-0-82-0.jnk" has 8194 bytes. |
| 2976 | Starts with UTF-8 BOM: no |
| 2977 | Starts with UTF-16 BOM: no |
| 2978 | Looks like UTF-8: no |
| 2979 | Has flag LOOK_NUL: no |
| 2980 | Has flag LOOK_CR: no |
| @@ -2986,11 +2986,11 @@ | |
| 2986 | Has flag LOOK_INVALID: no |
| 2987 | Has flag LOOK_ODD: no |
| 2988 | Has flag LOOK_SHORT: no} |
| 2989 | |
| 2990 | utf-check 265 utf-check-265-0-82-1.jnk \ |
| 2991 | {File "%TEMP%/utf-check-265-0-82-1.jnk" has 8195 bytes. |
| 2992 | Starts with UTF-8 BOM: no |
| 2993 | Starts with UTF-16 BOM: no |
| 2994 | Looks like UTF-8: no |
| 2995 | Has flag LOOK_NUL: no |
| 2996 | Has flag LOOK_CR: no |
| @@ -3002,11 +3002,11 @@ | |
| 3002 | Has flag LOOK_INVALID: no |
| 3003 | Has flag LOOK_ODD: no |
| 3004 | Has flag LOOK_SHORT: no} |
| 3005 | |
| 3006 | utf-check 266 utf-check-266-0-83-0.jnk \ |
| 3007 | {File "%TEMP%/utf-check-266-0-83-0.jnk" has 8195 bytes. |
| 3008 | Starts with UTF-8 BOM: no |
| 3009 | Starts with UTF-16 BOM: no |
| 3010 | Looks like UTF-8: no |
| 3011 | Has flag LOOK_NUL: no |
| 3012 | Has flag LOOK_CR: yes |
| @@ -3018,11 +3018,11 @@ | |
| 3018 | Has flag LOOK_INVALID: no |
| 3019 | Has flag LOOK_ODD: no |
| 3020 | Has flag LOOK_SHORT: no} |
| 3021 | |
| 3022 | utf-check 267 utf-check-267-0-83-1.jnk \ |
| 3023 | {File "%TEMP%/utf-check-267-0-83-1.jnk" has 8196 bytes. |
| 3024 | Starts with UTF-8 BOM: no |
| 3025 | Starts with UTF-16 BOM: no |
| 3026 | Looks like UTF-8: no |
| 3027 | Has flag LOOK_NUL: no |
| 3028 | Has flag LOOK_CR: yes |
| @@ -3034,11 +3034,11 @@ | |
| 3034 | Has flag LOOK_INVALID: no |
| 3035 | Has flag LOOK_ODD: no |
| 3036 | Has flag LOOK_SHORT: no} |
| 3037 | |
| 3038 | utf-check 268 utf-check-268-0-84-0.jnk \ |
| 3039 | {File "%TEMP%/utf-check-268-0-84-0.jnk" has 8196 bytes. |
| 3040 | Starts with UTF-8 BOM: no |
| 3041 | Starts with UTF-16 BOM: no |
| 3042 | Looks like UTF-8: no |
| 3043 | Has flag LOOK_NUL: no |
| 3044 | Has flag LOOK_CR: no |
| @@ -3050,11 +3050,11 @@ | |
| 3050 | Has flag LOOK_INVALID: no |
| 3051 | Has flag LOOK_ODD: no |
| 3052 | Has flag LOOK_SHORT: no} |
| 3053 | |
| 3054 | utf-check 269 utf-check-269-0-84-1.jnk \ |
| 3055 | {File "%TEMP%/utf-check-269-0-84-1.jnk" has 8197 bytes. |
| 3056 | Starts with UTF-8 BOM: no |
| 3057 | Starts with UTF-16 BOM: no |
| 3058 | Looks like UTF-8: no |
| 3059 | Has flag LOOK_NUL: no |
| 3060 | Has flag LOOK_CR: no |
| @@ -3066,11 +3066,11 @@ | |
| 3066 | Has flag LOOK_INVALID: no |
| 3067 | Has flag LOOK_ODD: no |
| 3068 | Has flag LOOK_SHORT: no} |
| 3069 | |
| 3070 | utf-check 270 utf-check-270-0-85-0.jnk \ |
| 3071 | {File "%TEMP%/utf-check-270-0-85-0.jnk" has 8197 bytes. |
| 3072 | Starts with UTF-8 BOM: no |
| 3073 | Starts with UTF-16 BOM: no |
| 3074 | Looks like UTF-8: no |
| 3075 | Has flag LOOK_NUL: no |
| 3076 | Has flag LOOK_CR: yes |
| @@ -3082,11 +3082,11 @@ | |
| 3082 | Has flag LOOK_INVALID: no |
| 3083 | Has flag LOOK_ODD: no |
| 3084 | Has flag LOOK_SHORT: no} |
| 3085 | |
| 3086 | utf-check 271 utf-check-271-0-85-1.jnk \ |
| 3087 | {File "%TEMP%/utf-check-271-0-85-1.jnk" has 8198 bytes. |
| 3088 | Starts with UTF-8 BOM: no |
| 3089 | Starts with UTF-16 BOM: no |
| 3090 | Looks like UTF-8: no |
| 3091 | Has flag LOOK_NUL: no |
| 3092 | Has flag LOOK_CR: yes |
| @@ -3098,11 +3098,11 @@ | |
| 3098 | Has flag LOOK_INVALID: no |
| 3099 | Has flag LOOK_ODD: no |
| 3100 | Has flag LOOK_SHORT: no} |
| 3101 | |
| 3102 | utf-check 272 utf-check-272-0-86-0.jnk \ |
| 3103 | {File "%TEMP%/utf-check-272-0-86-0.jnk" has 8197 bytes. |
| 3104 | Starts with UTF-8 BOM: no |
| 3105 | Starts with UTF-16 BOM: no |
| 3106 | Looks like UTF-8: no |
| 3107 | Has flag LOOK_NUL: no |
| 3108 | Has flag LOOK_CR: no |
| @@ -3114,11 +3114,11 @@ | |
| 3114 | Has flag LOOK_INVALID: no |
| 3115 | Has flag LOOK_ODD: no |
| 3116 | Has flag LOOK_SHORT: no} |
| 3117 | |
| 3118 | utf-check 273 utf-check-273-0-86-1.jnk \ |
| 3119 | {File "%TEMP%/utf-check-273-0-86-1.jnk" has 8198 bytes. |
| 3120 | Starts with UTF-8 BOM: no |
| 3121 | Starts with UTF-16 BOM: no |
| 3122 | Looks like UTF-8: no |
| 3123 | Has flag LOOK_NUL: no |
| 3124 | Has flag LOOK_CR: no |
| @@ -3130,11 +3130,11 @@ | |
| 3130 | Has flag LOOK_INVALID: no |
| 3131 | Has flag LOOK_ODD: no |
| 3132 | Has flag LOOK_SHORT: no} |
| 3133 | |
| 3134 | utf-check 274 utf-check-274-0-87-0.jnk \ |
| 3135 | {File "%TEMP%/utf-check-274-0-87-0.jnk" has 8198 bytes. |
| 3136 | Starts with UTF-8 BOM: no |
| 3137 | Starts with UTF-16 BOM: no |
| 3138 | Looks like UTF-8: no |
| 3139 | Has flag LOOK_NUL: no |
| 3140 | Has flag LOOK_CR: yes |
| @@ -3146,11 +3146,11 @@ | |
| 3146 | Has flag LOOK_INVALID: no |
| 3147 | Has flag LOOK_ODD: no |
| 3148 | Has flag LOOK_SHORT: no} |
| 3149 | |
| 3150 | utf-check 275 utf-check-275-0-87-1.jnk \ |
| 3151 | {File "%TEMP%/utf-check-275-0-87-1.jnk" has 8199 bytes. |
| 3152 | Starts with UTF-8 BOM: no |
| 3153 | Starts with UTF-16 BOM: no |
| 3154 | Looks like UTF-8: no |
| 3155 | Has flag LOOK_NUL: no |
| 3156 | Has flag LOOK_CR: yes |
| @@ -3162,11 +3162,11 @@ | |
| 3162 | Has flag LOOK_INVALID: no |
| 3163 | Has flag LOOK_ODD: no |
| 3164 | Has flag LOOK_SHORT: no} |
| 3165 | |
| 3166 | utf-check 276 utf-check-276-0-88-0.jnk \ |
| 3167 | {File "%TEMP%/utf-check-276-0-88-0.jnk" has 8194 bytes. |
| 3168 | Starts with UTF-8 BOM: no |
| 3169 | Starts with UTF-16 BOM: no |
| 3170 | Looks like UTF-8: no |
| 3171 | Has flag LOOK_NUL: yes |
| 3172 | Has flag LOOK_CR: no |
| @@ -3178,11 +3178,11 @@ | |
| 3178 | Has flag LOOK_INVALID: no |
| 3179 | Has flag LOOK_ODD: no |
| 3180 | Has flag LOOK_SHORT: no} |
| 3181 | |
| 3182 | utf-check 277 utf-check-277-0-88-1.jnk \ |
| 3183 | {File "%TEMP%/utf-check-277-0-88-1.jnk" has 8195 bytes. |
| 3184 | Starts with UTF-8 BOM: no |
| 3185 | Starts with UTF-16 BOM: no |
| 3186 | Looks like UTF-8: no |
| 3187 | Has flag LOOK_NUL: yes |
| 3188 | Has flag LOOK_CR: no |
| @@ -3194,11 +3194,11 @@ | |
| 3194 | Has flag LOOK_INVALID: no |
| 3195 | Has flag LOOK_ODD: no |
| 3196 | Has flag LOOK_SHORT: no} |
| 3197 | |
| 3198 | utf-check 278 utf-check-278-0-89-0.jnk \ |
| 3199 | {File "%TEMP%/utf-check-278-0-89-0.jnk" has 8195 bytes. |
| 3200 | Starts with UTF-8 BOM: no |
| 3201 | Starts with UTF-16 BOM: no |
| 3202 | Looks like UTF-8: no |
| 3203 | Has flag LOOK_NUL: yes |
| 3204 | Has flag LOOK_CR: yes |
| @@ -3210,11 +3210,11 @@ | |
| 3210 | Has flag LOOK_INVALID: no |
| 3211 | Has flag LOOK_ODD: no |
| 3212 | Has flag LOOK_SHORT: no} |
| 3213 | |
| 3214 | utf-check 279 utf-check-279-0-89-1.jnk \ |
| 3215 | {File "%TEMP%/utf-check-279-0-89-1.jnk" has 8196 bytes. |
| 3216 | Starts with UTF-8 BOM: no |
| 3217 | Starts with UTF-16 BOM: no |
| 3218 | Looks like UTF-8: no |
| 3219 | Has flag LOOK_NUL: yes |
| 3220 | Has flag LOOK_CR: yes |
| @@ -3226,11 +3226,11 @@ | |
| 3226 | Has flag LOOK_INVALID: no |
| 3227 | Has flag LOOK_ODD: no |
| 3228 | Has flag LOOK_SHORT: no} |
| 3229 | |
| 3230 | utf-check 280 utf-check-280-0-90-0.jnk \ |
| 3231 | {File "%TEMP%/utf-check-280-0-90-0.jnk" has 8195 bytes. |
| 3232 | Starts with UTF-8 BOM: no |
| 3233 | Starts with UTF-16 BOM: no |
| 3234 | Looks like UTF-8: no |
| 3235 | Has flag LOOK_NUL: yes |
| 3236 | Has flag LOOK_CR: no |
| @@ -3242,11 +3242,11 @@ | |
| 3242 | Has flag LOOK_INVALID: no |
| 3243 | Has flag LOOK_ODD: no |
| 3244 | Has flag LOOK_SHORT: no} |
| 3245 | |
| 3246 | utf-check 281 utf-check-281-0-90-1.jnk \ |
| 3247 | {File "%TEMP%/utf-check-281-0-90-1.jnk" has 8196 bytes. |
| 3248 | Starts with UTF-8 BOM: no |
| 3249 | Starts with UTF-16 BOM: no |
| 3250 | Looks like UTF-8: no |
| 3251 | Has flag LOOK_NUL: yes |
| 3252 | Has flag LOOK_CR: no |
| @@ -3258,11 +3258,11 @@ | |
| 3258 | Has flag LOOK_INVALID: no |
| 3259 | Has flag LOOK_ODD: no |
| 3260 | Has flag LOOK_SHORT: no} |
| 3261 | |
| 3262 | utf-check 282 utf-check-282-0-91-0.jnk \ |
| 3263 | {File "%TEMP%/utf-check-282-0-91-0.jnk" has 8196 bytes. |
| 3264 | Starts with UTF-8 BOM: no |
| 3265 | Starts with UTF-16 BOM: no |
| 3266 | Looks like UTF-8: no |
| 3267 | Has flag LOOK_NUL: yes |
| 3268 | Has flag LOOK_CR: yes |
| @@ -3274,11 +3274,11 @@ | |
| 3274 | Has flag LOOK_INVALID: no |
| 3275 | Has flag LOOK_ODD: no |
| 3276 | Has flag LOOK_SHORT: no} |
| 3277 | |
| 3278 | utf-check 283 utf-check-283-0-91-1.jnk \ |
| 3279 | {File "%TEMP%/utf-check-283-0-91-1.jnk" has 8197 bytes. |
| 3280 | Starts with UTF-8 BOM: no |
| 3281 | Starts with UTF-16 BOM: no |
| 3282 | Looks like UTF-8: no |
| 3283 | Has flag LOOK_NUL: yes |
| 3284 | Has flag LOOK_CR: yes |
| @@ -3290,11 +3290,11 @@ | |
| 3290 | Has flag LOOK_INVALID: no |
| 3291 | Has flag LOOK_ODD: no |
| 3292 | Has flag LOOK_SHORT: no} |
| 3293 | |
| 3294 | utf-check 284 utf-check-284-0-92-0.jnk \ |
| 3295 | {File "%TEMP%/utf-check-284-0-92-0.jnk" has 8197 bytes. |
| 3296 | Starts with UTF-8 BOM: no |
| 3297 | Starts with UTF-16 BOM: no |
| 3298 | Looks like UTF-8: no |
| 3299 | Has flag LOOK_NUL: yes |
| 3300 | Has flag LOOK_CR: no |
| @@ -3306,11 +3306,11 @@ | |
| 3306 | Has flag LOOK_INVALID: no |
| 3307 | Has flag LOOK_ODD: no |
| 3308 | Has flag LOOK_SHORT: no} |
| 3309 | |
| 3310 | utf-check 285 utf-check-285-0-92-1.jnk \ |
| 3311 | {File "%TEMP%/utf-check-285-0-92-1.jnk" has 8198 bytes. |
| 3312 | Starts with UTF-8 BOM: no |
| 3313 | Starts with UTF-16 BOM: no |
| 3314 | Looks like UTF-8: no |
| 3315 | Has flag LOOK_NUL: yes |
| 3316 | Has flag LOOK_CR: no |
| @@ -3322,11 +3322,11 @@ | |
| 3322 | Has flag LOOK_INVALID: no |
| 3323 | Has flag LOOK_ODD: no |
| 3324 | Has flag LOOK_SHORT: no} |
| 3325 | |
| 3326 | utf-check 286 utf-check-286-0-93-0.jnk \ |
| 3327 | {File "%TEMP%/utf-check-286-0-93-0.jnk" has 8198 bytes. |
| 3328 | Starts with UTF-8 BOM: no |
| 3329 | Starts with UTF-16 BOM: no |
| 3330 | Looks like UTF-8: no |
| 3331 | Has flag LOOK_NUL: yes |
| 3332 | Has flag LOOK_CR: yes |
| @@ -3338,11 +3338,11 @@ | |
| 3338 | Has flag LOOK_INVALID: no |
| 3339 | Has flag LOOK_ODD: no |
| 3340 | Has flag LOOK_SHORT: no} |
| 3341 | |
| 3342 | utf-check 287 utf-check-287-0-93-1.jnk \ |
| 3343 | {File "%TEMP%/utf-check-287-0-93-1.jnk" has 8199 bytes. |
| 3344 | Starts with UTF-8 BOM: no |
| 3345 | Starts with UTF-16 BOM: no |
| 3346 | Looks like UTF-8: no |
| 3347 | Has flag LOOK_NUL: yes |
| 3348 | Has flag LOOK_CR: yes |
| @@ -3354,11 +3354,11 @@ | |
| 3354 | Has flag LOOK_INVALID: no |
| 3355 | Has flag LOOK_ODD: no |
| 3356 | Has flag LOOK_SHORT: no} |
| 3357 | |
| 3358 | utf-check 288 utf-check-288-0-94-0.jnk \ |
| 3359 | {File "%TEMP%/utf-check-288-0-94-0.jnk" has 8198 bytes. |
| 3360 | Starts with UTF-8 BOM: no |
| 3361 | Starts with UTF-16 BOM: no |
| 3362 | Looks like UTF-8: no |
| 3363 | Has flag LOOK_NUL: yes |
| 3364 | Has flag LOOK_CR: no |
| @@ -3370,11 +3370,11 @@ | |
| 3370 | Has flag LOOK_INVALID: no |
| 3371 | Has flag LOOK_ODD: no |
| 3372 | Has flag LOOK_SHORT: no} |
| 3373 | |
| 3374 | utf-check 289 utf-check-289-0-94-1.jnk \ |
| 3375 | {File "%TEMP%/utf-check-289-0-94-1.jnk" has 8199 bytes. |
| 3376 | Starts with UTF-8 BOM: no |
| 3377 | Starts with UTF-16 BOM: no |
| 3378 | Looks like UTF-8: no |
| 3379 | Has flag LOOK_NUL: yes |
| 3380 | Has flag LOOK_CR: no |
| @@ -3386,11 +3386,11 @@ | |
| 3386 | Has flag LOOK_INVALID: no |
| 3387 | Has flag LOOK_ODD: no |
| 3388 | Has flag LOOK_SHORT: no} |
| 3389 | |
| 3390 | utf-check 290 utf-check-290-0-95-0.jnk \ |
| 3391 | {File "%TEMP%/utf-check-290-0-95-0.jnk" has 8199 bytes. |
| 3392 | Starts with UTF-8 BOM: no |
| 3393 | Starts with UTF-16 BOM: no |
| 3394 | Looks like UTF-8: no |
| 3395 | Has flag LOOK_NUL: yes |
| 3396 | Has flag LOOK_CR: yes |
| @@ -3402,11 +3402,11 @@ | |
| 3402 | Has flag LOOK_INVALID: no |
| 3403 | Has flag LOOK_ODD: no |
| 3404 | Has flag LOOK_SHORT: no} |
| 3405 | |
| 3406 | utf-check 291 utf-check-291-0-95-1.jnk \ |
| 3407 | {File "%TEMP%/utf-check-291-0-95-1.jnk" has 8200 bytes. |
| 3408 | Starts with UTF-8 BOM: no |
| 3409 | Starts with UTF-16 BOM: no |
| 3410 | Looks like UTF-8: no |
| 3411 | Has flag LOOK_NUL: yes |
| 3412 | Has flag LOOK_CR: yes |
| @@ -3418,11 +3418,11 @@ | |
| 3418 | Has flag LOOK_INVALID: no |
| 3419 | Has flag LOOK_ODD: no |
| 3420 | Has flag LOOK_SHORT: no} |
| 3421 | |
| 3422 | utf-check 292 utf-check-292-0-96-0.jnk \ |
| 3423 | {File "%TEMP%/utf-check-292-0-96-0.jnk" has 8194 bytes. |
| 3424 | Starts with UTF-8 BOM: no |
| 3425 | Starts with UTF-16 BOM: no |
| 3426 | Looks like UTF-8: no |
| 3427 | Has flag LOOK_NUL: yes |
| 3428 | Has flag LOOK_CR: no |
| @@ -3434,11 +3434,11 @@ | |
| 3434 | Has flag LOOK_INVALID: no |
| 3435 | Has flag LOOK_ODD: no |
| 3436 | Has flag LOOK_SHORT: no} |
| 3437 | |
| 3438 | utf-check 293 utf-check-293-0-96-1.jnk \ |
| 3439 | {File "%TEMP%/utf-check-293-0-96-1.jnk" has 8195 bytes. |
| 3440 | Starts with UTF-8 BOM: no |
| 3441 | Starts with UTF-16 BOM: no |
| 3442 | Looks like UTF-8: no |
| 3443 | Has flag LOOK_NUL: yes |
| 3444 | Has flag LOOK_CR: no |
| @@ -3450,11 +3450,11 @@ | |
| 3450 | Has flag LOOK_INVALID: no |
| 3451 | Has flag LOOK_ODD: no |
| 3452 | Has flag LOOK_SHORT: no} |
| 3453 | |
| 3454 | utf-check 294 utf-check-294-0-97-0.jnk \ |
| 3455 | {File "%TEMP%/utf-check-294-0-97-0.jnk" has 8195 bytes. |
| 3456 | Starts with UTF-8 BOM: no |
| 3457 | Starts with UTF-16 BOM: no |
| 3458 | Looks like UTF-8: no |
| 3459 | Has flag LOOK_NUL: yes |
| 3460 | Has flag LOOK_CR: yes |
| @@ -3466,11 +3466,11 @@ | |
| 3466 | Has flag LOOK_INVALID: no |
| 3467 | Has flag LOOK_ODD: no |
| 3468 | Has flag LOOK_SHORT: no} |
| 3469 | |
| 3470 | utf-check 295 utf-check-295-0-97-1.jnk \ |
| 3471 | {File "%TEMP%/utf-check-295-0-97-1.jnk" has 8196 bytes. |
| 3472 | Starts with UTF-8 BOM: no |
| 3473 | Starts with UTF-16 BOM: no |
| 3474 | Looks like UTF-8: no |
| 3475 | Has flag LOOK_NUL: yes |
| 3476 | Has flag LOOK_CR: yes |
| @@ -3482,11 +3482,11 @@ | |
| 3482 | Has flag LOOK_INVALID: no |
| 3483 | Has flag LOOK_ODD: no |
| 3484 | Has flag LOOK_SHORT: no} |
| 3485 | |
| 3486 | utf-check 296 utf-check-296-0-98-0.jnk \ |
| 3487 | {File "%TEMP%/utf-check-296-0-98-0.jnk" has 8195 bytes. |
| 3488 | Starts with UTF-8 BOM: no |
| 3489 | Starts with UTF-16 BOM: no |
| 3490 | Looks like UTF-8: no |
| 3491 | Has flag LOOK_NUL: yes |
| 3492 | Has flag LOOK_CR: no |
| @@ -3498,11 +3498,11 @@ | |
| 3498 | Has flag LOOK_INVALID: no |
| 3499 | Has flag LOOK_ODD: no |
| 3500 | Has flag LOOK_SHORT: no} |
| 3501 | |
| 3502 | utf-check 297 utf-check-297-0-98-1.jnk \ |
| 3503 | {File "%TEMP%/utf-check-297-0-98-1.jnk" has 8196 bytes. |
| 3504 | Starts with UTF-8 BOM: no |
| 3505 | Starts with UTF-16 BOM: no |
| 3506 | Looks like UTF-8: no |
| 3507 | Has flag LOOK_NUL: yes |
| 3508 | Has flag LOOK_CR: no |
| @@ -3514,11 +3514,11 @@ | |
| 3514 | Has flag LOOK_INVALID: no |
| 3515 | Has flag LOOK_ODD: no |
| 3516 | Has flag LOOK_SHORT: no} |
| 3517 | |
| 3518 | utf-check 298 utf-check-298-0-99-0.jnk \ |
| 3519 | {File "%TEMP%/utf-check-298-0-99-0.jnk" has 8196 bytes. |
| 3520 | Starts with UTF-8 BOM: no |
| 3521 | Starts with UTF-16 BOM: no |
| 3522 | Looks like UTF-8: no |
| 3523 | Has flag LOOK_NUL: yes |
| 3524 | Has flag LOOK_CR: yes |
| @@ -3530,11 +3530,11 @@ | |
| 3530 | Has flag LOOK_INVALID: no |
| 3531 | Has flag LOOK_ODD: no |
| 3532 | Has flag LOOK_SHORT: no} |
| 3533 | |
| 3534 | utf-check 299 utf-check-299-0-99-1.jnk \ |
| 3535 | {File "%TEMP%/utf-check-299-0-99-1.jnk" has 8197 bytes. |
| 3536 | Starts with UTF-8 BOM: no |
| 3537 | Starts with UTF-16 BOM: no |
| 3538 | Looks like UTF-8: no |
| 3539 | Has flag LOOK_NUL: yes |
| 3540 | Has flag LOOK_CR: yes |
| @@ -3546,11 +3546,11 @@ | |
| 3546 | Has flag LOOK_INVALID: no |
| 3547 | Has flag LOOK_ODD: no |
| 3548 | Has flag LOOK_SHORT: no} |
| 3549 | |
| 3550 | utf-check 300 utf-check-300-0-100-0.jnk \ |
| 3551 | {File "%TEMP%/utf-check-300-0-100-0.jnk" has 8197 bytes. |
| 3552 | Starts with UTF-8 BOM: no |
| 3553 | Starts with UTF-16 BOM: no |
| 3554 | Looks like UTF-8: no |
| 3555 | Has flag LOOK_NUL: yes |
| 3556 | Has flag LOOK_CR: no |
| @@ -3562,11 +3562,11 @@ | |
| 3562 | Has flag LOOK_INVALID: no |
| 3563 | Has flag LOOK_ODD: no |
| 3564 | Has flag LOOK_SHORT: no} |
| 3565 | |
| 3566 | utf-check 301 utf-check-301-0-100-1.jnk \ |
| 3567 | {File "%TEMP%/utf-check-301-0-100-1.jnk" has 8198 bytes. |
| 3568 | Starts with UTF-8 BOM: no |
| 3569 | Starts with UTF-16 BOM: no |
| 3570 | Looks like UTF-8: no |
| 3571 | Has flag LOOK_NUL: yes |
| 3572 | Has flag LOOK_CR: no |
| @@ -3578,11 +3578,11 @@ | |
| 3578 | Has flag LOOK_INVALID: no |
| 3579 | Has flag LOOK_ODD: no |
| 3580 | Has flag LOOK_SHORT: no} |
| 3581 | |
| 3582 | utf-check 302 utf-check-302-0-101-0.jnk \ |
| 3583 | {File "%TEMP%/utf-check-302-0-101-0.jnk" has 8198 bytes. |
| 3584 | Starts with UTF-8 BOM: no |
| 3585 | Starts with UTF-16 BOM: no |
| 3586 | Looks like UTF-8: no |
| 3587 | Has flag LOOK_NUL: yes |
| 3588 | Has flag LOOK_CR: yes |
| @@ -3594,11 +3594,11 @@ | |
| 3594 | Has flag LOOK_INVALID: no |
| 3595 | Has flag LOOK_ODD: no |
| 3596 | Has flag LOOK_SHORT: no} |
| 3597 | |
| 3598 | utf-check 303 utf-check-303-0-101-1.jnk \ |
| 3599 | {File "%TEMP%/utf-check-303-0-101-1.jnk" has 8199 bytes. |
| 3600 | Starts with UTF-8 BOM: no |
| 3601 | Starts with UTF-16 BOM: no |
| 3602 | Looks like UTF-8: no |
| 3603 | Has flag LOOK_NUL: yes |
| 3604 | Has flag LOOK_CR: yes |
| @@ -3610,11 +3610,11 @@ | |
| 3610 | Has flag LOOK_INVALID: no |
| 3611 | Has flag LOOK_ODD: no |
| 3612 | Has flag LOOK_SHORT: no} |
| 3613 | |
| 3614 | utf-check 304 utf-check-304-0-102-0.jnk \ |
| 3615 | {File "%TEMP%/utf-check-304-0-102-0.jnk" has 8198 bytes. |
| 3616 | Starts with UTF-8 BOM: no |
| 3617 | Starts with UTF-16 BOM: no |
| 3618 | Looks like UTF-8: no |
| 3619 | Has flag LOOK_NUL: yes |
| 3620 | Has flag LOOK_CR: no |
| @@ -3626,11 +3626,11 @@ | |
| 3626 | Has flag LOOK_INVALID: no |
| 3627 | Has flag LOOK_ODD: no |
| 3628 | Has flag LOOK_SHORT: no} |
| 3629 | |
| 3630 | utf-check 305 utf-check-305-0-102-1.jnk \ |
| 3631 | {File "%TEMP%/utf-check-305-0-102-1.jnk" has 8199 bytes. |
| 3632 | Starts with UTF-8 BOM: no |
| 3633 | Starts with UTF-16 BOM: no |
| 3634 | Looks like UTF-8: no |
| 3635 | Has flag LOOK_NUL: yes |
| 3636 | Has flag LOOK_CR: no |
| @@ -3642,11 +3642,11 @@ | |
| 3642 | Has flag LOOK_INVALID: no |
| 3643 | Has flag LOOK_ODD: no |
| 3644 | Has flag LOOK_SHORT: no} |
| 3645 | |
| 3646 | utf-check 306 utf-check-306-0-103-0.jnk \ |
| 3647 | {File "%TEMP%/utf-check-306-0-103-0.jnk" has 8199 bytes. |
| 3648 | Starts with UTF-8 BOM: no |
| 3649 | Starts with UTF-16 BOM: no |
| 3650 | Looks like UTF-8: no |
| 3651 | Has flag LOOK_NUL: yes |
| 3652 | Has flag LOOK_CR: yes |
| @@ -3658,11 +3658,11 @@ | |
| 3658 | Has flag LOOK_INVALID: no |
| 3659 | Has flag LOOK_ODD: no |
| 3660 | Has flag LOOK_SHORT: no} |
| 3661 | |
| 3662 | utf-check 307 utf-check-307-0-103-1.jnk \ |
| 3663 | {File "%TEMP%/utf-check-307-0-103-1.jnk" has 8200 bytes. |
| 3664 | Starts with UTF-8 BOM: no |
| 3665 | Starts with UTF-16 BOM: no |
| 3666 | Looks like UTF-8: no |
| 3667 | Has flag LOOK_NUL: yes |
| 3668 | Has flag LOOK_CR: yes |
| @@ -3674,11 +3674,11 @@ | |
| 3674 | Has flag LOOK_INVALID: no |
| 3675 | Has flag LOOK_ODD: no |
| 3676 | Has flag LOOK_SHORT: no} |
| 3677 | |
| 3678 | utf-check 308 utf-check-308-0-104-0.jnk \ |
| 3679 | {File "%TEMP%/utf-check-308-0-104-0.jnk" has 8195 bytes. |
| 3680 | Starts with UTF-8 BOM: no |
| 3681 | Starts with UTF-16 BOM: no |
| 3682 | Looks like UTF-8: no |
| 3683 | Has flag LOOK_NUL: yes |
| 3684 | Has flag LOOK_CR: no |
| @@ -3690,11 +3690,11 @@ | |
| 3690 | Has flag LOOK_INVALID: no |
| 3691 | Has flag LOOK_ODD: no |
| 3692 | Has flag LOOK_SHORT: no} |
| 3693 | |
| 3694 | utf-check 309 utf-check-309-0-104-1.jnk \ |
| 3695 | {File "%TEMP%/utf-check-309-0-104-1.jnk" has 8196 bytes. |
| 3696 | Starts with UTF-8 BOM: no |
| 3697 | Starts with UTF-16 BOM: no |
| 3698 | Looks like UTF-8: no |
| 3699 | Has flag LOOK_NUL: yes |
| 3700 | Has flag LOOK_CR: no |
| @@ -3706,11 +3706,11 @@ | |
| 3706 | Has flag LOOK_INVALID: no |
| 3707 | Has flag LOOK_ODD: no |
| 3708 | Has flag LOOK_SHORT: no} |
| 3709 | |
| 3710 | utf-check 310 utf-check-310-0-105-0.jnk \ |
| 3711 | {File "%TEMP%/utf-check-310-0-105-0.jnk" has 8196 bytes. |
| 3712 | Starts with UTF-8 BOM: no |
| 3713 | Starts with UTF-16 BOM: no |
| 3714 | Looks like UTF-8: no |
| 3715 | Has flag LOOK_NUL: yes |
| 3716 | Has flag LOOK_CR: yes |
| @@ -3722,11 +3722,11 @@ | |
| 3722 | Has flag LOOK_INVALID: no |
| 3723 | Has flag LOOK_ODD: no |
| 3724 | Has flag LOOK_SHORT: no} |
| 3725 | |
| 3726 | utf-check 311 utf-check-311-0-105-1.jnk \ |
| 3727 | {File "%TEMP%/utf-check-311-0-105-1.jnk" has 8197 bytes. |
| 3728 | Starts with UTF-8 BOM: no |
| 3729 | Starts with UTF-16 BOM: no |
| 3730 | Looks like UTF-8: no |
| 3731 | Has flag LOOK_NUL: yes |
| 3732 | Has flag LOOK_CR: yes |
| @@ -3738,11 +3738,11 @@ | |
| 3738 | Has flag LOOK_INVALID: no |
| 3739 | Has flag LOOK_ODD: no |
| 3740 | Has flag LOOK_SHORT: no} |
| 3741 | |
| 3742 | utf-check 312 utf-check-312-0-106-0.jnk \ |
| 3743 | {File "%TEMP%/utf-check-312-0-106-0.jnk" has 8196 bytes. |
| 3744 | Starts with UTF-8 BOM: no |
| 3745 | Starts with UTF-16 BOM: no |
| 3746 | Looks like UTF-8: no |
| 3747 | Has flag LOOK_NUL: yes |
| 3748 | Has flag LOOK_CR: no |
| @@ -3754,11 +3754,11 @@ | |
| 3754 | Has flag LOOK_INVALID: no |
| 3755 | Has flag LOOK_ODD: no |
| 3756 | Has flag LOOK_SHORT: no} |
| 3757 | |
| 3758 | utf-check 313 utf-check-313-0-106-1.jnk \ |
| 3759 | {File "%TEMP%/utf-check-313-0-106-1.jnk" has 8197 bytes. |
| 3760 | Starts with UTF-8 BOM: no |
| 3761 | Starts with UTF-16 BOM: no |
| 3762 | Looks like UTF-8: no |
| 3763 | Has flag LOOK_NUL: yes |
| 3764 | Has flag LOOK_CR: no |
| @@ -3770,11 +3770,11 @@ | |
| 3770 | Has flag LOOK_INVALID: no |
| 3771 | Has flag LOOK_ODD: no |
| 3772 | Has flag LOOK_SHORT: no} |
| 3773 | |
| 3774 | utf-check 314 utf-check-314-0-107-0.jnk \ |
| 3775 | {File "%TEMP%/utf-check-314-0-107-0.jnk" has 8197 bytes. |
| 3776 | Starts with UTF-8 BOM: no |
| 3777 | Starts with UTF-16 BOM: no |
| 3778 | Looks like UTF-8: no |
| 3779 | Has flag LOOK_NUL: yes |
| 3780 | Has flag LOOK_CR: yes |
| @@ -3786,11 +3786,11 @@ | |
| 3786 | Has flag LOOK_INVALID: no |
| 3787 | Has flag LOOK_ODD: no |
| 3788 | Has flag LOOK_SHORT: no} |
| 3789 | |
| 3790 | utf-check 315 utf-check-315-0-107-1.jnk \ |
| 3791 | {File "%TEMP%/utf-check-315-0-107-1.jnk" has 8198 bytes. |
| 3792 | Starts with UTF-8 BOM: no |
| 3793 | Starts with UTF-16 BOM: no |
| 3794 | Looks like UTF-8: no |
| 3795 | Has flag LOOK_NUL: yes |
| 3796 | Has flag LOOK_CR: yes |
| @@ -3802,11 +3802,11 @@ | |
| 3802 | Has flag LOOK_INVALID: no |
| 3803 | Has flag LOOK_ODD: no |
| 3804 | Has flag LOOK_SHORT: no} |
| 3805 | |
| 3806 | utf-check 316 utf-check-316-0-108-0.jnk \ |
| 3807 | {File "%TEMP%/utf-check-316-0-108-0.jnk" has 8198 bytes. |
| 3808 | Starts with UTF-8 BOM: no |
| 3809 | Starts with UTF-16 BOM: no |
| 3810 | Looks like UTF-8: no |
| 3811 | Has flag LOOK_NUL: yes |
| 3812 | Has flag LOOK_CR: no |
| @@ -3818,11 +3818,11 @@ | |
| 3818 | Has flag LOOK_INVALID: no |
| 3819 | Has flag LOOK_ODD: no |
| 3820 | Has flag LOOK_SHORT: no} |
| 3821 | |
| 3822 | utf-check 317 utf-check-317-0-108-1.jnk \ |
| 3823 | {File "%TEMP%/utf-check-317-0-108-1.jnk" has 8199 bytes. |
| 3824 | Starts with UTF-8 BOM: no |
| 3825 | Starts with UTF-16 BOM: no |
| 3826 | Looks like UTF-8: no |
| 3827 | Has flag LOOK_NUL: yes |
| 3828 | Has flag LOOK_CR: no |
| @@ -3834,11 +3834,11 @@ | |
| 3834 | Has flag LOOK_INVALID: no |
| 3835 | Has flag LOOK_ODD: no |
| 3836 | Has flag LOOK_SHORT: no} |
| 3837 | |
| 3838 | utf-check 318 utf-check-318-0-109-0.jnk \ |
| 3839 | {File "%TEMP%/utf-check-318-0-109-0.jnk" has 8199 bytes. |
| 3840 | Starts with UTF-8 BOM: no |
| 3841 | Starts with UTF-16 BOM: no |
| 3842 | Looks like UTF-8: no |
| 3843 | Has flag LOOK_NUL: yes |
| 3844 | Has flag LOOK_CR: yes |
| @@ -3850,11 +3850,11 @@ | |
| 3850 | Has flag LOOK_INVALID: no |
| 3851 | Has flag LOOK_ODD: no |
| 3852 | Has flag LOOK_SHORT: no} |
| 3853 | |
| 3854 | utf-check 319 utf-check-319-0-109-1.jnk \ |
| 3855 | {File "%TEMP%/utf-check-319-0-109-1.jnk" has 8200 bytes. |
| 3856 | Starts with UTF-8 BOM: no |
| 3857 | Starts with UTF-16 BOM: no |
| 3858 | Looks like UTF-8: no |
| 3859 | Has flag LOOK_NUL: yes |
| 3860 | Has flag LOOK_CR: yes |
| @@ -3866,11 +3866,11 @@ | |
| 3866 | Has flag LOOK_INVALID: no |
| 3867 | Has flag LOOK_ODD: no |
| 3868 | Has flag LOOK_SHORT: no} |
| 3869 | |
| 3870 | utf-check 320 utf-check-320-0-110-0.jnk \ |
| 3871 | {File "%TEMP%/utf-check-320-0-110-0.jnk" has 8199 bytes. |
| 3872 | Starts with UTF-8 BOM: no |
| 3873 | Starts with UTF-16 BOM: no |
| 3874 | Looks like UTF-8: no |
| 3875 | Has flag LOOK_NUL: yes |
| 3876 | Has flag LOOK_CR: no |
| @@ -3882,11 +3882,11 @@ | |
| 3882 | Has flag LOOK_INVALID: no |
| 3883 | Has flag LOOK_ODD: no |
| 3884 | Has flag LOOK_SHORT: no} |
| 3885 | |
| 3886 | utf-check 321 utf-check-321-0-110-1.jnk \ |
| 3887 | {File "%TEMP%/utf-check-321-0-110-1.jnk" has 8200 bytes. |
| 3888 | Starts with UTF-8 BOM: no |
| 3889 | Starts with UTF-16 BOM: no |
| 3890 | Looks like UTF-8: no |
| 3891 | Has flag LOOK_NUL: yes |
| 3892 | Has flag LOOK_CR: no |
| @@ -3898,11 +3898,11 @@ | |
| 3898 | Has flag LOOK_INVALID: no |
| 3899 | Has flag LOOK_ODD: no |
| 3900 | Has flag LOOK_SHORT: no} |
| 3901 | |
| 3902 | utf-check 322 utf-check-322-0-111-0.jnk \ |
| 3903 | {File "%TEMP%/utf-check-322-0-111-0.jnk" has 8200 bytes. |
| 3904 | Starts with UTF-8 BOM: no |
| 3905 | Starts with UTF-16 BOM: no |
| 3906 | Looks like UTF-8: no |
| 3907 | Has flag LOOK_NUL: yes |
| 3908 | Has flag LOOK_CR: yes |
| @@ -3914,11 +3914,11 @@ | |
| 3914 | Has flag LOOK_INVALID: no |
| 3915 | Has flag LOOK_ODD: no |
| 3916 | Has flag LOOK_SHORT: no} |
| 3917 | |
| 3918 | utf-check 323 utf-check-323-0-111-1.jnk \ |
| 3919 | {File "%TEMP%/utf-check-323-0-111-1.jnk" has 8201 bytes. |
| 3920 | Starts with UTF-8 BOM: no |
| 3921 | Starts with UTF-16 BOM: no |
| 3922 | Looks like UTF-8: no |
| 3923 | Has flag LOOK_NUL: yes |
| 3924 | Has flag LOOK_CR: yes |
| @@ -9466,11 +9466,11 @@ | |
| 9466 | Has flag LOOK_INVALID: no |
| 9467 | Has flag LOOK_ODD: no |
| 9468 | Has flag LOOK_SHORT: no} |
| 9469 | |
| 9470 | utf-check 670 utf-check-670-1-80-0.jnk \ |
| 9471 | {File "%TEMP%/utf-check-670-1-80-0.jnk" has 8196 bytes. |
| 9472 | Starts with UTF-8 BOM: yes |
| 9473 | Starts with UTF-16 BOM: no |
| 9474 | Looks like UTF-8: no |
| 9475 | Has flag LOOK_NUL: no |
| 9476 | Has flag LOOK_CR: no |
| @@ -9482,11 +9482,11 @@ | |
| 9482 | Has flag LOOK_INVALID: no |
| 9483 | Has flag LOOK_ODD: no |
| 9484 | Has flag LOOK_SHORT: no} |
| 9485 | |
| 9486 | utf-check 671 utf-check-671-1-80-1.jnk \ |
| 9487 | {File "%TEMP%/utf-check-671-1-80-1.jnk" has 8197 bytes. |
| 9488 | Starts with UTF-8 BOM: yes |
| 9489 | Starts with UTF-16 BOM: no |
| 9490 | Looks like UTF-8: no |
| 9491 | Has flag LOOK_NUL: no |
| 9492 | Has flag LOOK_CR: no |
| @@ -9498,11 +9498,11 @@ | |
| 9498 | Has flag LOOK_INVALID: no |
| 9499 | Has flag LOOK_ODD: no |
| 9500 | Has flag LOOK_SHORT: no} |
| 9501 | |
| 9502 | utf-check 672 utf-check-672-1-81-0.jnk \ |
| 9503 | {File "%TEMP%/utf-check-672-1-81-0.jnk" has 8197 bytes. |
| 9504 | Starts with UTF-8 BOM: yes |
| 9505 | Starts with UTF-16 BOM: no |
| 9506 | Looks like UTF-8: no |
| 9507 | Has flag LOOK_NUL: no |
| 9508 | Has flag LOOK_CR: yes |
| @@ -9514,11 +9514,11 @@ | |
| 9514 | Has flag LOOK_INVALID: no |
| 9515 | Has flag LOOK_ODD: no |
| 9516 | Has flag LOOK_SHORT: no} |
| 9517 | |
| 9518 | utf-check 673 utf-check-673-1-81-1.jnk \ |
| 9519 | {File "%TEMP%/utf-check-673-1-81-1.jnk" has 8198 bytes. |
| 9520 | Starts with UTF-8 BOM: yes |
| 9521 | Starts with UTF-16 BOM: no |
| 9522 | Looks like UTF-8: no |
| 9523 | Has flag LOOK_NUL: no |
| 9524 | Has flag LOOK_CR: yes |
| @@ -9530,11 +9530,11 @@ | |
| 9530 | Has flag LOOK_INVALID: no |
| 9531 | Has flag LOOK_ODD: no |
| 9532 | Has flag LOOK_SHORT: no} |
| 9533 | |
| 9534 | utf-check 674 utf-check-674-1-82-0.jnk \ |
| 9535 | {File "%TEMP%/utf-check-674-1-82-0.jnk" has 8197 bytes. |
| 9536 | Starts with UTF-8 BOM: yes |
| 9537 | Starts with UTF-16 BOM: no |
| 9538 | Looks like UTF-8: no |
| 9539 | Has flag LOOK_NUL: no |
| 9540 | Has flag LOOK_CR: no |
| @@ -9546,11 +9546,11 @@ | |
| 9546 | Has flag LOOK_INVALID: no |
| 9547 | Has flag LOOK_ODD: no |
| 9548 | Has flag LOOK_SHORT: no} |
| 9549 | |
| 9550 | utf-check 675 utf-check-675-1-82-1.jnk \ |
| 9551 | {File "%TEMP%/utf-check-675-1-82-1.jnk" has 8198 bytes. |
| 9552 | Starts with UTF-8 BOM: yes |
| 9553 | Starts with UTF-16 BOM: no |
| 9554 | Looks like UTF-8: no |
| 9555 | Has flag LOOK_NUL: no |
| 9556 | Has flag LOOK_CR: no |
| @@ -9562,11 +9562,11 @@ | |
| 9562 | Has flag LOOK_INVALID: no |
| 9563 | Has flag LOOK_ODD: no |
| 9564 | Has flag LOOK_SHORT: no} |
| 9565 | |
| 9566 | utf-check 676 utf-check-676-1-83-0.jnk \ |
| 9567 | {File "%TEMP%/utf-check-676-1-83-0.jnk" has 8198 bytes. |
| 9568 | Starts with UTF-8 BOM: yes |
| 9569 | Starts with UTF-16 BOM: no |
| 9570 | Looks like UTF-8: no |
| 9571 | Has flag LOOK_NUL: no |
| 9572 | Has flag LOOK_CR: yes |
| @@ -9578,11 +9578,11 @@ | |
| 9578 | Has flag LOOK_INVALID: no |
| 9579 | Has flag LOOK_ODD: no |
| 9580 | Has flag LOOK_SHORT: no} |
| 9581 | |
| 9582 | utf-check 677 utf-check-677-1-83-1.jnk \ |
| 9583 | {File "%TEMP%/utf-check-677-1-83-1.jnk" has 8199 bytes. |
| 9584 | Starts with UTF-8 BOM: yes |
| 9585 | Starts with UTF-16 BOM: no |
| 9586 | Looks like UTF-8: no |
| 9587 | Has flag LOOK_NUL: no |
| 9588 | Has flag LOOK_CR: yes |
| @@ -9594,11 +9594,11 @@ | |
| 9594 | Has flag LOOK_INVALID: no |
| 9595 | Has flag LOOK_ODD: no |
| 9596 | Has flag LOOK_SHORT: no} |
| 9597 | |
| 9598 | utf-check 678 utf-check-678-1-84-0.jnk \ |
| 9599 | {File "%TEMP%/utf-check-678-1-84-0.jnk" has 8199 bytes. |
| 9600 | Starts with UTF-8 BOM: yes |
| 9601 | Starts with UTF-16 BOM: no |
| 9602 | Looks like UTF-8: no |
| 9603 | Has flag LOOK_NUL: no |
| 9604 | Has flag LOOK_CR: no |
| @@ -9610,11 +9610,11 @@ | |
| 9610 | Has flag LOOK_INVALID: no |
| 9611 | Has flag LOOK_ODD: no |
| 9612 | Has flag LOOK_SHORT: no} |
| 9613 | |
| 9614 | utf-check 679 utf-check-679-1-84-1.jnk \ |
| 9615 | {File "%TEMP%/utf-check-679-1-84-1.jnk" has 8200 bytes. |
| 9616 | Starts with UTF-8 BOM: yes |
| 9617 | Starts with UTF-16 BOM: no |
| 9618 | Looks like UTF-8: no |
| 9619 | Has flag LOOK_NUL: no |
| 9620 | Has flag LOOK_CR: no |
| @@ -9626,11 +9626,11 @@ | |
| 9626 | Has flag LOOK_INVALID: no |
| 9627 | Has flag LOOK_ODD: no |
| 9628 | Has flag LOOK_SHORT: no} |
| 9629 | |
| 9630 | utf-check 680 utf-check-680-1-85-0.jnk \ |
| 9631 | {File "%TEMP%/utf-check-680-1-85-0.jnk" has 8200 bytes. |
| 9632 | Starts with UTF-8 BOM: yes |
| 9633 | Starts with UTF-16 BOM: no |
| 9634 | Looks like UTF-8: no |
| 9635 | Has flag LOOK_NUL: no |
| 9636 | Has flag LOOK_CR: yes |
| @@ -9642,11 +9642,11 @@ | |
| 9642 | Has flag LOOK_INVALID: no |
| 9643 | Has flag LOOK_ODD: no |
| 9644 | Has flag LOOK_SHORT: no} |
| 9645 | |
| 9646 | utf-check 681 utf-check-681-1-85-1.jnk \ |
| 9647 | {File "%TEMP%/utf-check-681-1-85-1.jnk" has 8201 bytes. |
| 9648 | Starts with UTF-8 BOM: yes |
| 9649 | Starts with UTF-16 BOM: no |
| 9650 | Looks like UTF-8: no |
| 9651 | Has flag LOOK_NUL: no |
| 9652 | Has flag LOOK_CR: yes |
| @@ -9658,11 +9658,11 @@ | |
| 9658 | Has flag LOOK_INVALID: no |
| 9659 | Has flag LOOK_ODD: no |
| 9660 | Has flag LOOK_SHORT: no} |
| 9661 | |
| 9662 | utf-check 682 utf-check-682-1-86-0.jnk \ |
| 9663 | {File "%TEMP%/utf-check-682-1-86-0.jnk" has 8200 bytes. |
| 9664 | Starts with UTF-8 BOM: yes |
| 9665 | Starts with UTF-16 BOM: no |
| 9666 | Looks like UTF-8: no |
| 9667 | Has flag LOOK_NUL: no |
| 9668 | Has flag LOOK_CR: no |
| @@ -9674,11 +9674,11 @@ | |
| 9674 | Has flag LOOK_INVALID: no |
| 9675 | Has flag LOOK_ODD: no |
| 9676 | Has flag LOOK_SHORT: no} |
| 9677 | |
| 9678 | utf-check 683 utf-check-683-1-86-1.jnk \ |
| 9679 | {File "%TEMP%/utf-check-683-1-86-1.jnk" has 8201 bytes. |
| 9680 | Starts with UTF-8 BOM: yes |
| 9681 | Starts with UTF-16 BOM: no |
| 9682 | Looks like UTF-8: no |
| 9683 | Has flag LOOK_NUL: no |
| 9684 | Has flag LOOK_CR: no |
| @@ -9690,11 +9690,11 @@ | |
| 9690 | Has flag LOOK_INVALID: no |
| 9691 | Has flag LOOK_ODD: no |
| 9692 | Has flag LOOK_SHORT: no} |
| 9693 | |
| 9694 | utf-check 684 utf-check-684-1-87-0.jnk \ |
| 9695 | {File "%TEMP%/utf-check-684-1-87-0.jnk" has 8201 bytes. |
| 9696 | Starts with UTF-8 BOM: yes |
| 9697 | Starts with UTF-16 BOM: no |
| 9698 | Looks like UTF-8: no |
| 9699 | Has flag LOOK_NUL: no |
| 9700 | Has flag LOOK_CR: yes |
| @@ -9706,11 +9706,11 @@ | |
| 9706 | Has flag LOOK_INVALID: no |
| 9707 | Has flag LOOK_ODD: no |
| 9708 | Has flag LOOK_SHORT: no} |
| 9709 | |
| 9710 | utf-check 685 utf-check-685-1-87-1.jnk \ |
| 9711 | {File "%TEMP%/utf-check-685-1-87-1.jnk" has 8202 bytes. |
| 9712 | Starts with UTF-8 BOM: yes |
| 9713 | Starts with UTF-16 BOM: no |
| 9714 | Looks like UTF-8: no |
| 9715 | Has flag LOOK_NUL: no |
| 9716 | Has flag LOOK_CR: yes |
| @@ -9722,11 +9722,11 @@ | |
| 9722 | Has flag LOOK_INVALID: no |
| 9723 | Has flag LOOK_ODD: no |
| 9724 | Has flag LOOK_SHORT: no} |
| 9725 | |
| 9726 | utf-check 686 utf-check-686-1-88-0.jnk \ |
| 9727 | {File "%TEMP%/utf-check-686-1-88-0.jnk" has 8197 bytes. |
| 9728 | Starts with UTF-8 BOM: yes |
| 9729 | Starts with UTF-16 BOM: no |
| 9730 | Looks like UTF-8: no |
| 9731 | Has flag LOOK_NUL: yes |
| 9732 | Has flag LOOK_CR: no |
| @@ -9738,11 +9738,11 @@ | |
| 9738 | Has flag LOOK_INVALID: no |
| 9739 | Has flag LOOK_ODD: no |
| 9740 | Has flag LOOK_SHORT: no} |
| 9741 | |
| 9742 | utf-check 687 utf-check-687-1-88-1.jnk \ |
| 9743 | {File "%TEMP%/utf-check-687-1-88-1.jnk" has 8198 bytes. |
| 9744 | Starts with UTF-8 BOM: yes |
| 9745 | Starts with UTF-16 BOM: no |
| 9746 | Looks like UTF-8: no |
| 9747 | Has flag LOOK_NUL: yes |
| 9748 | Has flag LOOK_CR: no |
| @@ -9754,11 +9754,11 @@ | |
| 9754 | Has flag LOOK_INVALID: no |
| 9755 | Has flag LOOK_ODD: no |
| 9756 | Has flag LOOK_SHORT: no} |
| 9757 | |
| 9758 | utf-check 688 utf-check-688-1-89-0.jnk \ |
| 9759 | {File "%TEMP%/utf-check-688-1-89-0.jnk" has 8198 bytes. |
| 9760 | Starts with UTF-8 BOM: yes |
| 9761 | Starts with UTF-16 BOM: no |
| 9762 | Looks like UTF-8: no |
| 9763 | Has flag LOOK_NUL: yes |
| 9764 | Has flag LOOK_CR: yes |
| @@ -9770,11 +9770,11 @@ | |
| 9770 | Has flag LOOK_INVALID: no |
| 9771 | Has flag LOOK_ODD: no |
| 9772 | Has flag LOOK_SHORT: no} |
| 9773 | |
| 9774 | utf-check 689 utf-check-689-1-89-1.jnk \ |
| 9775 | {File "%TEMP%/utf-check-689-1-89-1.jnk" has 8199 bytes. |
| 9776 | Starts with UTF-8 BOM: yes |
| 9777 | Starts with UTF-16 BOM: no |
| 9778 | Looks like UTF-8: no |
| 9779 | Has flag LOOK_NUL: yes |
| 9780 | Has flag LOOK_CR: yes |
| @@ -9786,11 +9786,11 @@ | |
| 9786 | Has flag LOOK_INVALID: no |
| 9787 | Has flag LOOK_ODD: no |
| 9788 | Has flag LOOK_SHORT: no} |
| 9789 | |
| 9790 | utf-check 690 utf-check-690-1-90-0.jnk \ |
| 9791 | {File "%TEMP%/utf-check-690-1-90-0.jnk" has 8198 bytes. |
| 9792 | Starts with UTF-8 BOM: yes |
| 9793 | Starts with UTF-16 BOM: no |
| 9794 | Looks like UTF-8: no |
| 9795 | Has flag LOOK_NUL: yes |
| 9796 | Has flag LOOK_CR: no |
| @@ -9802,11 +9802,11 @@ | |
| 9802 | Has flag LOOK_INVALID: no |
| 9803 | Has flag LOOK_ODD: no |
| 9804 | Has flag LOOK_SHORT: no} |
| 9805 | |
| 9806 | utf-check 691 utf-check-691-1-90-1.jnk \ |
| 9807 | {File "%TEMP%/utf-check-691-1-90-1.jnk" has 8199 bytes. |
| 9808 | Starts with UTF-8 BOM: yes |
| 9809 | Starts with UTF-16 BOM: no |
| 9810 | Looks like UTF-8: no |
| 9811 | Has flag LOOK_NUL: yes |
| 9812 | Has flag LOOK_CR: no |
| @@ -9818,11 +9818,11 @@ | |
| 9818 | Has flag LOOK_INVALID: no |
| 9819 | Has flag LOOK_ODD: no |
| 9820 | Has flag LOOK_SHORT: no} |
| 9821 | |
| 9822 | utf-check 692 utf-check-692-1-91-0.jnk \ |
| 9823 | {File "%TEMP%/utf-check-692-1-91-0.jnk" has 8199 bytes. |
| 9824 | Starts with UTF-8 BOM: yes |
| 9825 | Starts with UTF-16 BOM: no |
| 9826 | Looks like UTF-8: no |
| 9827 | Has flag LOOK_NUL: yes |
| 9828 | Has flag LOOK_CR: yes |
| @@ -9834,11 +9834,11 @@ | |
| 9834 | Has flag LOOK_INVALID: no |
| 9835 | Has flag LOOK_ODD: no |
| 9836 | Has flag LOOK_SHORT: no} |
| 9837 | |
| 9838 | utf-check 693 utf-check-693-1-91-1.jnk \ |
| 9839 | {File "%TEMP%/utf-check-693-1-91-1.jnk" has 8200 bytes. |
| 9840 | Starts with UTF-8 BOM: yes |
| 9841 | Starts with UTF-16 BOM: no |
| 9842 | Looks like UTF-8: no |
| 9843 | Has flag LOOK_NUL: yes |
| 9844 | Has flag LOOK_CR: yes |
| @@ -9850,11 +9850,11 @@ | |
| 9850 | Has flag LOOK_INVALID: no |
| 9851 | Has flag LOOK_ODD: no |
| 9852 | Has flag LOOK_SHORT: no} |
| 9853 | |
| 9854 | utf-check 694 utf-check-694-1-92-0.jnk \ |
| 9855 | {File "%TEMP%/utf-check-694-1-92-0.jnk" has 8200 bytes. |
| 9856 | Starts with UTF-8 BOM: yes |
| 9857 | Starts with UTF-16 BOM: no |
| 9858 | Looks like UTF-8: no |
| 9859 | Has flag LOOK_NUL: yes |
| 9860 | Has flag LOOK_CR: no |
| @@ -9866,11 +9866,11 @@ | |
| 9866 | Has flag LOOK_INVALID: no |
| 9867 | Has flag LOOK_ODD: no |
| 9868 | Has flag LOOK_SHORT: no} |
| 9869 | |
| 9870 | utf-check 695 utf-check-695-1-92-1.jnk \ |
| 9871 | {File "%TEMP%/utf-check-695-1-92-1.jnk" has 8201 bytes. |
| 9872 | Starts with UTF-8 BOM: yes |
| 9873 | Starts with UTF-16 BOM: no |
| 9874 | Looks like UTF-8: no |
| 9875 | Has flag LOOK_NUL: yes |
| 9876 | Has flag LOOK_CR: no |
| @@ -9882,11 +9882,11 @@ | |
| 9882 | Has flag LOOK_INVALID: no |
| 9883 | Has flag LOOK_ODD: no |
| 9884 | Has flag LOOK_SHORT: no} |
| 9885 | |
| 9886 | utf-check 696 utf-check-696-1-93-0.jnk \ |
| 9887 | {File "%TEMP%/utf-check-696-1-93-0.jnk" has 8201 bytes. |
| 9888 | Starts with UTF-8 BOM: yes |
| 9889 | Starts with UTF-16 BOM: no |
| 9890 | Looks like UTF-8: no |
| 9891 | Has flag LOOK_NUL: yes |
| 9892 | Has flag LOOK_CR: yes |
| @@ -9898,11 +9898,11 @@ | |
| 9898 | Has flag LOOK_INVALID: no |
| 9899 | Has flag LOOK_ODD: no |
| 9900 | Has flag LOOK_SHORT: no} |
| 9901 | |
| 9902 | utf-check 697 utf-check-697-1-93-1.jnk \ |
| 9903 | {File "%TEMP%/utf-check-697-1-93-1.jnk" has 8202 bytes. |
| 9904 | Starts with UTF-8 BOM: yes |
| 9905 | Starts with UTF-16 BOM: no |
| 9906 | Looks like UTF-8: no |
| 9907 | Has flag LOOK_NUL: yes |
| 9908 | Has flag LOOK_CR: yes |
| @@ -9914,11 +9914,11 @@ | |
| 9914 | Has flag LOOK_INVALID: no |
| 9915 | Has flag LOOK_ODD: no |
| 9916 | Has flag LOOK_SHORT: no} |
| 9917 | |
| 9918 | utf-check 698 utf-check-698-1-94-0.jnk \ |
| 9919 | {File "%TEMP%/utf-check-698-1-94-0.jnk" has 8201 bytes. |
| 9920 | Starts with UTF-8 BOM: yes |
| 9921 | Starts with UTF-16 BOM: no |
| 9922 | Looks like UTF-8: no |
| 9923 | Has flag LOOK_NUL: yes |
| 9924 | Has flag LOOK_CR: no |
| @@ -9930,11 +9930,11 @@ | |
| 9930 | Has flag LOOK_INVALID: no |
| 9931 | Has flag LOOK_ODD: no |
| 9932 | Has flag LOOK_SHORT: no} |
| 9933 | |
| 9934 | utf-check 699 utf-check-699-1-94-1.jnk \ |
| 9935 | {File "%TEMP%/utf-check-699-1-94-1.jnk" has 8202 bytes. |
| 9936 | Starts with UTF-8 BOM: yes |
| 9937 | Starts with UTF-16 BOM: no |
| 9938 | Looks like UTF-8: no |
| 9939 | Has flag LOOK_NUL: yes |
| 9940 | Has flag LOOK_CR: no |
| @@ -9946,11 +9946,11 @@ | |
| 9946 | Has flag LOOK_INVALID: no |
| 9947 | Has flag LOOK_ODD: no |
| 9948 | Has flag LOOK_SHORT: no} |
| 9949 | |
| 9950 | utf-check 700 utf-check-700-1-95-0.jnk \ |
| 9951 | {File "%TEMP%/utf-check-700-1-95-0.jnk" has 8202 bytes. |
| 9952 | Starts with UTF-8 BOM: yes |
| 9953 | Starts with UTF-16 BOM: no |
| 9954 | Looks like UTF-8: no |
| 9955 | Has flag LOOK_NUL: yes |
| 9956 | Has flag LOOK_CR: yes |
| @@ -9962,11 +9962,11 @@ | |
| 9962 | Has flag LOOK_INVALID: no |
| 9963 | Has flag LOOK_ODD: no |
| 9964 | Has flag LOOK_SHORT: no} |
| 9965 | |
| 9966 | utf-check 701 utf-check-701-1-95-1.jnk \ |
| 9967 | {File "%TEMP%/utf-check-701-1-95-1.jnk" has 8203 bytes. |
| 9968 | Starts with UTF-8 BOM: yes |
| 9969 | Starts with UTF-16 BOM: no |
| 9970 | Looks like UTF-8: no |
| 9971 | Has flag LOOK_NUL: yes |
| 9972 | Has flag LOOK_CR: yes |
| @@ -9978,11 +9978,11 @@ | |
| 9978 | Has flag LOOK_INVALID: no |
| 9979 | Has flag LOOK_ODD: no |
| 9980 | Has flag LOOK_SHORT: no} |
| 9981 | |
| 9982 | utf-check 702 utf-check-702-1-96-0.jnk \ |
| 9983 | {File "%TEMP%/utf-check-702-1-96-0.jnk" has 8197 bytes. |
| 9984 | Starts with UTF-8 BOM: yes |
| 9985 | Starts with UTF-16 BOM: no |
| 9986 | Looks like UTF-8: no |
| 9987 | Has flag LOOK_NUL: yes |
| 9988 | Has flag LOOK_CR: no |
| @@ -9994,11 +9994,11 @@ | |
| 9994 | Has flag LOOK_INVALID: no |
| 9995 | Has flag LOOK_ODD: no |
| 9996 | Has flag LOOK_SHORT: no} |
| 9997 | |
| 9998 | utf-check 703 utf-check-703-1-96-1.jnk \ |
| 9999 | {File "%TEMP%/utf-check-703-1-96-1.jnk" has 8198 bytes. |
| 10000 | Starts with UTF-8 BOM: yes |
| 10001 | Starts with UTF-16 BOM: no |
| 10002 | Looks like UTF-8: no |
| 10003 | Has flag LOOK_NUL: yes |
| 10004 | Has flag LOOK_CR: no |
| @@ -10010,11 +10010,11 @@ | |
| 10010 | Has flag LOOK_INVALID: no |
| 10011 | Has flag LOOK_ODD: no |
| 10012 | Has flag LOOK_SHORT: no} |
| 10013 | |
| 10014 | utf-check 704 utf-check-704-1-97-0.jnk \ |
| 10015 | {File "%TEMP%/utf-check-704-1-97-0.jnk" has 8198 bytes. |
| 10016 | Starts with UTF-8 BOM: yes |
| 10017 | Starts with UTF-16 BOM: no |
| 10018 | Looks like UTF-8: no |
| 10019 | Has flag LOOK_NUL: yes |
| 10020 | Has flag LOOK_CR: yes |
| @@ -10026,11 +10026,11 @@ | |
| 10026 | Has flag LOOK_INVALID: no |
| 10027 | Has flag LOOK_ODD: no |
| 10028 | Has flag LOOK_SHORT: no} |
| 10029 | |
| 10030 | utf-check 705 utf-check-705-1-97-1.jnk \ |
| 10031 | {File "%TEMP%/utf-check-705-1-97-1.jnk" has 8199 bytes. |
| 10032 | Starts with UTF-8 BOM: yes |
| 10033 | Starts with UTF-16 BOM: no |
| 10034 | Looks like UTF-8: no |
| 10035 | Has flag LOOK_NUL: yes |
| 10036 | Has flag LOOK_CR: yes |
| @@ -10042,11 +10042,11 @@ | |
| 10042 | Has flag LOOK_INVALID: no |
| 10043 | Has flag LOOK_ODD: no |
| 10044 | Has flag LOOK_SHORT: no} |
| 10045 | |
| 10046 | utf-check 706 utf-check-706-1-98-0.jnk \ |
| 10047 | {File "%TEMP%/utf-check-706-1-98-0.jnk" has 8198 bytes. |
| 10048 | Starts with UTF-8 BOM: yes |
| 10049 | Starts with UTF-16 BOM: no |
| 10050 | Looks like UTF-8: no |
| 10051 | Has flag LOOK_NUL: yes |
| 10052 | Has flag LOOK_CR: no |
| @@ -10058,11 +10058,11 @@ | |
| 10058 | Has flag LOOK_INVALID: no |
| 10059 | Has flag LOOK_ODD: no |
| 10060 | Has flag LOOK_SHORT: no} |
| 10061 | |
| 10062 | utf-check 707 utf-check-707-1-98-1.jnk \ |
| 10063 | {File "%TEMP%/utf-check-707-1-98-1.jnk" has 8199 bytes. |
| 10064 | Starts with UTF-8 BOM: yes |
| 10065 | Starts with UTF-16 BOM: no |
| 10066 | Looks like UTF-8: no |
| 10067 | Has flag LOOK_NUL: yes |
| 10068 | Has flag LOOK_CR: no |
| @@ -10074,11 +10074,11 @@ | |
| 10074 | Has flag LOOK_INVALID: no |
| 10075 | Has flag LOOK_ODD: no |
| 10076 | Has flag LOOK_SHORT: no} |
| 10077 | |
| 10078 | utf-check 708 utf-check-708-1-99-0.jnk \ |
| 10079 | {File "%TEMP%/utf-check-708-1-99-0.jnk" has 8199 bytes. |
| 10080 | Starts with UTF-8 BOM: yes |
| 10081 | Starts with UTF-16 BOM: no |
| 10082 | Looks like UTF-8: no |
| 10083 | Has flag LOOK_NUL: yes |
| 10084 | Has flag LOOK_CR: yes |
| @@ -10090,11 +10090,11 @@ | |
| 10090 | Has flag LOOK_INVALID: no |
| 10091 | Has flag LOOK_ODD: no |
| 10092 | Has flag LOOK_SHORT: no} |
| 10093 | |
| 10094 | utf-check 709 utf-check-709-1-99-1.jnk \ |
| 10095 | {File "%TEMP%/utf-check-709-1-99-1.jnk" has 8200 bytes. |
| 10096 | Starts with UTF-8 BOM: yes |
| 10097 | Starts with UTF-16 BOM: no |
| 10098 | Looks like UTF-8: no |
| 10099 | Has flag LOOK_NUL: yes |
| 10100 | Has flag LOOK_CR: yes |
| @@ -10106,11 +10106,11 @@ | |
| 10106 | Has flag LOOK_INVALID: no |
| 10107 | Has flag LOOK_ODD: no |
| 10108 | Has flag LOOK_SHORT: no} |
| 10109 | |
| 10110 | utf-check 710 utf-check-710-1-100-0.jnk \ |
| 10111 | {File "%TEMP%/utf-check-710-1-100-0.jnk" has 8200 bytes. |
| 10112 | Starts with UTF-8 BOM: yes |
| 10113 | Starts with UTF-16 BOM: no |
| 10114 | Looks like UTF-8: no |
| 10115 | Has flag LOOK_NUL: yes |
| 10116 | Has flag LOOK_CR: no |
| @@ -10122,11 +10122,11 @@ | |
| 10122 | Has flag LOOK_INVALID: no |
| 10123 | Has flag LOOK_ODD: no |
| 10124 | Has flag LOOK_SHORT: no} |
| 10125 | |
| 10126 | utf-check 711 utf-check-711-1-100-1.jnk \ |
| 10127 | {File "%TEMP%/utf-check-711-1-100-1.jnk" has 8201 bytes. |
| 10128 | Starts with UTF-8 BOM: yes |
| 10129 | Starts with UTF-16 BOM: no |
| 10130 | Looks like UTF-8: no |
| 10131 | Has flag LOOK_NUL: yes |
| 10132 | Has flag LOOK_CR: no |
| @@ -10138,11 +10138,11 @@ | |
| 10138 | Has flag LOOK_INVALID: no |
| 10139 | Has flag LOOK_ODD: no |
| 10140 | Has flag LOOK_SHORT: no} |
| 10141 | |
| 10142 | utf-check 712 utf-check-712-1-101-0.jnk \ |
| 10143 | {File "%TEMP%/utf-check-712-1-101-0.jnk" has 8201 bytes. |
| 10144 | Starts with UTF-8 BOM: yes |
| 10145 | Starts with UTF-16 BOM: no |
| 10146 | Looks like UTF-8: no |
| 10147 | Has flag LOOK_NUL: yes |
| 10148 | Has flag LOOK_CR: yes |
| @@ -10154,11 +10154,11 @@ | |
| 10154 | Has flag LOOK_INVALID: no |
| 10155 | Has flag LOOK_ODD: no |
| 10156 | Has flag LOOK_SHORT: no} |
| 10157 | |
| 10158 | utf-check 713 utf-check-713-1-101-1.jnk \ |
| 10159 | {File "%TEMP%/utf-check-713-1-101-1.jnk" has 8202 bytes. |
| 10160 | Starts with UTF-8 BOM: yes |
| 10161 | Starts with UTF-16 BOM: no |
| 10162 | Looks like UTF-8: no |
| 10163 | Has flag LOOK_NUL: yes |
| 10164 | Has flag LOOK_CR: yes |
| @@ -10170,11 +10170,11 @@ | |
| 10170 | Has flag LOOK_INVALID: no |
| 10171 | Has flag LOOK_ODD: no |
| 10172 | Has flag LOOK_SHORT: no} |
| 10173 | |
| 10174 | utf-check 714 utf-check-714-1-102-0.jnk \ |
| 10175 | {File "%TEMP%/utf-check-714-1-102-0.jnk" has 8201 bytes. |
| 10176 | Starts with UTF-8 BOM: yes |
| 10177 | Starts with UTF-16 BOM: no |
| 10178 | Looks like UTF-8: no |
| 10179 | Has flag LOOK_NUL: yes |
| 10180 | Has flag LOOK_CR: no |
| @@ -10186,11 +10186,11 @@ | |
| 10186 | Has flag LOOK_INVALID: no |
| 10187 | Has flag LOOK_ODD: no |
| 10188 | Has flag LOOK_SHORT: no} |
| 10189 | |
| 10190 | utf-check 715 utf-check-715-1-102-1.jnk \ |
| 10191 | {File "%TEMP%/utf-check-715-1-102-1.jnk" has 8202 bytes. |
| 10192 | Starts with UTF-8 BOM: yes |
| 10193 | Starts with UTF-16 BOM: no |
| 10194 | Looks like UTF-8: no |
| 10195 | Has flag LOOK_NUL: yes |
| 10196 | Has flag LOOK_CR: no |
| @@ -10202,11 +10202,11 @@ | |
| 10202 | Has flag LOOK_INVALID: no |
| 10203 | Has flag LOOK_ODD: no |
| 10204 | Has flag LOOK_SHORT: no} |
| 10205 | |
| 10206 | utf-check 716 utf-check-716-1-103-0.jnk \ |
| 10207 | {File "%TEMP%/utf-check-716-1-103-0.jnk" has 8202 bytes. |
| 10208 | Starts with UTF-8 BOM: yes |
| 10209 | Starts with UTF-16 BOM: no |
| 10210 | Looks like UTF-8: no |
| 10211 | Has flag LOOK_NUL: yes |
| 10212 | Has flag LOOK_CR: yes |
| @@ -10218,11 +10218,11 @@ | |
| 10218 | Has flag LOOK_INVALID: no |
| 10219 | Has flag LOOK_ODD: no |
| 10220 | Has flag LOOK_SHORT: no} |
| 10221 | |
| 10222 | utf-check 717 utf-check-717-1-103-1.jnk \ |
| 10223 | {File "%TEMP%/utf-check-717-1-103-1.jnk" has 8203 bytes. |
| 10224 | Starts with UTF-8 BOM: yes |
| 10225 | Starts with UTF-16 BOM: no |
| 10226 | Looks like UTF-8: no |
| 10227 | Has flag LOOK_NUL: yes |
| 10228 | Has flag LOOK_CR: yes |
| @@ -10234,11 +10234,11 @@ | |
| 10234 | Has flag LOOK_INVALID: no |
| 10235 | Has flag LOOK_ODD: no |
| 10236 | Has flag LOOK_SHORT: no} |
| 10237 | |
| 10238 | utf-check 718 utf-check-718-1-104-0.jnk \ |
| 10239 | {File "%TEMP%/utf-check-718-1-104-0.jnk" has 8198 bytes. |
| 10240 | Starts with UTF-8 BOM: yes |
| 10241 | Starts with UTF-16 BOM: no |
| 10242 | Looks like UTF-8: no |
| 10243 | Has flag LOOK_NUL: yes |
| 10244 | Has flag LOOK_CR: no |
| @@ -10250,11 +10250,11 @@ | |
| 10250 | Has flag LOOK_INVALID: no |
| 10251 | Has flag LOOK_ODD: no |
| 10252 | Has flag LOOK_SHORT: no} |
| 10253 | |
| 10254 | utf-check 719 utf-check-719-1-104-1.jnk \ |
| 10255 | {File "%TEMP%/utf-check-719-1-104-1.jnk" has 8199 bytes. |
| 10256 | Starts with UTF-8 BOM: yes |
| 10257 | Starts with UTF-16 BOM: no |
| 10258 | Looks like UTF-8: no |
| 10259 | Has flag LOOK_NUL: yes |
| 10260 | Has flag LOOK_CR: no |
| @@ -10266,11 +10266,11 @@ | |
| 10266 | Has flag LOOK_INVALID: no |
| 10267 | Has flag LOOK_ODD: no |
| 10268 | Has flag LOOK_SHORT: no} |
| 10269 | |
| 10270 | utf-check 720 utf-check-720-1-105-0.jnk \ |
| 10271 | {File "%TEMP%/utf-check-720-1-105-0.jnk" has 8199 bytes. |
| 10272 | Starts with UTF-8 BOM: yes |
| 10273 | Starts with UTF-16 BOM: no |
| 10274 | Looks like UTF-8: no |
| 10275 | Has flag LOOK_NUL: yes |
| 10276 | Has flag LOOK_CR: yes |
| @@ -10282,11 +10282,11 @@ | |
| 10282 | Has flag LOOK_INVALID: no |
| 10283 | Has flag LOOK_ODD: no |
| 10284 | Has flag LOOK_SHORT: no} |
| 10285 | |
| 10286 | utf-check 721 utf-check-721-1-105-1.jnk \ |
| 10287 | {File "%TEMP%/utf-check-721-1-105-1.jnk" has 8200 bytes. |
| 10288 | Starts with UTF-8 BOM: yes |
| 10289 | Starts with UTF-16 BOM: no |
| 10290 | Looks like UTF-8: no |
| 10291 | Has flag LOOK_NUL: yes |
| 10292 | Has flag LOOK_CR: yes |
| @@ -10298,11 +10298,11 @@ | |
| 10298 | Has flag LOOK_INVALID: no |
| 10299 | Has flag LOOK_ODD: no |
| 10300 | Has flag LOOK_SHORT: no} |
| 10301 | |
| 10302 | utf-check 722 utf-check-722-1-106-0.jnk \ |
| 10303 | {File "%TEMP%/utf-check-722-1-106-0.jnk" has 8199 bytes. |
| 10304 | Starts with UTF-8 BOM: yes |
| 10305 | Starts with UTF-16 BOM: no |
| 10306 | Looks like UTF-8: no |
| 10307 | Has flag LOOK_NUL: yes |
| 10308 | Has flag LOOK_CR: no |
| @@ -10314,11 +10314,11 @@ | |
| 10314 | Has flag LOOK_INVALID: no |
| 10315 | Has flag LOOK_ODD: no |
| 10316 | Has flag LOOK_SHORT: no} |
| 10317 | |
| 10318 | utf-check 723 utf-check-723-1-106-1.jnk \ |
| 10319 | {File "%TEMP%/utf-check-723-1-106-1.jnk" has 8200 bytes. |
| 10320 | Starts with UTF-8 BOM: yes |
| 10321 | Starts with UTF-16 BOM: no |
| 10322 | Looks like UTF-8: no |
| 10323 | Has flag LOOK_NUL: yes |
| 10324 | Has flag LOOK_CR: no |
| @@ -10330,11 +10330,11 @@ | |
| 10330 | Has flag LOOK_INVALID: no |
| 10331 | Has flag LOOK_ODD: no |
| 10332 | Has flag LOOK_SHORT: no} |
| 10333 | |
| 10334 | utf-check 724 utf-check-724-1-107-0.jnk \ |
| 10335 | {File "%TEMP%/utf-check-724-1-107-0.jnk" has 8200 bytes. |
| 10336 | Starts with UTF-8 BOM: yes |
| 10337 | Starts with UTF-16 BOM: no |
| 10338 | Looks like UTF-8: no |
| 10339 | Has flag LOOK_NUL: yes |
| 10340 | Has flag LOOK_CR: yes |
| @@ -10346,11 +10346,11 @@ | |
| 10346 | Has flag LOOK_INVALID: no |
| 10347 | Has flag LOOK_ODD: no |
| 10348 | Has flag LOOK_SHORT: no} |
| 10349 | |
| 10350 | utf-check 725 utf-check-725-1-107-1.jnk \ |
| 10351 | {File "%TEMP%/utf-check-725-1-107-1.jnk" has 8201 bytes. |
| 10352 | Starts with UTF-8 BOM: yes |
| 10353 | Starts with UTF-16 BOM: no |
| 10354 | Looks like UTF-8: no |
| 10355 | Has flag LOOK_NUL: yes |
| 10356 | Has flag LOOK_CR: yes |
| @@ -10362,11 +10362,11 @@ | |
| 10362 | Has flag LOOK_INVALID: no |
| 10363 | Has flag LOOK_ODD: no |
| 10364 | Has flag LOOK_SHORT: no} |
| 10365 | |
| 10366 | utf-check 726 utf-check-726-1-108-0.jnk \ |
| 10367 | {File "%TEMP%/utf-check-726-1-108-0.jnk" has 8201 bytes. |
| 10368 | Starts with UTF-8 BOM: yes |
| 10369 | Starts with UTF-16 BOM: no |
| 10370 | Looks like UTF-8: no |
| 10371 | Has flag LOOK_NUL: yes |
| 10372 | Has flag LOOK_CR: no |
| @@ -10378,11 +10378,11 @@ | |
| 10378 | Has flag LOOK_INVALID: no |
| 10379 | Has flag LOOK_ODD: no |
| 10380 | Has flag LOOK_SHORT: no} |
| 10381 | |
| 10382 | utf-check 727 utf-check-727-1-108-1.jnk \ |
| 10383 | {File "%TEMP%/utf-check-727-1-108-1.jnk" has 8202 bytes. |
| 10384 | Starts with UTF-8 BOM: yes |
| 10385 | Starts with UTF-16 BOM: no |
| 10386 | Looks like UTF-8: no |
| 10387 | Has flag LOOK_NUL: yes |
| 10388 | Has flag LOOK_CR: no |
| @@ -10394,11 +10394,11 @@ | |
| 10394 | Has flag LOOK_INVALID: no |
| 10395 | Has flag LOOK_ODD: no |
| 10396 | Has flag LOOK_SHORT: no} |
| 10397 | |
| 10398 | utf-check 728 utf-check-728-1-109-0.jnk \ |
| 10399 | {File "%TEMP%/utf-check-728-1-109-0.jnk" has 8202 bytes. |
| 10400 | Starts with UTF-8 BOM: yes |
| 10401 | Starts with UTF-16 BOM: no |
| 10402 | Looks like UTF-8: no |
| 10403 | Has flag LOOK_NUL: yes |
| 10404 | Has flag LOOK_CR: yes |
| @@ -10410,11 +10410,11 @@ | |
| 10410 | Has flag LOOK_INVALID: no |
| 10411 | Has flag LOOK_ODD: no |
| 10412 | Has flag LOOK_SHORT: no} |
| 10413 | |
| 10414 | utf-check 729 utf-check-729-1-109-1.jnk \ |
| 10415 | {File "%TEMP%/utf-check-729-1-109-1.jnk" has 8203 bytes. |
| 10416 | Starts with UTF-8 BOM: yes |
| 10417 | Starts with UTF-16 BOM: no |
| 10418 | Looks like UTF-8: no |
| 10419 | Has flag LOOK_NUL: yes |
| 10420 | Has flag LOOK_CR: yes |
| @@ -10426,11 +10426,11 @@ | |
| 10426 | Has flag LOOK_INVALID: no |
| 10427 | Has flag LOOK_ODD: no |
| 10428 | Has flag LOOK_SHORT: no} |
| 10429 | |
| 10430 | utf-check 730 utf-check-730-1-110-0.jnk \ |
| 10431 | {File "%TEMP%/utf-check-730-1-110-0.jnk" has 8202 bytes. |
| 10432 | Starts with UTF-8 BOM: yes |
| 10433 | Starts with UTF-16 BOM: no |
| 10434 | Looks like UTF-8: no |
| 10435 | Has flag LOOK_NUL: yes |
| 10436 | Has flag LOOK_CR: no |
| @@ -10442,11 +10442,11 @@ | |
| 10442 | Has flag LOOK_INVALID: no |
| 10443 | Has flag LOOK_ODD: no |
| 10444 | Has flag LOOK_SHORT: no} |
| 10445 | |
| 10446 | utf-check 731 utf-check-731-1-110-1.jnk \ |
| 10447 | {File "%TEMP%/utf-check-731-1-110-1.jnk" has 8203 bytes. |
| 10448 | Starts with UTF-8 BOM: yes |
| 10449 | Starts with UTF-16 BOM: no |
| 10450 | Looks like UTF-8: no |
| 10451 | Has flag LOOK_NUL: yes |
| 10452 | Has flag LOOK_CR: no |
| @@ -10458,11 +10458,11 @@ | |
| 10458 | Has flag LOOK_INVALID: no |
| 10459 | Has flag LOOK_ODD: no |
| 10460 | Has flag LOOK_SHORT: no} |
| 10461 | |
| 10462 | utf-check 732 utf-check-732-1-111-0.jnk \ |
| 10463 | {File "%TEMP%/utf-check-732-1-111-0.jnk" has 8203 bytes. |
| 10464 | Starts with UTF-8 BOM: yes |
| 10465 | Starts with UTF-16 BOM: no |
| 10466 | Looks like UTF-8: no |
| 10467 | Has flag LOOK_NUL: yes |
| 10468 | Has flag LOOK_CR: yes |
| @@ -10474,11 +10474,11 @@ | |
| 10474 | Has flag LOOK_INVALID: no |
| 10475 | Has flag LOOK_ODD: no |
| 10476 | Has flag LOOK_SHORT: no} |
| 10477 | |
| 10478 | utf-check 733 utf-check-733-1-111-1.jnk \ |
| 10479 | {File "%TEMP%/utf-check-733-1-111-1.jnk" has 8204 bytes. |
| 10480 | Starts with UTF-8 BOM: yes |
| 10481 | Starts with UTF-16 BOM: no |
| 10482 | Looks like UTF-8: no |
| 10483 | Has flag LOOK_NUL: yes |
| 10484 | Has flag LOOK_CR: yes |
| @@ -16026,11 +16026,11 @@ | |
| 16026 | Has flag LOOK_INVALID: yes |
| 16027 | Has flag LOOK_ODD: no |
| 16028 | Has flag LOOK_SHORT: no} |
| 16029 | |
| 16030 | utf-check 1080 utf-check-1080-2-80-0.jnk \ |
| 16031 | {File "%TEMP%/utf-check-1080-2-80-0.jnk" has 16388 bytes. |
| 16032 | Starts with UTF-8 BOM: no |
| 16033 | Starts with UTF-16 BOM: yes |
| 16034 | Looks like UTF-16: no |
| 16035 | Has flag LOOK_NUL: no |
| 16036 | Has flag LOOK_CR: no |
| @@ -16042,11 +16042,11 @@ | |
| 16042 | Has flag LOOK_INVALID: no |
| 16043 | Has flag LOOK_ODD: no |
| 16044 | Has flag LOOK_SHORT: no} |
| 16045 | |
| 16046 | utf-check 1081 utf-check-1081-2-80-1.jnk \ |
| 16047 | {File "%TEMP%/utf-check-1081-2-80-1.jnk" has 16389 bytes. |
| 16048 | Starts with UTF-8 BOM: no |
| 16049 | Starts with UTF-16 BOM: yes |
| 16050 | Looks like UTF-8: no |
| 16051 | Has flag LOOK_NUL: yes |
| 16052 | Has flag LOOK_CR: no |
| @@ -16058,11 +16058,11 @@ | |
| 16058 | Has flag LOOK_INVALID: yes |
| 16059 | Has flag LOOK_ODD: no |
| 16060 | Has flag LOOK_SHORT: no} |
| 16061 | |
| 16062 | utf-check 1082 utf-check-1082-2-81-0.jnk \ |
| 16063 | {File "%TEMP%/utf-check-1082-2-81-0.jnk" has 16390 bytes. |
| 16064 | Starts with UTF-8 BOM: no |
| 16065 | Starts with UTF-16 BOM: yes |
| 16066 | Looks like UTF-16: no |
| 16067 | Has flag LOOK_NUL: no |
| 16068 | Has flag LOOK_CR: yes |
| @@ -16074,11 +16074,11 @@ | |
| 16074 | Has flag LOOK_INVALID: no |
| 16075 | Has flag LOOK_ODD: no |
| 16076 | Has flag LOOK_SHORT: no} |
| 16077 | |
| 16078 | utf-check 1083 utf-check-1083-2-81-1.jnk \ |
| 16079 | {File "%TEMP%/utf-check-1083-2-81-1.jnk" has 16391 bytes. |
| 16080 | Starts with UTF-8 BOM: no |
| 16081 | Starts with UTF-16 BOM: yes |
| 16082 | Looks like UTF-8: no |
| 16083 | Has flag LOOK_NUL: yes |
| 16084 | Has flag LOOK_CR: yes |
| @@ -16090,11 +16090,11 @@ | |
| 16090 | Has flag LOOK_INVALID: yes |
| 16091 | Has flag LOOK_ODD: no |
| 16092 | Has flag LOOK_SHORT: no} |
| 16093 | |
| 16094 | utf-check 1084 utf-check-1084-2-82-0.jnk \ |
| 16095 | {File "%TEMP%/utf-check-1084-2-82-0.jnk" has 16390 bytes. |
| 16096 | Starts with UTF-8 BOM: no |
| 16097 | Starts with UTF-16 BOM: yes |
| 16098 | Looks like UTF-16: no |
| 16099 | Has flag LOOK_NUL: no |
| 16100 | Has flag LOOK_CR: no |
| @@ -16106,11 +16106,11 @@ | |
| 16106 | Has flag LOOK_INVALID: no |
| 16107 | Has flag LOOK_ODD: no |
| 16108 | Has flag LOOK_SHORT: no} |
| 16109 | |
| 16110 | utf-check 1085 utf-check-1085-2-82-1.jnk \ |
| 16111 | {File "%TEMP%/utf-check-1085-2-82-1.jnk" has 16391 bytes. |
| 16112 | Starts with UTF-8 BOM: no |
| 16113 | Starts with UTF-16 BOM: yes |
| 16114 | Looks like UTF-8: no |
| 16115 | Has flag LOOK_NUL: yes |
| 16116 | Has flag LOOK_CR: no |
| @@ -16122,11 +16122,11 @@ | |
| 16122 | Has flag LOOK_INVALID: yes |
| 16123 | Has flag LOOK_ODD: no |
| 16124 | Has flag LOOK_SHORT: no} |
| 16125 | |
| 16126 | utf-check 1086 utf-check-1086-2-83-0.jnk \ |
| 16127 | {File "%TEMP%/utf-check-1086-2-83-0.jnk" has 16392 bytes. |
| 16128 | Starts with UTF-8 BOM: no |
| 16129 | Starts with UTF-16 BOM: yes |
| 16130 | Looks like UTF-16: no |
| 16131 | Has flag LOOK_NUL: no |
| 16132 | Has flag LOOK_CR: yes |
| @@ -16138,11 +16138,11 @@ | |
| 16138 | Has flag LOOK_INVALID: no |
| 16139 | Has flag LOOK_ODD: no |
| 16140 | Has flag LOOK_SHORT: no} |
| 16141 | |
| 16142 | utf-check 1087 utf-check-1087-2-83-1.jnk \ |
| 16143 | {File "%TEMP%/utf-check-1087-2-83-1.jnk" has 16393 bytes. |
| 16144 | Starts with UTF-8 BOM: no |
| 16145 | Starts with UTF-16 BOM: yes |
| 16146 | Looks like UTF-8: no |
| 16147 | Has flag LOOK_NUL: yes |
| 16148 | Has flag LOOK_CR: yes |
| @@ -16154,11 +16154,11 @@ | |
| 16154 | Has flag LOOK_INVALID: yes |
| 16155 | Has flag LOOK_ODD: no |
| 16156 | Has flag LOOK_SHORT: no} |
| 16157 | |
| 16158 | utf-check 1088 utf-check-1088-2-84-0.jnk \ |
| 16159 | {File "%TEMP%/utf-check-1088-2-84-0.jnk" has 16394 bytes. |
| 16160 | Starts with UTF-8 BOM: no |
| 16161 | Starts with UTF-16 BOM: yes |
| 16162 | Looks like UTF-16: no |
| 16163 | Has flag LOOK_NUL: no |
| 16164 | Has flag LOOK_CR: no |
| @@ -16170,11 +16170,11 @@ | |
| 16170 | Has flag LOOK_INVALID: no |
| 16171 | Has flag LOOK_ODD: no |
| 16172 | Has flag LOOK_SHORT: no} |
| 16173 | |
| 16174 | utf-check 1089 utf-check-1089-2-84-1.jnk \ |
| 16175 | {File "%TEMP%/utf-check-1089-2-84-1.jnk" has 16395 bytes. |
| 16176 | Starts with UTF-8 BOM: no |
| 16177 | Starts with UTF-16 BOM: yes |
| 16178 | Looks like UTF-8: no |
| 16179 | Has flag LOOK_NUL: yes |
| 16180 | Has flag LOOK_CR: no |
| @@ -16186,11 +16186,11 @@ | |
| 16186 | Has flag LOOK_INVALID: yes |
| 16187 | Has flag LOOK_ODD: no |
| 16188 | Has flag LOOK_SHORT: no} |
| 16189 | |
| 16190 | utf-check 1090 utf-check-1090-2-85-0.jnk \ |
| 16191 | {File "%TEMP%/utf-check-1090-2-85-0.jnk" has 16396 bytes. |
| 16192 | Starts with UTF-8 BOM: no |
| 16193 | Starts with UTF-16 BOM: yes |
| 16194 | Looks like UTF-16: no |
| 16195 | Has flag LOOK_NUL: no |
| 16196 | Has flag LOOK_CR: yes |
| @@ -16202,11 +16202,11 @@ | |
| 16202 | Has flag LOOK_INVALID: no |
| 16203 | Has flag LOOK_ODD: no |
| 16204 | Has flag LOOK_SHORT: no} |
| 16205 | |
| 16206 | utf-check 1091 utf-check-1091-2-85-1.jnk \ |
| 16207 | {File "%TEMP%/utf-check-1091-2-85-1.jnk" has 16397 bytes. |
| 16208 | Starts with UTF-8 BOM: no |
| 16209 | Starts with UTF-16 BOM: yes |
| 16210 | Looks like UTF-8: no |
| 16211 | Has flag LOOK_NUL: yes |
| 16212 | Has flag LOOK_CR: yes |
| @@ -16218,11 +16218,11 @@ | |
| 16218 | Has flag LOOK_INVALID: yes |
| 16219 | Has flag LOOK_ODD: no |
| 16220 | Has flag LOOK_SHORT: no} |
| 16221 | |
| 16222 | utf-check 1092 utf-check-1092-2-86-0.jnk \ |
| 16223 | {File "%TEMP%/utf-check-1092-2-86-0.jnk" has 16396 bytes. |
| 16224 | Starts with UTF-8 BOM: no |
| 16225 | Starts with UTF-16 BOM: yes |
| 16226 | Looks like UTF-16: no |
| 16227 | Has flag LOOK_NUL: no |
| 16228 | Has flag LOOK_CR: no |
| @@ -16234,11 +16234,11 @@ | |
| 16234 | Has flag LOOK_INVALID: no |
| 16235 | Has flag LOOK_ODD: no |
| 16236 | Has flag LOOK_SHORT: no} |
| 16237 | |
| 16238 | utf-check 1093 utf-check-1093-2-86-1.jnk \ |
| 16239 | {File "%TEMP%/utf-check-1093-2-86-1.jnk" has 16397 bytes. |
| 16240 | Starts with UTF-8 BOM: no |
| 16241 | Starts with UTF-16 BOM: yes |
| 16242 | Looks like UTF-8: no |
| 16243 | Has flag LOOK_NUL: yes |
| 16244 | Has flag LOOK_CR: no |
| @@ -16250,11 +16250,11 @@ | |
| 16250 | Has flag LOOK_INVALID: yes |
| 16251 | Has flag LOOK_ODD: no |
| 16252 | Has flag LOOK_SHORT: no} |
| 16253 | |
| 16254 | utf-check 1094 utf-check-1094-2-87-0.jnk \ |
| 16255 | {File "%TEMP%/utf-check-1094-2-87-0.jnk" has 16398 bytes. |
| 16256 | Starts with UTF-8 BOM: no |
| 16257 | Starts with UTF-16 BOM: yes |
| 16258 | Looks like UTF-16: no |
| 16259 | Has flag LOOK_NUL: no |
| 16260 | Has flag LOOK_CR: yes |
| @@ -16266,11 +16266,11 @@ | |
| 16266 | Has flag LOOK_INVALID: no |
| 16267 | Has flag LOOK_ODD: no |
| 16268 | Has flag LOOK_SHORT: no} |
| 16269 | |
| 16270 | utf-check 1095 utf-check-1095-2-87-1.jnk \ |
| 16271 | {File "%TEMP%/utf-check-1095-2-87-1.jnk" has 16399 bytes. |
| 16272 | Starts with UTF-8 BOM: no |
| 16273 | Starts with UTF-16 BOM: yes |
| 16274 | Looks like UTF-8: no |
| 16275 | Has flag LOOK_NUL: yes |
| 16276 | Has flag LOOK_CR: yes |
| @@ -16282,11 +16282,11 @@ | |
| 16282 | Has flag LOOK_INVALID: yes |
| 16283 | Has flag LOOK_ODD: no |
| 16284 | Has flag LOOK_SHORT: no} |
| 16285 | |
| 16286 | utf-check 1096 utf-check-1096-2-88-0.jnk \ |
| 16287 | {File "%TEMP%/utf-check-1096-2-88-0.jnk" has 16390 bytes. |
| 16288 | Starts with UTF-8 BOM: no |
| 16289 | Starts with UTF-16 BOM: no |
| 16290 | Looks like UTF-8: no |
| 16291 | Has flag LOOK_NUL: yes |
| 16292 | Has flag LOOK_CR: no |
| @@ -16298,11 +16298,11 @@ | |
| 16298 | Has flag LOOK_INVALID: yes |
| 16299 | Has flag LOOK_ODD: no |
| 16300 | Has flag LOOK_SHORT: no} |
| 16301 | |
| 16302 | utf-check 1097 utf-check-1097-2-88-1.jnk \ |
| 16303 | {File "%TEMP%/utf-check-1097-2-88-1.jnk" has 16391 bytes. |
| 16304 | Starts with UTF-8 BOM: no |
| 16305 | Starts with UTF-16 BOM: no |
| 16306 | Looks like UTF-8: no |
| 16307 | Has flag LOOK_NUL: yes |
| 16308 | Has flag LOOK_CR: no |
| @@ -16314,11 +16314,11 @@ | |
| 16314 | Has flag LOOK_INVALID: yes |
| 16315 | Has flag LOOK_ODD: no |
| 16316 | Has flag LOOK_SHORT: no} |
| 16317 | |
| 16318 | utf-check 1098 utf-check-1098-2-89-0.jnk \ |
| 16319 | {File "%TEMP%/utf-check-1098-2-89-0.jnk" has 16392 bytes. |
| 16320 | Starts with UTF-8 BOM: no |
| 16321 | Starts with UTF-16 BOM: no |
| 16322 | Looks like UTF-8: no |
| 16323 | Has flag LOOK_NUL: yes |
| 16324 | Has flag LOOK_CR: yes |
| @@ -16330,11 +16330,11 @@ | |
| 16330 | Has flag LOOK_INVALID: yes |
| 16331 | Has flag LOOK_ODD: no |
| 16332 | Has flag LOOK_SHORT: no} |
| 16333 | |
| 16334 | utf-check 1099 utf-check-1099-2-89-1.jnk \ |
| 16335 | {File "%TEMP%/utf-check-1099-2-89-1.jnk" has 16393 bytes. |
| 16336 | Starts with UTF-8 BOM: no |
| 16337 | Starts with UTF-16 BOM: no |
| 16338 | Looks like UTF-8: no |
| 16339 | Has flag LOOK_NUL: yes |
| 16340 | Has flag LOOK_CR: yes |
| @@ -16346,11 +16346,11 @@ | |
| 16346 | Has flag LOOK_INVALID: yes |
| 16347 | Has flag LOOK_ODD: no |
| 16348 | Has flag LOOK_SHORT: no} |
| 16349 | |
| 16350 | utf-check 1100 utf-check-1100-2-90-0.jnk \ |
| 16351 | {File "%TEMP%/utf-check-1100-2-90-0.jnk" has 16392 bytes. |
| 16352 | Starts with UTF-8 BOM: no |
| 16353 | Starts with UTF-16 BOM: no |
| 16354 | Looks like UTF-8: no |
| 16355 | Has flag LOOK_NUL: yes |
| 16356 | Has flag LOOK_CR: no |
| @@ -16362,11 +16362,11 @@ | |
| 16362 | Has flag LOOK_INVALID: yes |
| 16363 | Has flag LOOK_ODD: no |
| 16364 | Has flag LOOK_SHORT: no} |
| 16365 | |
| 16366 | utf-check 1101 utf-check-1101-2-90-1.jnk \ |
| 16367 | {File "%TEMP%/utf-check-1101-2-90-1.jnk" has 16393 bytes. |
| 16368 | Starts with UTF-8 BOM: no |
| 16369 | Starts with UTF-16 BOM: no |
| 16370 | Looks like UTF-8: no |
| 16371 | Has flag LOOK_NUL: yes |
| 16372 | Has flag LOOK_CR: no |
| @@ -16378,11 +16378,11 @@ | |
| 16378 | Has flag LOOK_INVALID: yes |
| 16379 | Has flag LOOK_ODD: no |
| 16380 | Has flag LOOK_SHORT: no} |
| 16381 | |
| 16382 | utf-check 1102 utf-check-1102-2-91-0.jnk \ |
| 16383 | {File "%TEMP%/utf-check-1102-2-91-0.jnk" has 16394 bytes. |
| 16384 | Starts with UTF-8 BOM: no |
| 16385 | Starts with UTF-16 BOM: no |
| 16386 | Looks like UTF-8: no |
| 16387 | Has flag LOOK_NUL: yes |
| 16388 | Has flag LOOK_CR: yes |
| @@ -16394,11 +16394,11 @@ | |
| 16394 | Has flag LOOK_INVALID: yes |
| 16395 | Has flag LOOK_ODD: no |
| 16396 | Has flag LOOK_SHORT: no} |
| 16397 | |
| 16398 | utf-check 1103 utf-check-1103-2-91-1.jnk \ |
| 16399 | {File "%TEMP%/utf-check-1103-2-91-1.jnk" has 16395 bytes. |
| 16400 | Starts with UTF-8 BOM: no |
| 16401 | Starts with UTF-16 BOM: no |
| 16402 | Looks like UTF-8: no |
| 16403 | Has flag LOOK_NUL: yes |
| 16404 | Has flag LOOK_CR: yes |
| @@ -16410,11 +16410,11 @@ | |
| 16410 | Has flag LOOK_INVALID: yes |
| 16411 | Has flag LOOK_ODD: no |
| 16412 | Has flag LOOK_SHORT: no} |
| 16413 | |
| 16414 | utf-check 1104 utf-check-1104-2-92-0.jnk \ |
| 16415 | {File "%TEMP%/utf-check-1104-2-92-0.jnk" has 16396 bytes. |
| 16416 | Starts with UTF-8 BOM: no |
| 16417 | Starts with UTF-16 BOM: no |
| 16418 | Looks like UTF-8: no |
| 16419 | Has flag LOOK_NUL: yes |
| 16420 | Has flag LOOK_CR: no |
| @@ -16426,11 +16426,11 @@ | |
| 16426 | Has flag LOOK_INVALID: yes |
| 16427 | Has flag LOOK_ODD: no |
| 16428 | Has flag LOOK_SHORT: no} |
| 16429 | |
| 16430 | utf-check 1105 utf-check-1105-2-92-1.jnk \ |
| 16431 | {File "%TEMP%/utf-check-1105-2-92-1.jnk" has 16397 bytes. |
| 16432 | Starts with UTF-8 BOM: no |
| 16433 | Starts with UTF-16 BOM: no |
| 16434 | Looks like UTF-8: no |
| 16435 | Has flag LOOK_NUL: yes |
| 16436 | Has flag LOOK_CR: no |
| @@ -16442,11 +16442,11 @@ | |
| 16442 | Has flag LOOK_INVALID: yes |
| 16443 | Has flag LOOK_ODD: no |
| 16444 | Has flag LOOK_SHORT: no} |
| 16445 | |
| 16446 | utf-check 1106 utf-check-1106-2-93-0.jnk \ |
| 16447 | {File "%TEMP%/utf-check-1106-2-93-0.jnk" has 16398 bytes. |
| 16448 | Starts with UTF-8 BOM: no |
| 16449 | Starts with UTF-16 BOM: no |
| 16450 | Looks like UTF-8: no |
| 16451 | Has flag LOOK_NUL: yes |
| 16452 | Has flag LOOK_CR: yes |
| @@ -16458,11 +16458,11 @@ | |
| 16458 | Has flag LOOK_INVALID: yes |
| 16459 | Has flag LOOK_ODD: no |
| 16460 | Has flag LOOK_SHORT: no} |
| 16461 | |
| 16462 | utf-check 1107 utf-check-1107-2-93-1.jnk \ |
| 16463 | {File "%TEMP%/utf-check-1107-2-93-1.jnk" has 16399 bytes. |
| 16464 | Starts with UTF-8 BOM: no |
| 16465 | Starts with UTF-16 BOM: no |
| 16466 | Looks like UTF-8: no |
| 16467 | Has flag LOOK_NUL: yes |
| 16468 | Has flag LOOK_CR: yes |
| @@ -16474,11 +16474,11 @@ | |
| 16474 | Has flag LOOK_INVALID: yes |
| 16475 | Has flag LOOK_ODD: no |
| 16476 | Has flag LOOK_SHORT: no} |
| 16477 | |
| 16478 | utf-check 1108 utf-check-1108-2-94-0.jnk \ |
| 16479 | {File "%TEMP%/utf-check-1108-2-94-0.jnk" has 16398 bytes. |
| 16480 | Starts with UTF-8 BOM: no |
| 16481 | Starts with UTF-16 BOM: no |
| 16482 | Looks like UTF-8: no |
| 16483 | Has flag LOOK_NUL: yes |
| 16484 | Has flag LOOK_CR: no |
| @@ -16490,11 +16490,11 @@ | |
| 16490 | Has flag LOOK_INVALID: yes |
| 16491 | Has flag LOOK_ODD: no |
| 16492 | Has flag LOOK_SHORT: no} |
| 16493 | |
| 16494 | utf-check 1109 utf-check-1109-2-94-1.jnk \ |
| 16495 | {File "%TEMP%/utf-check-1109-2-94-1.jnk" has 16399 bytes. |
| 16496 | Starts with UTF-8 BOM: no |
| 16497 | Starts with UTF-16 BOM: no |
| 16498 | Looks like UTF-8: no |
| 16499 | Has flag LOOK_NUL: yes |
| 16500 | Has flag LOOK_CR: no |
| @@ -16506,11 +16506,11 @@ | |
| 16506 | Has flag LOOK_INVALID: yes |
| 16507 | Has flag LOOK_ODD: no |
| 16508 | Has flag LOOK_SHORT: no} |
| 16509 | |
| 16510 | utf-check 1110 utf-check-1110-2-95-0.jnk \ |
| 16511 | {File "%TEMP%/utf-check-1110-2-95-0.jnk" has 16400 bytes. |
| 16512 | Starts with UTF-8 BOM: no |
| 16513 | Starts with UTF-16 BOM: no |
| 16514 | Looks like UTF-8: no |
| 16515 | Has flag LOOK_NUL: yes |
| 16516 | Has flag LOOK_CR: yes |
| @@ -16522,11 +16522,11 @@ | |
| 16522 | Has flag LOOK_INVALID: yes |
| 16523 | Has flag LOOK_ODD: no |
| 16524 | Has flag LOOK_SHORT: no} |
| 16525 | |
| 16526 | utf-check 1111 utf-check-1111-2-95-1.jnk \ |
| 16527 | {File "%TEMP%/utf-check-1111-2-95-1.jnk" has 16401 bytes. |
| 16528 | Starts with UTF-8 BOM: no |
| 16529 | Starts with UTF-16 BOM: no |
| 16530 | Looks like UTF-8: no |
| 16531 | Has flag LOOK_NUL: yes |
| 16532 | Has flag LOOK_CR: yes |
| @@ -16538,11 +16538,11 @@ | |
| 16538 | Has flag LOOK_INVALID: yes |
| 16539 | Has flag LOOK_ODD: no |
| 16540 | Has flag LOOK_SHORT: no} |
| 16541 | |
| 16542 | utf-check 1112 utf-check-1112-2-96-0.jnk \ |
| 16543 | {File "%TEMP%/utf-check-1112-2-96-0.jnk" has 16390 bytes. |
| 16544 | Starts with UTF-8 BOM: no |
| 16545 | Starts with UTF-16 BOM: yes |
| 16546 | Looks like UTF-16: no |
| 16547 | Has flag LOOK_NUL: yes |
| 16548 | Has flag LOOK_CR: no |
| @@ -16554,11 +16554,11 @@ | |
| 16554 | Has flag LOOK_INVALID: no |
| 16555 | Has flag LOOK_ODD: no |
| 16556 | Has flag LOOK_SHORT: no} |
| 16557 | |
| 16558 | utf-check 1113 utf-check-1113-2-96-1.jnk \ |
| 16559 | {File "%TEMP%/utf-check-1113-2-96-1.jnk" has 16391 bytes. |
| 16560 | Starts with UTF-8 BOM: no |
| 16561 | Starts with UTF-16 BOM: yes |
| 16562 | Looks like UTF-8: no |
| 16563 | Has flag LOOK_NUL: yes |
| 16564 | Has flag LOOK_CR: no |
| @@ -16570,11 +16570,11 @@ | |
| 16570 | Has flag LOOK_INVALID: yes |
| 16571 | Has flag LOOK_ODD: no |
| 16572 | Has flag LOOK_SHORT: no} |
| 16573 | |
| 16574 | utf-check 1114 utf-check-1114-2-97-0.jnk \ |
| 16575 | {File "%TEMP%/utf-check-1114-2-97-0.jnk" has 16392 bytes. |
| 16576 | Starts with UTF-8 BOM: no |
| 16577 | Starts with UTF-16 BOM: yes |
| 16578 | Looks like UTF-16: no |
| 16579 | Has flag LOOK_NUL: yes |
| 16580 | Has flag LOOK_CR: yes |
| @@ -16586,11 +16586,11 @@ | |
| 16586 | Has flag LOOK_INVALID: no |
| 16587 | Has flag LOOK_ODD: no |
| 16588 | Has flag LOOK_SHORT: no} |
| 16589 | |
| 16590 | utf-check 1115 utf-check-1115-2-97-1.jnk \ |
| 16591 | {File "%TEMP%/utf-check-1115-2-97-1.jnk" has 16393 bytes. |
| 16592 | Starts with UTF-8 BOM: no |
| 16593 | Starts with UTF-16 BOM: yes |
| 16594 | Looks like UTF-8: no |
| 16595 | Has flag LOOK_NUL: yes |
| 16596 | Has flag LOOK_CR: yes |
| @@ -16602,11 +16602,11 @@ | |
| 16602 | Has flag LOOK_INVALID: yes |
| 16603 | Has flag LOOK_ODD: no |
| 16604 | Has flag LOOK_SHORT: no} |
| 16605 | |
| 16606 | utf-check 1116 utf-check-1116-2-98-0.jnk \ |
| 16607 | {File "%TEMP%/utf-check-1116-2-98-0.jnk" has 16392 bytes. |
| 16608 | Starts with UTF-8 BOM: no |
| 16609 | Starts with UTF-16 BOM: yes |
| 16610 | Looks like UTF-16: no |
| 16611 | Has flag LOOK_NUL: yes |
| 16612 | Has flag LOOK_CR: no |
| @@ -16618,11 +16618,11 @@ | |
| 16618 | Has flag LOOK_INVALID: no |
| 16619 | Has flag LOOK_ODD: no |
| 16620 | Has flag LOOK_SHORT: no} |
| 16621 | |
| 16622 | utf-check 1117 utf-check-1117-2-98-1.jnk \ |
| 16623 | {File "%TEMP%/utf-check-1117-2-98-1.jnk" has 16393 bytes. |
| 16624 | Starts with UTF-8 BOM: no |
| 16625 | Starts with UTF-16 BOM: yes |
| 16626 | Looks like UTF-8: no |
| 16627 | Has flag LOOK_NUL: yes |
| 16628 | Has flag LOOK_CR: no |
| @@ -16634,11 +16634,11 @@ | |
| 16634 | Has flag LOOK_INVALID: yes |
| 16635 | Has flag LOOK_ODD: no |
| 16636 | Has flag LOOK_SHORT: no} |
| 16637 | |
| 16638 | utf-check 1118 utf-check-1118-2-99-0.jnk \ |
| 16639 | {File "%TEMP%/utf-check-1118-2-99-0.jnk" has 16394 bytes. |
| 16640 | Starts with UTF-8 BOM: no |
| 16641 | Starts with UTF-16 BOM: yes |
| 16642 | Looks like UTF-16: no |
| 16643 | Has flag LOOK_NUL: yes |
| 16644 | Has flag LOOK_CR: yes |
| @@ -16650,11 +16650,11 @@ | |
| 16650 | Has flag LOOK_INVALID: no |
| 16651 | Has flag LOOK_ODD: no |
| 16652 | Has flag LOOK_SHORT: no} |
| 16653 | |
| 16654 | utf-check 1119 utf-check-1119-2-99-1.jnk \ |
| 16655 | {File "%TEMP%/utf-check-1119-2-99-1.jnk" has 16395 bytes. |
| 16656 | Starts with UTF-8 BOM: no |
| 16657 | Starts with UTF-16 BOM: yes |
| 16658 | Looks like UTF-8: no |
| 16659 | Has flag LOOK_NUL: yes |
| 16660 | Has flag LOOK_CR: yes |
| @@ -16666,11 +16666,11 @@ | |
| 16666 | Has flag LOOK_INVALID: yes |
| 16667 | Has flag LOOK_ODD: no |
| 16668 | Has flag LOOK_SHORT: no} |
| 16669 | |
| 16670 | utf-check 1120 utf-check-1120-2-100-0.jnk \ |
| 16671 | {File "%TEMP%/utf-check-1120-2-100-0.jnk" has 16396 bytes. |
| 16672 | Starts with UTF-8 BOM: no |
| 16673 | Starts with UTF-16 BOM: yes |
| 16674 | Looks like UTF-16: no |
| 16675 | Has flag LOOK_NUL: yes |
| 16676 | Has flag LOOK_CR: no |
| @@ -16682,11 +16682,11 @@ | |
| 16682 | Has flag LOOK_INVALID: no |
| 16683 | Has flag LOOK_ODD: no |
| 16684 | Has flag LOOK_SHORT: no} |
| 16685 | |
| 16686 | utf-check 1121 utf-check-1121-2-100-1.jnk \ |
| 16687 | {File "%TEMP%/utf-check-1121-2-100-1.jnk" has 16397 bytes. |
| 16688 | Starts with UTF-8 BOM: no |
| 16689 | Starts with UTF-16 BOM: yes |
| 16690 | Looks like UTF-8: no |
| 16691 | Has flag LOOK_NUL: yes |
| 16692 | Has flag LOOK_CR: no |
| @@ -16698,11 +16698,11 @@ | |
| 16698 | Has flag LOOK_INVALID: yes |
| 16699 | Has flag LOOK_ODD: no |
| 16700 | Has flag LOOK_SHORT: no} |
| 16701 | |
| 16702 | utf-check 1122 utf-check-1122-2-101-0.jnk \ |
| 16703 | {File "%TEMP%/utf-check-1122-2-101-0.jnk" has 16398 bytes. |
| 16704 | Starts with UTF-8 BOM: no |
| 16705 | Starts with UTF-16 BOM: yes |
| 16706 | Looks like UTF-16: no |
| 16707 | Has flag LOOK_NUL: yes |
| 16708 | Has flag LOOK_CR: yes |
| @@ -16714,11 +16714,11 @@ | |
| 16714 | Has flag LOOK_INVALID: no |
| 16715 | Has flag LOOK_ODD: no |
| 16716 | Has flag LOOK_SHORT: no} |
| 16717 | |
| 16718 | utf-check 1123 utf-check-1123-2-101-1.jnk \ |
| 16719 | {File "%TEMP%/utf-check-1123-2-101-1.jnk" has 16399 bytes. |
| 16720 | Starts with UTF-8 BOM: no |
| 16721 | Starts with UTF-16 BOM: yes |
| 16722 | Looks like UTF-8: no |
| 16723 | Has flag LOOK_NUL: yes |
| 16724 | Has flag LOOK_CR: yes |
| @@ -16730,11 +16730,11 @@ | |
| 16730 | Has flag LOOK_INVALID: yes |
| 16731 | Has flag LOOK_ODD: no |
| 16732 | Has flag LOOK_SHORT: no} |
| 16733 | |
| 16734 | utf-check 1124 utf-check-1124-2-102-0.jnk \ |
| 16735 | {File "%TEMP%/utf-check-1124-2-102-0.jnk" has 16398 bytes. |
| 16736 | Starts with UTF-8 BOM: no |
| 16737 | Starts with UTF-16 BOM: yes |
| 16738 | Looks like UTF-16: no |
| 16739 | Has flag LOOK_NUL: yes |
| 16740 | Has flag LOOK_CR: no |
| @@ -16746,11 +16746,11 @@ | |
| 16746 | Has flag LOOK_INVALID: no |
| 16747 | Has flag LOOK_ODD: no |
| 16748 | Has flag LOOK_SHORT: no} |
| 16749 | |
| 16750 | utf-check 1125 utf-check-1125-2-102-1.jnk \ |
| 16751 | {File "%TEMP%/utf-check-1125-2-102-1.jnk" has 16399 bytes. |
| 16752 | Starts with UTF-8 BOM: no |
| 16753 | Starts with UTF-16 BOM: yes |
| 16754 | Looks like UTF-8: no |
| 16755 | Has flag LOOK_NUL: yes |
| 16756 | Has flag LOOK_CR: no |
| @@ -16762,11 +16762,11 @@ | |
| 16762 | Has flag LOOK_INVALID: yes |
| 16763 | Has flag LOOK_ODD: no |
| 16764 | Has flag LOOK_SHORT: no} |
| 16765 | |
| 16766 | utf-check 1126 utf-check-1126-2-103-0.jnk \ |
| 16767 | {File "%TEMP%/utf-check-1126-2-103-0.jnk" has 16400 bytes. |
| 16768 | Starts with UTF-8 BOM: no |
| 16769 | Starts with UTF-16 BOM: yes |
| 16770 | Looks like UTF-16: no |
| 16771 | Has flag LOOK_NUL: yes |
| 16772 | Has flag LOOK_CR: yes |
| @@ -16778,11 +16778,11 @@ | |
| 16778 | Has flag LOOK_INVALID: no |
| 16779 | Has flag LOOK_ODD: no |
| 16780 | Has flag LOOK_SHORT: no} |
| 16781 | |
| 16782 | utf-check 1127 utf-check-1127-2-103-1.jnk \ |
| 16783 | {File "%TEMP%/utf-check-1127-2-103-1.jnk" has 16401 bytes. |
| 16784 | Starts with UTF-8 BOM: no |
| 16785 | Starts with UTF-16 BOM: yes |
| 16786 | Looks like UTF-8: no |
| 16787 | Has flag LOOK_NUL: yes |
| 16788 | Has flag LOOK_CR: yes |
| @@ -16794,11 +16794,11 @@ | |
| 16794 | Has flag LOOK_INVALID: yes |
| 16795 | Has flag LOOK_ODD: no |
| 16796 | Has flag LOOK_SHORT: no} |
| 16797 | |
| 16798 | utf-check 1128 utf-check-1128-2-104-0.jnk \ |
| 16799 | {File "%TEMP%/utf-check-1128-2-104-0.jnk" has 16392 bytes. |
| 16800 | Starts with UTF-8 BOM: no |
| 16801 | Starts with UTF-16 BOM: no |
| 16802 | Looks like UTF-8: no |
| 16803 | Has flag LOOK_NUL: yes |
| 16804 | Has flag LOOK_CR: no |
| @@ -16810,11 +16810,11 @@ | |
| 16810 | Has flag LOOK_INVALID: yes |
| 16811 | Has flag LOOK_ODD: no |
| 16812 | Has flag LOOK_SHORT: no} |
| 16813 | |
| 16814 | utf-check 1129 utf-check-1129-2-104-1.jnk \ |
| 16815 | {File "%TEMP%/utf-check-1129-2-104-1.jnk" has 16393 bytes. |
| 16816 | Starts with UTF-8 BOM: no |
| 16817 | Starts with UTF-16 BOM: no |
| 16818 | Looks like UTF-8: no |
| 16819 | Has flag LOOK_NUL: yes |
| 16820 | Has flag LOOK_CR: no |
| @@ -16826,11 +16826,11 @@ | |
| 16826 | Has flag LOOK_INVALID: yes |
| 16827 | Has flag LOOK_ODD: no |
| 16828 | Has flag LOOK_SHORT: no} |
| 16829 | |
| 16830 | utf-check 1130 utf-check-1130-2-105-0.jnk \ |
| 16831 | {File "%TEMP%/utf-check-1130-2-105-0.jnk" has 16394 bytes. |
| 16832 | Starts with UTF-8 BOM: no |
| 16833 | Starts with UTF-16 BOM: no |
| 16834 | Looks like UTF-8: no |
| 16835 | Has flag LOOK_NUL: yes |
| 16836 | Has flag LOOK_CR: yes |
| @@ -16842,11 +16842,11 @@ | |
| 16842 | Has flag LOOK_INVALID: yes |
| 16843 | Has flag LOOK_ODD: no |
| 16844 | Has flag LOOK_SHORT: no} |
| 16845 | |
| 16846 | utf-check 1131 utf-check-1131-2-105-1.jnk \ |
| 16847 | {File "%TEMP%/utf-check-1131-2-105-1.jnk" has 16395 bytes. |
| 16848 | Starts with UTF-8 BOM: no |
| 16849 | Starts with UTF-16 BOM: no |
| 16850 | Looks like UTF-8: no |
| 16851 | Has flag LOOK_NUL: yes |
| 16852 | Has flag LOOK_CR: yes |
| @@ -16858,11 +16858,11 @@ | |
| 16858 | Has flag LOOK_INVALID: yes |
| 16859 | Has flag LOOK_ODD: no |
| 16860 | Has flag LOOK_SHORT: no} |
| 16861 | |
| 16862 | utf-check 1132 utf-check-1132-2-106-0.jnk \ |
| 16863 | {File "%TEMP%/utf-check-1132-2-106-0.jnk" has 16394 bytes. |
| 16864 | Starts with UTF-8 BOM: no |
| 16865 | Starts with UTF-16 BOM: no |
| 16866 | Looks like UTF-8: no |
| 16867 | Has flag LOOK_NUL: yes |
| 16868 | Has flag LOOK_CR: no |
| @@ -16874,11 +16874,11 @@ | |
| 16874 | Has flag LOOK_INVALID: yes |
| 16875 | Has flag LOOK_ODD: no |
| 16876 | Has flag LOOK_SHORT: no} |
| 16877 | |
| 16878 | utf-check 1133 utf-check-1133-2-106-1.jnk \ |
| 16879 | {File "%TEMP%/utf-check-1133-2-106-1.jnk" has 16395 bytes. |
| 16880 | Starts with UTF-8 BOM: no |
| 16881 | Starts with UTF-16 BOM: no |
| 16882 | Looks like UTF-8: no |
| 16883 | Has flag LOOK_NUL: yes |
| 16884 | Has flag LOOK_CR: no |
| @@ -16890,11 +16890,11 @@ | |
| 16890 | Has flag LOOK_INVALID: yes |
| 16891 | Has flag LOOK_ODD: no |
| 16892 | Has flag LOOK_SHORT: no} |
| 16893 | |
| 16894 | utf-check 1134 utf-check-1134-2-107-0.jnk \ |
| 16895 | {File "%TEMP%/utf-check-1134-2-107-0.jnk" has 16396 bytes. |
| 16896 | Starts with UTF-8 BOM: no |
| 16897 | Starts with UTF-16 BOM: no |
| 16898 | Looks like UTF-8: no |
| 16899 | Has flag LOOK_NUL: yes |
| 16900 | Has flag LOOK_CR: yes |
| @@ -16906,11 +16906,11 @@ | |
| 16906 | Has flag LOOK_INVALID: yes |
| 16907 | Has flag LOOK_ODD: no |
| 16908 | Has flag LOOK_SHORT: no} |
| 16909 | |
| 16910 | utf-check 1135 utf-check-1135-2-107-1.jnk \ |
| 16911 | {File "%TEMP%/utf-check-1135-2-107-1.jnk" has 16397 bytes. |
| 16912 | Starts with UTF-8 BOM: no |
| 16913 | Starts with UTF-16 BOM: no |
| 16914 | Looks like UTF-8: no |
| 16915 | Has flag LOOK_NUL: yes |
| 16916 | Has flag LOOK_CR: yes |
| @@ -16922,11 +16922,11 @@ | |
| 16922 | Has flag LOOK_INVALID: yes |
| 16923 | Has flag LOOK_ODD: no |
| 16924 | Has flag LOOK_SHORT: no} |
| 16925 | |
| 16926 | utf-check 1136 utf-check-1136-2-108-0.jnk \ |
| 16927 | {File "%TEMP%/utf-check-1136-2-108-0.jnk" has 16398 bytes. |
| 16928 | Starts with UTF-8 BOM: no |
| 16929 | Starts with UTF-16 BOM: no |
| 16930 | Looks like UTF-8: no |
| 16931 | Has flag LOOK_NUL: yes |
| 16932 | Has flag LOOK_CR: no |
| @@ -16938,11 +16938,11 @@ | |
| 16938 | Has flag LOOK_INVALID: yes |
| 16939 | Has flag LOOK_ODD: no |
| 16940 | Has flag LOOK_SHORT: no} |
| 16941 | |
| 16942 | utf-check 1137 utf-check-1137-2-108-1.jnk \ |
| 16943 | {File "%TEMP%/utf-check-1137-2-108-1.jnk" has 16399 bytes. |
| 16944 | Starts with UTF-8 BOM: no |
| 16945 | Starts with UTF-16 BOM: no |
| 16946 | Looks like UTF-8: no |
| 16947 | Has flag LOOK_NUL: yes |
| 16948 | Has flag LOOK_CR: no |
| @@ -16954,11 +16954,11 @@ | |
| 16954 | Has flag LOOK_INVALID: yes |
| 16955 | Has flag LOOK_ODD: no |
| 16956 | Has flag LOOK_SHORT: no} |
| 16957 | |
| 16958 | utf-check 1138 utf-check-1138-2-109-0.jnk \ |
| 16959 | {File "%TEMP%/utf-check-1138-2-109-0.jnk" has 16400 bytes. |
| 16960 | Starts with UTF-8 BOM: no |
| 16961 | Starts with UTF-16 BOM: no |
| 16962 | Looks like UTF-8: no |
| 16963 | Has flag LOOK_NUL: yes |
| 16964 | Has flag LOOK_CR: yes |
| @@ -16970,11 +16970,11 @@ | |
| 16970 | Has flag LOOK_INVALID: yes |
| 16971 | Has flag LOOK_ODD: no |
| 16972 | Has flag LOOK_SHORT: no} |
| 16973 | |
| 16974 | utf-check 1139 utf-check-1139-2-109-1.jnk \ |
| 16975 | {File "%TEMP%/utf-check-1139-2-109-1.jnk" has 16401 bytes. |
| 16976 | Starts with UTF-8 BOM: no |
| 16977 | Starts with UTF-16 BOM: no |
| 16978 | Looks like UTF-8: no |
| 16979 | Has flag LOOK_NUL: yes |
| 16980 | Has flag LOOK_CR: yes |
| @@ -16986,11 +16986,11 @@ | |
| 16986 | Has flag LOOK_INVALID: yes |
| 16987 | Has flag LOOK_ODD: no |
| 16988 | Has flag LOOK_SHORT: no} |
| 16989 | |
| 16990 | utf-check 1140 utf-check-1140-2-110-0.jnk \ |
| 16991 | {File "%TEMP%/utf-check-1140-2-110-0.jnk" has 16400 bytes. |
| 16992 | Starts with UTF-8 BOM: no |
| 16993 | Starts with UTF-16 BOM: no |
| 16994 | Looks like UTF-8: no |
| 16995 | Has flag LOOK_NUL: yes |
| 16996 | Has flag LOOK_CR: no |
| @@ -17002,11 +17002,11 @@ | |
| 17002 | Has flag LOOK_INVALID: yes |
| 17003 | Has flag LOOK_ODD: no |
| 17004 | Has flag LOOK_SHORT: no} |
| 17005 | |
| 17006 | utf-check 1141 utf-check-1141-2-110-1.jnk \ |
| 17007 | {File "%TEMP%/utf-check-1141-2-110-1.jnk" has 16401 bytes. |
| 17008 | Starts with UTF-8 BOM: no |
| 17009 | Starts with UTF-16 BOM: no |
| 17010 | Looks like UTF-8: no |
| 17011 | Has flag LOOK_NUL: yes |
| 17012 | Has flag LOOK_CR: no |
| @@ -17018,11 +17018,11 @@ | |
| 17018 | Has flag LOOK_INVALID: yes |
| 17019 | Has flag LOOK_ODD: no |
| 17020 | Has flag LOOK_SHORT: no} |
| 17021 | |
| 17022 | utf-check 1142 utf-check-1142-2-111-0.jnk \ |
| 17023 | {File "%TEMP%/utf-check-1142-2-111-0.jnk" has 16402 bytes. |
| 17024 | Starts with UTF-8 BOM: no |
| 17025 | Starts with UTF-16 BOM: no |
| 17026 | Looks like UTF-8: no |
| 17027 | Has flag LOOK_NUL: yes |
| 17028 | Has flag LOOK_CR: yes |
| @@ -17034,11 +17034,11 @@ | |
| 17034 | Has flag LOOK_INVALID: yes |
| 17035 | Has flag LOOK_ODD: no |
| 17036 | Has flag LOOK_SHORT: no} |
| 17037 | |
| 17038 | utf-check 1143 utf-check-1143-2-111-1.jnk \ |
| 17039 | {File "%TEMP%/utf-check-1143-2-111-1.jnk" has 16403 bytes. |
| 17040 | Starts with UTF-8 BOM: no |
| 17041 | Starts with UTF-16 BOM: no |
| 17042 | Looks like UTF-8: no |
| 17043 | Has flag LOOK_NUL: yes |
| 17044 | Has flag LOOK_CR: yes |
| @@ -22586,11 +22586,11 @@ | |
| 22586 | Has flag LOOK_INVALID: yes |
| 22587 | Has flag LOOK_ODD: no |
| 22588 | Has flag LOOK_SHORT: no} |
| 22589 | |
| 22590 | utf-check 1490 utf-check-1490-3-80-0.jnk \ |
| 22591 | {File "%TEMP%/utf-check-1490-3-80-0.jnk" has 16388 bytes. |
| 22592 | Starts with UTF-8 BOM: no |
| 22593 | Starts with UTF-16 BOM: no |
| 22594 | Looks like UTF-8: no |
| 22595 | Has flag LOOK_NUL: yes |
| 22596 | Has flag LOOK_CR: no |
| @@ -22602,11 +22602,11 @@ | |
| 22602 | Has flag LOOK_INVALID: yes |
| 22603 | Has flag LOOK_ODD: no |
| 22604 | Has flag LOOK_SHORT: no} |
| 22605 | |
| 22606 | utf-check 1491 utf-check-1491-3-80-1.jnk \ |
| 22607 | {File "%TEMP%/utf-check-1491-3-80-1.jnk" has 16389 bytes. |
| 22608 | Starts with UTF-8 BOM: no |
| 22609 | Starts with UTF-16 BOM: no |
| 22610 | Looks like UTF-8: no |
| 22611 | Has flag LOOK_NUL: yes |
| 22612 | Has flag LOOK_CR: no |
| @@ -22618,11 +22618,11 @@ | |
| 22618 | Has flag LOOK_INVALID: yes |
| 22619 | Has flag LOOK_ODD: no |
| 22620 | Has flag LOOK_SHORT: no} |
| 22621 | |
| 22622 | utf-check 1492 utf-check-1492-3-81-0.jnk \ |
| 22623 | {File "%TEMP%/utf-check-1492-3-81-0.jnk" has 16390 bytes. |
| 22624 | Starts with UTF-8 BOM: no |
| 22625 | Starts with UTF-16 BOM: no |
| 22626 | Looks like UTF-8: no |
| 22627 | Has flag LOOK_NUL: yes |
| 22628 | Has flag LOOK_CR: no |
| @@ -22634,11 +22634,11 @@ | |
| 22634 | Has flag LOOK_INVALID: yes |
| 22635 | Has flag LOOK_ODD: no |
| 22636 | Has flag LOOK_SHORT: no} |
| 22637 | |
| 22638 | utf-check 1493 utf-check-1493-3-81-1.jnk \ |
| 22639 | {File "%TEMP%/utf-check-1493-3-81-1.jnk" has 16391 bytes. |
| 22640 | Starts with UTF-8 BOM: no |
| 22641 | Starts with UTF-16 BOM: no |
| 22642 | Looks like UTF-8: no |
| 22643 | Has flag LOOK_NUL: yes |
| 22644 | Has flag LOOK_CR: no |
| @@ -22650,11 +22650,11 @@ | |
| 22650 | Has flag LOOK_INVALID: yes |
| 22651 | Has flag LOOK_ODD: no |
| 22652 | Has flag LOOK_SHORT: no} |
| 22653 | |
| 22654 | utf-check 1494 utf-check-1494-3-82-0.jnk \ |
| 22655 | {File "%TEMP%/utf-check-1494-3-82-0.jnk" has 16390 bytes. |
| 22656 | Starts with UTF-8 BOM: no |
| 22657 | Starts with UTF-16 BOM: no |
| 22658 | Looks like UTF-8: no |
| 22659 | Has flag LOOK_NUL: yes |
| 22660 | Has flag LOOK_CR: no |
| @@ -22666,11 +22666,11 @@ | |
| 22666 | Has flag LOOK_INVALID: yes |
| 22667 | Has flag LOOK_ODD: no |
| 22668 | Has flag LOOK_SHORT: no} |
| 22669 | |
| 22670 | utf-check 1495 utf-check-1495-3-82-1.jnk \ |
| 22671 | {File "%TEMP%/utf-check-1495-3-82-1.jnk" has 16391 bytes. |
| 22672 | Starts with UTF-8 BOM: no |
| 22673 | Starts with UTF-16 BOM: no |
| 22674 | Looks like UTF-8: no |
| 22675 | Has flag LOOK_NUL: yes |
| 22676 | Has flag LOOK_CR: no |
| @@ -22682,11 +22682,11 @@ | |
| 22682 | Has flag LOOK_INVALID: yes |
| 22683 | Has flag LOOK_ODD: no |
| 22684 | Has flag LOOK_SHORT: no} |
| 22685 | |
| 22686 | utf-check 1496 utf-check-1496-3-83-0.jnk \ |
| 22687 | {File "%TEMP%/utf-check-1496-3-83-0.jnk" has 16392 bytes. |
| 22688 | Starts with UTF-8 BOM: no |
| 22689 | Starts with UTF-16 BOM: no |
| 22690 | Looks like UTF-8: no |
| 22691 | Has flag LOOK_NUL: yes |
| 22692 | Has flag LOOK_CR: no |
| @@ -22698,11 +22698,11 @@ | |
| 22698 | Has flag LOOK_INVALID: yes |
| 22699 | Has flag LOOK_ODD: no |
| 22700 | Has flag LOOK_SHORT: no} |
| 22701 | |
| 22702 | utf-check 1497 utf-check-1497-3-83-1.jnk \ |
| 22703 | {File "%TEMP%/utf-check-1497-3-83-1.jnk" has 16393 bytes. |
| 22704 | Starts with UTF-8 BOM: no |
| 22705 | Starts with UTF-16 BOM: no |
| 22706 | Looks like UTF-8: no |
| 22707 | Has flag LOOK_NUL: yes |
| 22708 | Has flag LOOK_CR: no |
| @@ -22714,11 +22714,11 @@ | |
| 22714 | Has flag LOOK_INVALID: yes |
| 22715 | Has flag LOOK_ODD: no |
| 22716 | Has flag LOOK_SHORT: no} |
| 22717 | |
| 22718 | utf-check 1498 utf-check-1498-3-84-0.jnk \ |
| 22719 | {File "%TEMP%/utf-check-1498-3-84-0.jnk" has 16394 bytes. |
| 22720 | Starts with UTF-8 BOM: no |
| 22721 | Starts with UTF-16 BOM: no |
| 22722 | Looks like UTF-8: no |
| 22723 | Has flag LOOK_NUL: yes |
| 22724 | Has flag LOOK_CR: no |
| @@ -22730,11 +22730,11 @@ | |
| 22730 | Has flag LOOK_INVALID: yes |
| 22731 | Has flag LOOK_ODD: no |
| 22732 | Has flag LOOK_SHORT: no} |
| 22733 | |
| 22734 | utf-check 1499 utf-check-1499-3-84-1.jnk \ |
| 22735 | {File "%TEMP%/utf-check-1499-3-84-1.jnk" has 16395 bytes. |
| 22736 | Starts with UTF-8 BOM: no |
| 22737 | Starts with UTF-16 BOM: no |
| 22738 | Looks like UTF-8: no |
| 22739 | Has flag LOOK_NUL: yes |
| 22740 | Has flag LOOK_CR: no |
| @@ -22746,11 +22746,11 @@ | |
| 22746 | Has flag LOOK_INVALID: yes |
| 22747 | Has flag LOOK_ODD: no |
| 22748 | Has flag LOOK_SHORT: no} |
| 22749 | |
| 22750 | utf-check 1500 utf-check-1500-3-85-0.jnk \ |
| 22751 | {File "%TEMP%/utf-check-1500-3-85-0.jnk" has 16396 bytes. |
| 22752 | Starts with UTF-8 BOM: no |
| 22753 | Starts with UTF-16 BOM: no |
| 22754 | Looks like UTF-8: no |
| 22755 | Has flag LOOK_NUL: yes |
| 22756 | Has flag LOOK_CR: no |
| @@ -22762,11 +22762,11 @@ | |
| 22762 | Has flag LOOK_INVALID: yes |
| 22763 | Has flag LOOK_ODD: no |
| 22764 | Has flag LOOK_SHORT: no} |
| 22765 | |
| 22766 | utf-check 1501 utf-check-1501-3-85-1.jnk \ |
| 22767 | {File "%TEMP%/utf-check-1501-3-85-1.jnk" has 16397 bytes. |
| 22768 | Starts with UTF-8 BOM: no |
| 22769 | Starts with UTF-16 BOM: no |
| 22770 | Looks like UTF-8: no |
| 22771 | Has flag LOOK_NUL: yes |
| 22772 | Has flag LOOK_CR: no |
| @@ -22778,11 +22778,11 @@ | |
| 22778 | Has flag LOOK_INVALID: yes |
| 22779 | Has flag LOOK_ODD: no |
| 22780 | Has flag LOOK_SHORT: no} |
| 22781 | |
| 22782 | utf-check 1502 utf-check-1502-3-86-0.jnk \ |
| 22783 | {File "%TEMP%/utf-check-1502-3-86-0.jnk" has 16396 bytes. |
| 22784 | Starts with UTF-8 BOM: no |
| 22785 | Starts with UTF-16 BOM: no |
| 22786 | Looks like UTF-8: no |
| 22787 | Has flag LOOK_NUL: yes |
| 22788 | Has flag LOOK_CR: no |
| @@ -22794,11 +22794,11 @@ | |
| 22794 | Has flag LOOK_INVALID: yes |
| 22795 | Has flag LOOK_ODD: no |
| 22796 | Has flag LOOK_SHORT: no} |
| 22797 | |
| 22798 | utf-check 1503 utf-check-1503-3-86-1.jnk \ |
| 22799 | {File "%TEMP%/utf-check-1503-3-86-1.jnk" has 16397 bytes. |
| 22800 | Starts with UTF-8 BOM: no |
| 22801 | Starts with UTF-16 BOM: no |
| 22802 | Looks like UTF-8: no |
| 22803 | Has flag LOOK_NUL: yes |
| 22804 | Has flag LOOK_CR: no |
| @@ -22810,11 +22810,11 @@ | |
| 22810 | Has flag LOOK_INVALID: yes |
| 22811 | Has flag LOOK_ODD: no |
| 22812 | Has flag LOOK_SHORT: no} |
| 22813 | |
| 22814 | utf-check 1504 utf-check-1504-3-87-0.jnk \ |
| 22815 | {File "%TEMP%/utf-check-1504-3-87-0.jnk" has 16398 bytes. |
| 22816 | Starts with UTF-8 BOM: no |
| 22817 | Starts with UTF-16 BOM: no |
| 22818 | Looks like UTF-8: no |
| 22819 | Has flag LOOK_NUL: yes |
| 22820 | Has flag LOOK_CR: no |
| @@ -22826,11 +22826,11 @@ | |
| 22826 | Has flag LOOK_INVALID: yes |
| 22827 | Has flag LOOK_ODD: no |
| 22828 | Has flag LOOK_SHORT: no} |
| 22829 | |
| 22830 | utf-check 1505 utf-check-1505-3-87-1.jnk \ |
| 22831 | {File "%TEMP%/utf-check-1505-3-87-1.jnk" has 16399 bytes. |
| 22832 | Starts with UTF-8 BOM: no |
| 22833 | Starts with UTF-16 BOM: no |
| 22834 | Looks like UTF-8: no |
| 22835 | Has flag LOOK_NUL: yes |
| 22836 | Has flag LOOK_CR: no |
| @@ -22842,11 +22842,11 @@ | |
| 22842 | Has flag LOOK_INVALID: yes |
| 22843 | Has flag LOOK_ODD: no |
| 22844 | Has flag LOOK_SHORT: no} |
| 22845 | |
| 22846 | utf-check 1506 utf-check-1506-3-88-0.jnk \ |
| 22847 | {File "%TEMP%/utf-check-1506-3-88-0.jnk" has 16390 bytes. |
| 22848 | Starts with UTF-8 BOM: no |
| 22849 | Starts with UTF-16 BOM: no |
| 22850 | Looks like UTF-8: no |
| 22851 | Has flag LOOK_NUL: yes |
| 22852 | Has flag LOOK_CR: no |
| @@ -22858,11 +22858,11 @@ | |
| 22858 | Has flag LOOK_INVALID: yes |
| 22859 | Has flag LOOK_ODD: no |
| 22860 | Has flag LOOK_SHORT: no} |
| 22861 | |
| 22862 | utf-check 1507 utf-check-1507-3-88-1.jnk \ |
| 22863 | {File "%TEMP%/utf-check-1507-3-88-1.jnk" has 16391 bytes. |
| 22864 | Starts with UTF-8 BOM: no |
| 22865 | Starts with UTF-16 BOM: no |
| 22866 | Looks like UTF-8: no |
| 22867 | Has flag LOOK_NUL: yes |
| 22868 | Has flag LOOK_CR: no |
| @@ -22874,11 +22874,11 @@ | |
| 22874 | Has flag LOOK_INVALID: yes |
| 22875 | Has flag LOOK_ODD: no |
| 22876 | Has flag LOOK_SHORT: no} |
| 22877 | |
| 22878 | utf-check 1508 utf-check-1508-3-89-0.jnk \ |
| 22879 | {File "%TEMP%/utf-check-1508-3-89-0.jnk" has 16392 bytes. |
| 22880 | Starts with UTF-8 BOM: no |
| 22881 | Starts with UTF-16 BOM: no |
| 22882 | Looks like UTF-8: no |
| 22883 | Has flag LOOK_NUL: yes |
| 22884 | Has flag LOOK_CR: no |
| @@ -22890,11 +22890,11 @@ | |
| 22890 | Has flag LOOK_INVALID: yes |
| 22891 | Has flag LOOK_ODD: no |
| 22892 | Has flag LOOK_SHORT: no} |
| 22893 | |
| 22894 | utf-check 1509 utf-check-1509-3-89-1.jnk \ |
| 22895 | {File "%TEMP%/utf-check-1509-3-89-1.jnk" has 16393 bytes. |
| 22896 | Starts with UTF-8 BOM: no |
| 22897 | Starts with UTF-16 BOM: no |
| 22898 | Looks like UTF-8: no |
| 22899 | Has flag LOOK_NUL: yes |
| 22900 | Has flag LOOK_CR: no |
| @@ -22906,11 +22906,11 @@ | |
| 22906 | Has flag LOOK_INVALID: yes |
| 22907 | Has flag LOOK_ODD: no |
| 22908 | Has flag LOOK_SHORT: no} |
| 22909 | |
| 22910 | utf-check 1510 utf-check-1510-3-90-0.jnk \ |
| 22911 | {File "%TEMP%/utf-check-1510-3-90-0.jnk" has 16392 bytes. |
| 22912 | Starts with UTF-8 BOM: no |
| 22913 | Starts with UTF-16 BOM: no |
| 22914 | Looks like UTF-8: no |
| 22915 | Has flag LOOK_NUL: yes |
| 22916 | Has flag LOOK_CR: no |
| @@ -22922,11 +22922,11 @@ | |
| 22922 | Has flag LOOK_INVALID: yes |
| 22923 | Has flag LOOK_ODD: no |
| 22924 | Has flag LOOK_SHORT: no} |
| 22925 | |
| 22926 | utf-check 1511 utf-check-1511-3-90-1.jnk \ |
| 22927 | {File "%TEMP%/utf-check-1511-3-90-1.jnk" has 16393 bytes. |
| 22928 | Starts with UTF-8 BOM: no |
| 22929 | Starts with UTF-16 BOM: no |
| 22930 | Looks like UTF-8: no |
| 22931 | Has flag LOOK_NUL: yes |
| 22932 | Has flag LOOK_CR: no |
| @@ -22938,11 +22938,11 @@ | |
| 22938 | Has flag LOOK_INVALID: yes |
| 22939 | Has flag LOOK_ODD: no |
| 22940 | Has flag LOOK_SHORT: no} |
| 22941 | |
| 22942 | utf-check 1512 utf-check-1512-3-91-0.jnk \ |
| 22943 | {File "%TEMP%/utf-check-1512-3-91-0.jnk" has 16394 bytes. |
| 22944 | Starts with UTF-8 BOM: no |
| 22945 | Starts with UTF-16 BOM: no |
| 22946 | Looks like UTF-8: no |
| 22947 | Has flag LOOK_NUL: yes |
| 22948 | Has flag LOOK_CR: no |
| @@ -22954,11 +22954,11 @@ | |
| 22954 | Has flag LOOK_INVALID: yes |
| 22955 | Has flag LOOK_ODD: no |
| 22956 | Has flag LOOK_SHORT: no} |
| 22957 | |
| 22958 | utf-check 1513 utf-check-1513-3-91-1.jnk \ |
| 22959 | {File "%TEMP%/utf-check-1513-3-91-1.jnk" has 16395 bytes. |
| 22960 | Starts with UTF-8 BOM: no |
| 22961 | Starts with UTF-16 BOM: no |
| 22962 | Looks like UTF-8: no |
| 22963 | Has flag LOOK_NUL: yes |
| 22964 | Has flag LOOK_CR: no |
| @@ -22970,11 +22970,11 @@ | |
| 22970 | Has flag LOOK_INVALID: yes |
| 22971 | Has flag LOOK_ODD: no |
| 22972 | Has flag LOOK_SHORT: no} |
| 22973 | |
| 22974 | utf-check 1514 utf-check-1514-3-92-0.jnk \ |
| 22975 | {File "%TEMP%/utf-check-1514-3-92-0.jnk" has 16396 bytes. |
| 22976 | Starts with UTF-8 BOM: no |
| 22977 | Starts with UTF-16 BOM: no |
| 22978 | Looks like UTF-8: no |
| 22979 | Has flag LOOK_NUL: yes |
| 22980 | Has flag LOOK_CR: no |
| @@ -22986,11 +22986,11 @@ | |
| 22986 | Has flag LOOK_INVALID: yes |
| 22987 | Has flag LOOK_ODD: no |
| 22988 | Has flag LOOK_SHORT: no} |
| 22989 | |
| 22990 | utf-check 1515 utf-check-1515-3-92-1.jnk \ |
| 22991 | {File "%TEMP%/utf-check-1515-3-92-1.jnk" has 16397 bytes. |
| 22992 | Starts with UTF-8 BOM: no |
| 22993 | Starts with UTF-16 BOM: no |
| 22994 | Looks like UTF-8: no |
| 22995 | Has flag LOOK_NUL: yes |
| 22996 | Has flag LOOK_CR: no |
| @@ -23002,11 +23002,11 @@ | |
| 23002 | Has flag LOOK_INVALID: yes |
| 23003 | Has flag LOOK_ODD: no |
| 23004 | Has flag LOOK_SHORT: no} |
| 23005 | |
| 23006 | utf-check 1516 utf-check-1516-3-93-0.jnk \ |
| 23007 | {File "%TEMP%/utf-check-1516-3-93-0.jnk" has 16398 bytes. |
| 23008 | Starts with UTF-8 BOM: no |
| 23009 | Starts with UTF-16 BOM: no |
| 23010 | Looks like UTF-8: no |
| 23011 | Has flag LOOK_NUL: yes |
| 23012 | Has flag LOOK_CR: no |
| @@ -23018,11 +23018,11 @@ | |
| 23018 | Has flag LOOK_INVALID: yes |
| 23019 | Has flag LOOK_ODD: no |
| 23020 | Has flag LOOK_SHORT: no} |
| 23021 | |
| 23022 | utf-check 1517 utf-check-1517-3-93-1.jnk \ |
| 23023 | {File "%TEMP%/utf-check-1517-3-93-1.jnk" has 16399 bytes. |
| 23024 | Starts with UTF-8 BOM: no |
| 23025 | Starts with UTF-16 BOM: no |
| 23026 | Looks like UTF-8: no |
| 23027 | Has flag LOOK_NUL: yes |
| 23028 | Has flag LOOK_CR: no |
| @@ -23034,11 +23034,11 @@ | |
| 23034 | Has flag LOOK_INVALID: yes |
| 23035 | Has flag LOOK_ODD: no |
| 23036 | Has flag LOOK_SHORT: no} |
| 23037 | |
| 23038 | utf-check 1518 utf-check-1518-3-94-0.jnk \ |
| 23039 | {File "%TEMP%/utf-check-1518-3-94-0.jnk" has 16398 bytes. |
| 23040 | Starts with UTF-8 BOM: no |
| 23041 | Starts with UTF-16 BOM: no |
| 23042 | Looks like UTF-8: no |
| 23043 | Has flag LOOK_NUL: yes |
| 23044 | Has flag LOOK_CR: no |
| @@ -23050,11 +23050,11 @@ | |
| 23050 | Has flag LOOK_INVALID: yes |
| 23051 | Has flag LOOK_ODD: no |
| 23052 | Has flag LOOK_SHORT: no} |
| 23053 | |
| 23054 | utf-check 1519 utf-check-1519-3-94-1.jnk \ |
| 23055 | {File "%TEMP%/utf-check-1519-3-94-1.jnk" has 16399 bytes. |
| 23056 | Starts with UTF-8 BOM: no |
| 23057 | Starts with UTF-16 BOM: no |
| 23058 | Looks like UTF-8: no |
| 23059 | Has flag LOOK_NUL: yes |
| 23060 | Has flag LOOK_CR: no |
| @@ -23066,11 +23066,11 @@ | |
| 23066 | Has flag LOOK_INVALID: yes |
| 23067 | Has flag LOOK_ODD: no |
| 23068 | Has flag LOOK_SHORT: no} |
| 23069 | |
| 23070 | utf-check 1520 utf-check-1520-3-95-0.jnk \ |
| 23071 | {File "%TEMP%/utf-check-1520-3-95-0.jnk" has 16400 bytes. |
| 23072 | Starts with UTF-8 BOM: no |
| 23073 | Starts with UTF-16 BOM: no |
| 23074 | Looks like UTF-8: no |
| 23075 | Has flag LOOK_NUL: yes |
| 23076 | Has flag LOOK_CR: no |
| @@ -23082,11 +23082,11 @@ | |
| 23082 | Has flag LOOK_INVALID: yes |
| 23083 | Has flag LOOK_ODD: no |
| 23084 | Has flag LOOK_SHORT: no} |
| 23085 | |
| 23086 | utf-check 1521 utf-check-1521-3-95-1.jnk \ |
| 23087 | {File "%TEMP%/utf-check-1521-3-95-1.jnk" has 16401 bytes. |
| 23088 | Starts with UTF-8 BOM: no |
| 23089 | Starts with UTF-16 BOM: no |
| 23090 | Looks like UTF-8: no |
| 23091 | Has flag LOOK_NUL: yes |
| 23092 | Has flag LOOK_CR: no |
| @@ -23098,11 +23098,11 @@ | |
| 23098 | Has flag LOOK_INVALID: yes |
| 23099 | Has flag LOOK_ODD: no |
| 23100 | Has flag LOOK_SHORT: no} |
| 23101 | |
| 23102 | utf-check 1522 utf-check-1522-3-96-0.jnk \ |
| 23103 | {File "%TEMP%/utf-check-1522-3-96-0.jnk" has 16390 bytes. |
| 23104 | Starts with UTF-8 BOM: no |
| 23105 | Starts with UTF-16 BOM: no |
| 23106 | Looks like UTF-8: no |
| 23107 | Has flag LOOK_NUL: yes |
| 23108 | Has flag LOOK_CR: no |
| @@ -23114,11 +23114,11 @@ | |
| 23114 | Has flag LOOK_INVALID: yes |
| 23115 | Has flag LOOK_ODD: no |
| 23116 | Has flag LOOK_SHORT: no} |
| 23117 | |
| 23118 | utf-check 1523 utf-check-1523-3-96-1.jnk \ |
| 23119 | {File "%TEMP%/utf-check-1523-3-96-1.jnk" has 16391 bytes. |
| 23120 | Starts with UTF-8 BOM: no |
| 23121 | Starts with UTF-16 BOM: no |
| 23122 | Looks like UTF-8: no |
| 23123 | Has flag LOOK_NUL: yes |
| 23124 | Has flag LOOK_CR: no |
| @@ -23130,11 +23130,11 @@ | |
| 23130 | Has flag LOOK_INVALID: yes |
| 23131 | Has flag LOOK_ODD: no |
| 23132 | Has flag LOOK_SHORT: no} |
| 23133 | |
| 23134 | utf-check 1524 utf-check-1524-3-97-0.jnk \ |
| 23135 | {File "%TEMP%/utf-check-1524-3-97-0.jnk" has 16392 bytes. |
| 23136 | Starts with UTF-8 BOM: no |
| 23137 | Starts with UTF-16 BOM: no |
| 23138 | Looks like UTF-8: no |
| 23139 | Has flag LOOK_NUL: yes |
| 23140 | Has flag LOOK_CR: no |
| @@ -23146,11 +23146,11 @@ | |
| 23146 | Has flag LOOK_INVALID: yes |
| 23147 | Has flag LOOK_ODD: no |
| 23148 | Has flag LOOK_SHORT: no} |
| 23149 | |
| 23150 | utf-check 1525 utf-check-1525-3-97-1.jnk \ |
| 23151 | {File "%TEMP%/utf-check-1525-3-97-1.jnk" has 16393 bytes. |
| 23152 | Starts with UTF-8 BOM: no |
| 23153 | Starts with UTF-16 BOM: no |
| 23154 | Looks like UTF-8: no |
| 23155 | Has flag LOOK_NUL: yes |
| 23156 | Has flag LOOK_CR: no |
| @@ -23162,11 +23162,11 @@ | |
| 23162 | Has flag LOOK_INVALID: yes |
| 23163 | Has flag LOOK_ODD: no |
| 23164 | Has flag LOOK_SHORT: no} |
| 23165 | |
| 23166 | utf-check 1526 utf-check-1526-3-98-0.jnk \ |
| 23167 | {File "%TEMP%/utf-check-1526-3-98-0.jnk" has 16392 bytes. |
| 23168 | Starts with UTF-8 BOM: no |
| 23169 | Starts with UTF-16 BOM: no |
| 23170 | Looks like UTF-8: no |
| 23171 | Has flag LOOK_NUL: yes |
| 23172 | Has flag LOOK_CR: no |
| @@ -23178,11 +23178,11 @@ | |
| 23178 | Has flag LOOK_INVALID: yes |
| 23179 | Has flag LOOK_ODD: no |
| 23180 | Has flag LOOK_SHORT: no} |
| 23181 | |
| 23182 | utf-check 1527 utf-check-1527-3-98-1.jnk \ |
| 23183 | {File "%TEMP%/utf-check-1527-3-98-1.jnk" has 16393 bytes. |
| 23184 | Starts with UTF-8 BOM: no |
| 23185 | Starts with UTF-16 BOM: no |
| 23186 | Looks like UTF-8: no |
| 23187 | Has flag LOOK_NUL: yes |
| 23188 | Has flag LOOK_CR: no |
| @@ -23194,11 +23194,11 @@ | |
| 23194 | Has flag LOOK_INVALID: yes |
| 23195 | Has flag LOOK_ODD: no |
| 23196 | Has flag LOOK_SHORT: no} |
| 23197 | |
| 23198 | utf-check 1528 utf-check-1528-3-99-0.jnk \ |
| 23199 | {File "%TEMP%/utf-check-1528-3-99-0.jnk" has 16394 bytes. |
| 23200 | Starts with UTF-8 BOM: no |
| 23201 | Starts with UTF-16 BOM: no |
| 23202 | Looks like UTF-8: no |
| 23203 | Has flag LOOK_NUL: yes |
| 23204 | Has flag LOOK_CR: no |
| @@ -23210,11 +23210,11 @@ | |
| 23210 | Has flag LOOK_INVALID: yes |
| 23211 | Has flag LOOK_ODD: no |
| 23212 | Has flag LOOK_SHORT: no} |
| 23213 | |
| 23214 | utf-check 1529 utf-check-1529-3-99-1.jnk \ |
| 23215 | {File "%TEMP%/utf-check-1529-3-99-1.jnk" has 16395 bytes. |
| 23216 | Starts with UTF-8 BOM: no |
| 23217 | Starts with UTF-16 BOM: no |
| 23218 | Looks like UTF-8: no |
| 23219 | Has flag LOOK_NUL: yes |
| 23220 | Has flag LOOK_CR: no |
| @@ -23226,11 +23226,11 @@ | |
| 23226 | Has flag LOOK_INVALID: yes |
| 23227 | Has flag LOOK_ODD: no |
| 23228 | Has flag LOOK_SHORT: no} |
| 23229 | |
| 23230 | utf-check 1530 utf-check-1530-3-100-0.jnk \ |
| 23231 | {File "%TEMP%/utf-check-1530-3-100-0.jnk" has 16396 bytes. |
| 23232 | Starts with UTF-8 BOM: no |
| 23233 | Starts with UTF-16 BOM: no |
| 23234 | Looks like UTF-8: no |
| 23235 | Has flag LOOK_NUL: yes |
| 23236 | Has flag LOOK_CR: no |
| @@ -23242,11 +23242,11 @@ | |
| 23242 | Has flag LOOK_INVALID: yes |
| 23243 | Has flag LOOK_ODD: no |
| 23244 | Has flag LOOK_SHORT: no} |
| 23245 | |
| 23246 | utf-check 1531 utf-check-1531-3-100-1.jnk \ |
| 23247 | {File "%TEMP%/utf-check-1531-3-100-1.jnk" has 16397 bytes. |
| 23248 | Starts with UTF-8 BOM: no |
| 23249 | Starts with UTF-16 BOM: no |
| 23250 | Looks like UTF-8: no |
| 23251 | Has flag LOOK_NUL: yes |
| 23252 | Has flag LOOK_CR: no |
| @@ -23258,11 +23258,11 @@ | |
| 23258 | Has flag LOOK_INVALID: yes |
| 23259 | Has flag LOOK_ODD: no |
| 23260 | Has flag LOOK_SHORT: no} |
| 23261 | |
| 23262 | utf-check 1532 utf-check-1532-3-101-0.jnk \ |
| 23263 | {File "%TEMP%/utf-check-1532-3-101-0.jnk" has 16398 bytes. |
| 23264 | Starts with UTF-8 BOM: no |
| 23265 | Starts with UTF-16 BOM: no |
| 23266 | Looks like UTF-8: no |
| 23267 | Has flag LOOK_NUL: yes |
| 23268 | Has flag LOOK_CR: no |
| @@ -23274,11 +23274,11 @@ | |
| 23274 | Has flag LOOK_INVALID: yes |
| 23275 | Has flag LOOK_ODD: no |
| 23276 | Has flag LOOK_SHORT: no} |
| 23277 | |
| 23278 | utf-check 1533 utf-check-1533-3-101-1.jnk \ |
| 23279 | {File "%TEMP%/utf-check-1533-3-101-1.jnk" has 16399 bytes. |
| 23280 | Starts with UTF-8 BOM: no |
| 23281 | Starts with UTF-16 BOM: no |
| 23282 | Looks like UTF-8: no |
| 23283 | Has flag LOOK_NUL: yes |
| 23284 | Has flag LOOK_CR: no |
| @@ -23290,11 +23290,11 @@ | |
| 23290 | Has flag LOOK_INVALID: yes |
| 23291 | Has flag LOOK_ODD: no |
| 23292 | Has flag LOOK_SHORT: no} |
| 23293 | |
| 23294 | utf-check 1534 utf-check-1534-3-102-0.jnk \ |
| 23295 | {File "%TEMP%/utf-check-1534-3-102-0.jnk" has 16398 bytes. |
| 23296 | Starts with UTF-8 BOM: no |
| 23297 | Starts with UTF-16 BOM: no |
| 23298 | Looks like UTF-8: no |
| 23299 | Has flag LOOK_NUL: yes |
| 23300 | Has flag LOOK_CR: no |
| @@ -23306,11 +23306,11 @@ | |
| 23306 | Has flag LOOK_INVALID: yes |
| 23307 | Has flag LOOK_ODD: no |
| 23308 | Has flag LOOK_SHORT: no} |
| 23309 | |
| 23310 | utf-check 1535 utf-check-1535-3-102-1.jnk \ |
| 23311 | {File "%TEMP%/utf-check-1535-3-102-1.jnk" has 16399 bytes. |
| 23312 | Starts with UTF-8 BOM: no |
| 23313 | Starts with UTF-16 BOM: no |
| 23314 | Looks like UTF-8: no |
| 23315 | Has flag LOOK_NUL: yes |
| 23316 | Has flag LOOK_CR: no |
| @@ -23322,11 +23322,11 @@ | |
| 23322 | Has flag LOOK_INVALID: yes |
| 23323 | Has flag LOOK_ODD: no |
| 23324 | Has flag LOOK_SHORT: no} |
| 23325 | |
| 23326 | utf-check 1536 utf-check-1536-3-103-0.jnk \ |
| 23327 | {File "%TEMP%/utf-check-1536-3-103-0.jnk" has 16400 bytes. |
| 23328 | Starts with UTF-8 BOM: no |
| 23329 | Starts with UTF-16 BOM: no |
| 23330 | Looks like UTF-8: no |
| 23331 | Has flag LOOK_NUL: yes |
| 23332 | Has flag LOOK_CR: no |
| @@ -23338,11 +23338,11 @@ | |
| 23338 | Has flag LOOK_INVALID: yes |
| 23339 | Has flag LOOK_ODD: no |
| 23340 | Has flag LOOK_SHORT: no} |
| 23341 | |
| 23342 | utf-check 1537 utf-check-1537-3-103-1.jnk \ |
| 23343 | {File "%TEMP%/utf-check-1537-3-103-1.jnk" has 16401 bytes. |
| 23344 | Starts with UTF-8 BOM: no |
| 23345 | Starts with UTF-16 BOM: no |
| 23346 | Looks like UTF-8: no |
| 23347 | Has flag LOOK_NUL: yes |
| 23348 | Has flag LOOK_CR: no |
| @@ -23354,11 +23354,11 @@ | |
| 23354 | Has flag LOOK_INVALID: yes |
| 23355 | Has flag LOOK_ODD: no |
| 23356 | Has flag LOOK_SHORT: no} |
| 23357 | |
| 23358 | utf-check 1538 utf-check-1538-3-104-0.jnk \ |
| 23359 | {File "%TEMP%/utf-check-1538-3-104-0.jnk" has 16392 bytes. |
| 23360 | Starts with UTF-8 BOM: no |
| 23361 | Starts with UTF-16 BOM: no |
| 23362 | Looks like UTF-8: no |
| 23363 | Has flag LOOK_NUL: yes |
| 23364 | Has flag LOOK_CR: no |
| @@ -23370,11 +23370,11 @@ | |
| 23370 | Has flag LOOK_INVALID: yes |
| 23371 | Has flag LOOK_ODD: no |
| 23372 | Has flag LOOK_SHORT: no} |
| 23373 | |
| 23374 | utf-check 1539 utf-check-1539-3-104-1.jnk \ |
| 23375 | {File "%TEMP%/utf-check-1539-3-104-1.jnk" has 16393 bytes. |
| 23376 | Starts with UTF-8 BOM: no |
| 23377 | Starts with UTF-16 BOM: no |
| 23378 | Looks like UTF-8: no |
| 23379 | Has flag LOOK_NUL: yes |
| 23380 | Has flag LOOK_CR: no |
| @@ -23386,11 +23386,11 @@ | |
| 23386 | Has flag LOOK_INVALID: yes |
| 23387 | Has flag LOOK_ODD: no |
| 23388 | Has flag LOOK_SHORT: no} |
| 23389 | |
| 23390 | utf-check 1540 utf-check-1540-3-105-0.jnk \ |
| 23391 | {File "%TEMP%/utf-check-1540-3-105-0.jnk" has 16394 bytes. |
| 23392 | Starts with UTF-8 BOM: no |
| 23393 | Starts with UTF-16 BOM: no |
| 23394 | Looks like UTF-8: no |
| 23395 | Has flag LOOK_NUL: yes |
| 23396 | Has flag LOOK_CR: no |
| @@ -23402,11 +23402,11 @@ | |
| 23402 | Has flag LOOK_INVALID: yes |
| 23403 | Has flag LOOK_ODD: no |
| 23404 | Has flag LOOK_SHORT: no} |
| 23405 | |
| 23406 | utf-check 1541 utf-check-1541-3-105-1.jnk \ |
| 23407 | {File "%TEMP%/utf-check-1541-3-105-1.jnk" has 16395 bytes. |
| 23408 | Starts with UTF-8 BOM: no |
| 23409 | Starts with UTF-16 BOM: no |
| 23410 | Looks like UTF-8: no |
| 23411 | Has flag LOOK_NUL: yes |
| 23412 | Has flag LOOK_CR: no |
| @@ -23418,11 +23418,11 @@ | |
| 23418 | Has flag LOOK_INVALID: yes |
| 23419 | Has flag LOOK_ODD: no |
| 23420 | Has flag LOOK_SHORT: no} |
| 23421 | |
| 23422 | utf-check 1542 utf-check-1542-3-106-0.jnk \ |
| 23423 | {File "%TEMP%/utf-check-1542-3-106-0.jnk" has 16394 bytes. |
| 23424 | Starts with UTF-8 BOM: no |
| 23425 | Starts with UTF-16 BOM: no |
| 23426 | Looks like UTF-8: no |
| 23427 | Has flag LOOK_NUL: yes |
| 23428 | Has flag LOOK_CR: no |
| @@ -23434,11 +23434,11 @@ | |
| 23434 | Has flag LOOK_INVALID: yes |
| 23435 | Has flag LOOK_ODD: no |
| 23436 | Has flag LOOK_SHORT: no} |
| 23437 | |
| 23438 | utf-check 1543 utf-check-1543-3-106-1.jnk \ |
| 23439 | {File "%TEMP%/utf-check-1543-3-106-1.jnk" has 16395 bytes. |
| 23440 | Starts with UTF-8 BOM: no |
| 23441 | Starts with UTF-16 BOM: no |
| 23442 | Looks like UTF-8: no |
| 23443 | Has flag LOOK_NUL: yes |
| 23444 | Has flag LOOK_CR: no |
| @@ -23450,11 +23450,11 @@ | |
| 23450 | Has flag LOOK_INVALID: yes |
| 23451 | Has flag LOOK_ODD: no |
| 23452 | Has flag LOOK_SHORT: no} |
| 23453 | |
| 23454 | utf-check 1544 utf-check-1544-3-107-0.jnk \ |
| 23455 | {File "%TEMP%/utf-check-1544-3-107-0.jnk" has 16396 bytes. |
| 23456 | Starts with UTF-8 BOM: no |
| 23457 | Starts with UTF-16 BOM: no |
| 23458 | Looks like UTF-8: no |
| 23459 | Has flag LOOK_NUL: yes |
| 23460 | Has flag LOOK_CR: no |
| @@ -23466,11 +23466,11 @@ | |
| 23466 | Has flag LOOK_INVALID: yes |
| 23467 | Has flag LOOK_ODD: no |
| 23468 | Has flag LOOK_SHORT: no} |
| 23469 | |
| 23470 | utf-check 1545 utf-check-1545-3-107-1.jnk \ |
| 23471 | {File "%TEMP%/utf-check-1545-3-107-1.jnk" has 16397 bytes. |
| 23472 | Starts with UTF-8 BOM: no |
| 23473 | Starts with UTF-16 BOM: no |
| 23474 | Looks like UTF-8: no |
| 23475 | Has flag LOOK_NUL: yes |
| 23476 | Has flag LOOK_CR: no |
| @@ -23482,11 +23482,11 @@ | |
| 23482 | Has flag LOOK_INVALID: yes |
| 23483 | Has flag LOOK_ODD: no |
| 23484 | Has flag LOOK_SHORT: no} |
| 23485 | |
| 23486 | utf-check 1546 utf-check-1546-3-108-0.jnk \ |
| 23487 | {File "%TEMP%/utf-check-1546-3-108-0.jnk" has 16398 bytes. |
| 23488 | Starts with UTF-8 BOM: no |
| 23489 | Starts with UTF-16 BOM: no |
| 23490 | Looks like UTF-8: no |
| 23491 | Has flag LOOK_NUL: yes |
| 23492 | Has flag LOOK_CR: no |
| @@ -23498,11 +23498,11 @@ | |
| 23498 | Has flag LOOK_INVALID: yes |
| 23499 | Has flag LOOK_ODD: no |
| 23500 | Has flag LOOK_SHORT: no} |
| 23501 | |
| 23502 | utf-check 1547 utf-check-1547-3-108-1.jnk \ |
| 23503 | {File "%TEMP%/utf-check-1547-3-108-1.jnk" has 16399 bytes. |
| 23504 | Starts with UTF-8 BOM: no |
| 23505 | Starts with UTF-16 BOM: no |
| 23506 | Looks like UTF-8: no |
| 23507 | Has flag LOOK_NUL: yes |
| 23508 | Has flag LOOK_CR: no |
| @@ -23514,11 +23514,11 @@ | |
| 23514 | Has flag LOOK_INVALID: yes |
| 23515 | Has flag LOOK_ODD: no |
| 23516 | Has flag LOOK_SHORT: no} |
| 23517 | |
| 23518 | utf-check 1548 utf-check-1548-3-109-0.jnk \ |
| 23519 | {File "%TEMP%/utf-check-1548-3-109-0.jnk" has 16400 bytes. |
| 23520 | Starts with UTF-8 BOM: no |
| 23521 | Starts with UTF-16 BOM: no |
| 23522 | Looks like UTF-8: no |
| 23523 | Has flag LOOK_NUL: yes |
| 23524 | Has flag LOOK_CR: no |
| @@ -23530,11 +23530,11 @@ | |
| 23530 | Has flag LOOK_INVALID: yes |
| 23531 | Has flag LOOK_ODD: no |
| 23532 | Has flag LOOK_SHORT: no} |
| 23533 | |
| 23534 | utf-check 1549 utf-check-1549-3-109-1.jnk \ |
| 23535 | {File "%TEMP%/utf-check-1549-3-109-1.jnk" has 16401 bytes. |
| 23536 | Starts with UTF-8 BOM: no |
| 23537 | Starts with UTF-16 BOM: no |
| 23538 | Looks like UTF-8: no |
| 23539 | Has flag LOOK_NUL: yes |
| 23540 | Has flag LOOK_CR: no |
| @@ -23546,11 +23546,11 @@ | |
| 23546 | Has flag LOOK_INVALID: yes |
| 23547 | Has flag LOOK_ODD: no |
| 23548 | Has flag LOOK_SHORT: no} |
| 23549 | |
| 23550 | utf-check 1550 utf-check-1550-3-110-0.jnk \ |
| 23551 | {File "%TEMP%/utf-check-1550-3-110-0.jnk" has 16400 bytes. |
| 23552 | Starts with UTF-8 BOM: no |
| 23553 | Starts with UTF-16 BOM: no |
| 23554 | Looks like UTF-8: no |
| 23555 | Has flag LOOK_NUL: yes |
| 23556 | Has flag LOOK_CR: no |
| @@ -23562,11 +23562,11 @@ | |
| 23562 | Has flag LOOK_INVALID: yes |
| 23563 | Has flag LOOK_ODD: no |
| 23564 | Has flag LOOK_SHORT: no} |
| 23565 | |
| 23566 | utf-check 1551 utf-check-1551-3-110-1.jnk \ |
| 23567 | {File "%TEMP%/utf-check-1551-3-110-1.jnk" has 16401 bytes. |
| 23568 | Starts with UTF-8 BOM: no |
| 23569 | Starts with UTF-16 BOM: no |
| 23570 | Looks like UTF-8: no |
| 23571 | Has flag LOOK_NUL: yes |
| 23572 | Has flag LOOK_CR: no |
| @@ -23578,11 +23578,11 @@ | |
| 23578 | Has flag LOOK_INVALID: yes |
| 23579 | Has flag LOOK_ODD: no |
| 23580 | Has flag LOOK_SHORT: no} |
| 23581 | |
| 23582 | utf-check 1552 utf-check-1552-3-111-0.jnk \ |
| 23583 | {File "%TEMP%/utf-check-1552-3-111-0.jnk" has 16402 bytes. |
| 23584 | Starts with UTF-8 BOM: no |
| 23585 | Starts with UTF-16 BOM: no |
| 23586 | Looks like UTF-8: no |
| 23587 | Has flag LOOK_NUL: yes |
| 23588 | Has flag LOOK_CR: no |
| @@ -23594,11 +23594,11 @@ | |
| 23594 | Has flag LOOK_INVALID: yes |
| 23595 | Has flag LOOK_ODD: no |
| 23596 | Has flag LOOK_SHORT: no} |
| 23597 | |
| 23598 | utf-check 1553 utf-check-1553-3-111-1.jnk \ |
| 23599 | {File "%TEMP%/utf-check-1553-3-111-1.jnk" has 16403 bytes. |
| 23600 | Starts with UTF-8 BOM: no |
| 23601 | Starts with UTF-16 BOM: no |
| 23602 | Looks like UTF-8: no |
| 23603 | Has flag LOOK_NUL: yes |
| 23604 | Has flag LOOK_CR: no |
| 23605 |
| --- test/utf.test | |
| +++ test/utf.test | |
| @@ -141,42 +141,42 @@ | |
| 141 | 75 [appendArgs \x00 ABCD\x00\n] \ |
| 142 | 76 [appendArgs \x00 A\x00\r\n] \ |
| 143 | 77 [appendArgs \x00 AB\x00\r\n] \ |
| 144 | 78 [appendArgs \x00 ABC\x00\r\n] \ |
| 145 | 79 [appendArgs \x00 ABCD\x00\r\n] \ |
| 146 | 80 [string repeat A 32769] \ |
| 147 | 81 [string repeat A 32769]\r \ |
| 148 | 82 [string repeat A 32769]\n \ |
| 149 | 83 [string repeat A 32769]\r\n \ |
| 150 | 84 [string repeat ABCD 8196] \ |
| 151 | 85 [string repeat ABCD 8196]\r \ |
| 152 | 86 [string repeat ABCD 8196]\n \ |
| 153 | 87 [string repeat ABCD 8196]\r\n \ |
| 154 | 88 \x00[string repeat A 32769] \ |
| 155 | 89 \x00[string repeat A 32769]\r \ |
| 156 | 90 \x00[string repeat A 32769]\n \ |
| 157 | 91 \x00[string repeat A 32769]\r\n \ |
| 158 | 92 \x00[string repeat ABCD 8196] \ |
| 159 | 93 \x00[string repeat ABCD 8196]\r \ |
| 160 | 94 \x00[string repeat ABCD 8196]\n \ |
| 161 | 95 \x00[string repeat ABCD 8196]\r\n \ |
| 162 | 96 [string repeat A 32769]\x00 \ |
| 163 | 97 [string repeat A 32769]\x00\r \ |
| 164 | 98 [string repeat A 32769]\x00\n \ |
| 165 | 99 [string repeat A 32769]\x00\r\n \ |
| 166 | 100 [string repeat ABCD 8196]\x00 \ |
| 167 | 101 [string repeat ABCD 8196]\x00\r \ |
| 168 | 102 [string repeat ABCD 8196]\x00\n \ |
| 169 | 103 [string repeat ABCD 8196]\x00\r\n \ |
| 170 | 104 \x00[string repeat A 32769]\x00 \ |
| 171 | 105 \x00[string repeat A 32769]\x00\r \ |
| 172 | 106 \x00[string repeat A 32769]\x00\n \ |
| 173 | 107 \x00[string repeat A 32769]\x00\r\n \ |
| 174 | 108 \x00[string repeat ABCD 8196]\x00 \ |
| 175 | 109 \x00[string repeat ABCD 8196]\x00\r \ |
| 176 | 110 \x00[string repeat ABCD 8196]\x00\n \ |
| 177 | 111 \x00[string repeat ABCD 8196]\x00\r\n \ |
| 178 | 112 \u000A\u000D \ |
| 179 | 113 \u0A00\u0D00 \ |
| 180 | 114 \u000D\u000A \ |
| 181 | 115 \u0D00\u0A00 \ |
| 182 | 116 \x00\u000A\u000D \ |
| @@ -2906,11 +2906,11 @@ | |
| 2906 | Has flag LOOK_INVALID: no |
| 2907 | Has flag LOOK_ODD: no |
| 2908 | Has flag LOOK_SHORT: no} |
| 2909 | |
| 2910 | utf-check 260 utf-check-260-0-80-0.jnk \ |
| 2911 | {File "%TEMP%/utf-check-260-0-80-0.jnk" has 32769 bytes. |
| 2912 | Starts with UTF-8 BOM: no |
| 2913 | Starts with UTF-16 BOM: no |
| 2914 | Looks like UTF-8: no |
| 2915 | Has flag LOOK_NUL: no |
| 2916 | Has flag LOOK_CR: no |
| @@ -2922,11 +2922,11 @@ | |
| 2922 | Has flag LOOK_INVALID: no |
| 2923 | Has flag LOOK_ODD: no |
| 2924 | Has flag LOOK_SHORT: no} |
| 2925 | |
| 2926 | utf-check 261 utf-check-261-0-80-1.jnk \ |
| 2927 | {File "%TEMP%/utf-check-261-0-80-1.jnk" has 32770 bytes. |
| 2928 | Starts with UTF-8 BOM: no |
| 2929 | Starts with UTF-16 BOM: no |
| 2930 | Looks like UTF-8: no |
| 2931 | Has flag LOOK_NUL: no |
| 2932 | Has flag LOOK_CR: no |
| @@ -2938,11 +2938,11 @@ | |
| 2938 | Has flag LOOK_INVALID: no |
| 2939 | Has flag LOOK_ODD: no |
| 2940 | Has flag LOOK_SHORT: no} |
| 2941 | |
| 2942 | utf-check 262 utf-check-262-0-81-0.jnk \ |
| 2943 | {File "%TEMP%/utf-check-262-0-81-0.jnk" has 32770 bytes. |
| 2944 | Starts with UTF-8 BOM: no |
| 2945 | Starts with UTF-16 BOM: no |
| 2946 | Looks like UTF-8: no |
| 2947 | Has flag LOOK_NUL: no |
| 2948 | Has flag LOOK_CR: yes |
| @@ -2954,11 +2954,11 @@ | |
| 2954 | Has flag LOOK_INVALID: no |
| 2955 | Has flag LOOK_ODD: no |
| 2956 | Has flag LOOK_SHORT: no} |
| 2957 | |
| 2958 | utf-check 263 utf-check-263-0-81-1.jnk \ |
| 2959 | {File "%TEMP%/utf-check-263-0-81-1.jnk" has 32771 bytes. |
| 2960 | Starts with UTF-8 BOM: no |
| 2961 | Starts with UTF-16 BOM: no |
| 2962 | Looks like UTF-8: no |
| 2963 | Has flag LOOK_NUL: no |
| 2964 | Has flag LOOK_CR: yes |
| @@ -2970,11 +2970,11 @@ | |
| 2970 | Has flag LOOK_INVALID: no |
| 2971 | Has flag LOOK_ODD: no |
| 2972 | Has flag LOOK_SHORT: no} |
| 2973 | |
| 2974 | utf-check 264 utf-check-264-0-82-0.jnk \ |
| 2975 | {File "%TEMP%/utf-check-264-0-82-0.jnk" has 32770 bytes. |
| 2976 | Starts with UTF-8 BOM: no |
| 2977 | Starts with UTF-16 BOM: no |
| 2978 | Looks like UTF-8: no |
| 2979 | Has flag LOOK_NUL: no |
| 2980 | Has flag LOOK_CR: no |
| @@ -2986,11 +2986,11 @@ | |
| 2986 | Has flag LOOK_INVALID: no |
| 2987 | Has flag LOOK_ODD: no |
| 2988 | Has flag LOOK_SHORT: no} |
| 2989 | |
| 2990 | utf-check 265 utf-check-265-0-82-1.jnk \ |
| 2991 | {File "%TEMP%/utf-check-265-0-82-1.jnk" has 32771 bytes. |
| 2992 | Starts with UTF-8 BOM: no |
| 2993 | Starts with UTF-16 BOM: no |
| 2994 | Looks like UTF-8: no |
| 2995 | Has flag LOOK_NUL: no |
| 2996 | Has flag LOOK_CR: no |
| @@ -3002,11 +3002,11 @@ | |
| 3002 | Has flag LOOK_INVALID: no |
| 3003 | Has flag LOOK_ODD: no |
| 3004 | Has flag LOOK_SHORT: no} |
| 3005 | |
| 3006 | utf-check 266 utf-check-266-0-83-0.jnk \ |
| 3007 | {File "%TEMP%/utf-check-266-0-83-0.jnk" has 32771 bytes. |
| 3008 | Starts with UTF-8 BOM: no |
| 3009 | Starts with UTF-16 BOM: no |
| 3010 | Looks like UTF-8: no |
| 3011 | Has flag LOOK_NUL: no |
| 3012 | Has flag LOOK_CR: yes |
| @@ -3018,11 +3018,11 @@ | |
| 3018 | Has flag LOOK_INVALID: no |
| 3019 | Has flag LOOK_ODD: no |
| 3020 | Has flag LOOK_SHORT: no} |
| 3021 | |
| 3022 | utf-check 267 utf-check-267-0-83-1.jnk \ |
| 3023 | {File "%TEMP%/utf-check-267-0-83-1.jnk" has 32772 bytes. |
| 3024 | Starts with UTF-8 BOM: no |
| 3025 | Starts with UTF-16 BOM: no |
| 3026 | Looks like UTF-8: no |
| 3027 | Has flag LOOK_NUL: no |
| 3028 | Has flag LOOK_CR: yes |
| @@ -3034,11 +3034,11 @@ | |
| 3034 | Has flag LOOK_INVALID: no |
| 3035 | Has flag LOOK_ODD: no |
| 3036 | Has flag LOOK_SHORT: no} |
| 3037 | |
| 3038 | utf-check 268 utf-check-268-0-84-0.jnk \ |
| 3039 | {File "%TEMP%/utf-check-268-0-84-0.jnk" has 32784 bytes. |
| 3040 | Starts with UTF-8 BOM: no |
| 3041 | Starts with UTF-16 BOM: no |
| 3042 | Looks like UTF-8: no |
| 3043 | Has flag LOOK_NUL: no |
| 3044 | Has flag LOOK_CR: no |
| @@ -3050,11 +3050,11 @@ | |
| 3050 | Has flag LOOK_INVALID: no |
| 3051 | Has flag LOOK_ODD: no |
| 3052 | Has flag LOOK_SHORT: no} |
| 3053 | |
| 3054 | utf-check 269 utf-check-269-0-84-1.jnk \ |
| 3055 | {File "%TEMP%/utf-check-269-0-84-1.jnk" has 32785 bytes. |
| 3056 | Starts with UTF-8 BOM: no |
| 3057 | Starts with UTF-16 BOM: no |
| 3058 | Looks like UTF-8: no |
| 3059 | Has flag LOOK_NUL: no |
| 3060 | Has flag LOOK_CR: no |
| @@ -3066,11 +3066,11 @@ | |
| 3066 | Has flag LOOK_INVALID: no |
| 3067 | Has flag LOOK_ODD: no |
| 3068 | Has flag LOOK_SHORT: no} |
| 3069 | |
| 3070 | utf-check 270 utf-check-270-0-85-0.jnk \ |
| 3071 | {File "%TEMP%/utf-check-270-0-85-0.jnk" has 32785 bytes. |
| 3072 | Starts with UTF-8 BOM: no |
| 3073 | Starts with UTF-16 BOM: no |
| 3074 | Looks like UTF-8: no |
| 3075 | Has flag LOOK_NUL: no |
| 3076 | Has flag LOOK_CR: yes |
| @@ -3082,11 +3082,11 @@ | |
| 3082 | Has flag LOOK_INVALID: no |
| 3083 | Has flag LOOK_ODD: no |
| 3084 | Has flag LOOK_SHORT: no} |
| 3085 | |
| 3086 | utf-check 271 utf-check-271-0-85-1.jnk \ |
| 3087 | {File "%TEMP%/utf-check-271-0-85-1.jnk" has 32786 bytes. |
| 3088 | Starts with UTF-8 BOM: no |
| 3089 | Starts with UTF-16 BOM: no |
| 3090 | Looks like UTF-8: no |
| 3091 | Has flag LOOK_NUL: no |
| 3092 | Has flag LOOK_CR: yes |
| @@ -3098,11 +3098,11 @@ | |
| 3098 | Has flag LOOK_INVALID: no |
| 3099 | Has flag LOOK_ODD: no |
| 3100 | Has flag LOOK_SHORT: no} |
| 3101 | |
| 3102 | utf-check 272 utf-check-272-0-86-0.jnk \ |
| 3103 | {File "%TEMP%/utf-check-272-0-86-0.jnk" has 32785 bytes. |
| 3104 | Starts with UTF-8 BOM: no |
| 3105 | Starts with UTF-16 BOM: no |
| 3106 | Looks like UTF-8: no |
| 3107 | Has flag LOOK_NUL: no |
| 3108 | Has flag LOOK_CR: no |
| @@ -3114,11 +3114,11 @@ | |
| 3114 | Has flag LOOK_INVALID: no |
| 3115 | Has flag LOOK_ODD: no |
| 3116 | Has flag LOOK_SHORT: no} |
| 3117 | |
| 3118 | utf-check 273 utf-check-273-0-86-1.jnk \ |
| 3119 | {File "%TEMP%/utf-check-273-0-86-1.jnk" has 32786 bytes. |
| 3120 | Starts with UTF-8 BOM: no |
| 3121 | Starts with UTF-16 BOM: no |
| 3122 | Looks like UTF-8: no |
| 3123 | Has flag LOOK_NUL: no |
| 3124 | Has flag LOOK_CR: no |
| @@ -3130,11 +3130,11 @@ | |
| 3130 | Has flag LOOK_INVALID: no |
| 3131 | Has flag LOOK_ODD: no |
| 3132 | Has flag LOOK_SHORT: no} |
| 3133 | |
| 3134 | utf-check 274 utf-check-274-0-87-0.jnk \ |
| 3135 | {File "%TEMP%/utf-check-274-0-87-0.jnk" has 32786 bytes. |
| 3136 | Starts with UTF-8 BOM: no |
| 3137 | Starts with UTF-16 BOM: no |
| 3138 | Looks like UTF-8: no |
| 3139 | Has flag LOOK_NUL: no |
| 3140 | Has flag LOOK_CR: yes |
| @@ -3146,11 +3146,11 @@ | |
| 3146 | Has flag LOOK_INVALID: no |
| 3147 | Has flag LOOK_ODD: no |
| 3148 | Has flag LOOK_SHORT: no} |
| 3149 | |
| 3150 | utf-check 275 utf-check-275-0-87-1.jnk \ |
| 3151 | {File "%TEMP%/utf-check-275-0-87-1.jnk" has 32787 bytes. |
| 3152 | Starts with UTF-8 BOM: no |
| 3153 | Starts with UTF-16 BOM: no |
| 3154 | Looks like UTF-8: no |
| 3155 | Has flag LOOK_NUL: no |
| 3156 | Has flag LOOK_CR: yes |
| @@ -3162,11 +3162,11 @@ | |
| 3162 | Has flag LOOK_INVALID: no |
| 3163 | Has flag LOOK_ODD: no |
| 3164 | Has flag LOOK_SHORT: no} |
| 3165 | |
| 3166 | utf-check 276 utf-check-276-0-88-0.jnk \ |
| 3167 | {File "%TEMP%/utf-check-276-0-88-0.jnk" has 32770 bytes. |
| 3168 | Starts with UTF-8 BOM: no |
| 3169 | Starts with UTF-16 BOM: no |
| 3170 | Looks like UTF-8: no |
| 3171 | Has flag LOOK_NUL: yes |
| 3172 | Has flag LOOK_CR: no |
| @@ -3178,11 +3178,11 @@ | |
| 3178 | Has flag LOOK_INVALID: no |
| 3179 | Has flag LOOK_ODD: no |
| 3180 | Has flag LOOK_SHORT: no} |
| 3181 | |
| 3182 | utf-check 277 utf-check-277-0-88-1.jnk \ |
| 3183 | {File "%TEMP%/utf-check-277-0-88-1.jnk" has 32771 bytes. |
| 3184 | Starts with UTF-8 BOM: no |
| 3185 | Starts with UTF-16 BOM: no |
| 3186 | Looks like UTF-8: no |
| 3187 | Has flag LOOK_NUL: yes |
| 3188 | Has flag LOOK_CR: no |
| @@ -3194,11 +3194,11 @@ | |
| 3194 | Has flag LOOK_INVALID: no |
| 3195 | Has flag LOOK_ODD: no |
| 3196 | Has flag LOOK_SHORT: no} |
| 3197 | |
| 3198 | utf-check 278 utf-check-278-0-89-0.jnk \ |
| 3199 | {File "%TEMP%/utf-check-278-0-89-0.jnk" has 32771 bytes. |
| 3200 | Starts with UTF-8 BOM: no |
| 3201 | Starts with UTF-16 BOM: no |
| 3202 | Looks like UTF-8: no |
| 3203 | Has flag LOOK_NUL: yes |
| 3204 | Has flag LOOK_CR: yes |
| @@ -3210,11 +3210,11 @@ | |
| 3210 | Has flag LOOK_INVALID: no |
| 3211 | Has flag LOOK_ODD: no |
| 3212 | Has flag LOOK_SHORT: no} |
| 3213 | |
| 3214 | utf-check 279 utf-check-279-0-89-1.jnk \ |
| 3215 | {File "%TEMP%/utf-check-279-0-89-1.jnk" has 32772 bytes. |
| 3216 | Starts with UTF-8 BOM: no |
| 3217 | Starts with UTF-16 BOM: no |
| 3218 | Looks like UTF-8: no |
| 3219 | Has flag LOOK_NUL: yes |
| 3220 | Has flag LOOK_CR: yes |
| @@ -3226,11 +3226,11 @@ | |
| 3226 | Has flag LOOK_INVALID: no |
| 3227 | Has flag LOOK_ODD: no |
| 3228 | Has flag LOOK_SHORT: no} |
| 3229 | |
| 3230 | utf-check 280 utf-check-280-0-90-0.jnk \ |
| 3231 | {File "%TEMP%/utf-check-280-0-90-0.jnk" has 32771 bytes. |
| 3232 | Starts with UTF-8 BOM: no |
| 3233 | Starts with UTF-16 BOM: no |
| 3234 | Looks like UTF-8: no |
| 3235 | Has flag LOOK_NUL: yes |
| 3236 | Has flag LOOK_CR: no |
| @@ -3242,11 +3242,11 @@ | |
| 3242 | Has flag LOOK_INVALID: no |
| 3243 | Has flag LOOK_ODD: no |
| 3244 | Has flag LOOK_SHORT: no} |
| 3245 | |
| 3246 | utf-check 281 utf-check-281-0-90-1.jnk \ |
| 3247 | {File "%TEMP%/utf-check-281-0-90-1.jnk" has 32772 bytes. |
| 3248 | Starts with UTF-8 BOM: no |
| 3249 | Starts with UTF-16 BOM: no |
| 3250 | Looks like UTF-8: no |
| 3251 | Has flag LOOK_NUL: yes |
| 3252 | Has flag LOOK_CR: no |
| @@ -3258,11 +3258,11 @@ | |
| 3258 | Has flag LOOK_INVALID: no |
| 3259 | Has flag LOOK_ODD: no |
| 3260 | Has flag LOOK_SHORT: no} |
| 3261 | |
| 3262 | utf-check 282 utf-check-282-0-91-0.jnk \ |
| 3263 | {File "%TEMP%/utf-check-282-0-91-0.jnk" has 32772 bytes. |
| 3264 | Starts with UTF-8 BOM: no |
| 3265 | Starts with UTF-16 BOM: no |
| 3266 | Looks like UTF-8: no |
| 3267 | Has flag LOOK_NUL: yes |
| 3268 | Has flag LOOK_CR: yes |
| @@ -3274,11 +3274,11 @@ | |
| 3274 | Has flag LOOK_INVALID: no |
| 3275 | Has flag LOOK_ODD: no |
| 3276 | Has flag LOOK_SHORT: no} |
| 3277 | |
| 3278 | utf-check 283 utf-check-283-0-91-1.jnk \ |
| 3279 | {File "%TEMP%/utf-check-283-0-91-1.jnk" has 32773 bytes. |
| 3280 | Starts with UTF-8 BOM: no |
| 3281 | Starts with UTF-16 BOM: no |
| 3282 | Looks like UTF-8: no |
| 3283 | Has flag LOOK_NUL: yes |
| 3284 | Has flag LOOK_CR: yes |
| @@ -3290,11 +3290,11 @@ | |
| 3290 | Has flag LOOK_INVALID: no |
| 3291 | Has flag LOOK_ODD: no |
| 3292 | Has flag LOOK_SHORT: no} |
| 3293 | |
| 3294 | utf-check 284 utf-check-284-0-92-0.jnk \ |
| 3295 | {File "%TEMP%/utf-check-284-0-92-0.jnk" has 32785 bytes. |
| 3296 | Starts with UTF-8 BOM: no |
| 3297 | Starts with UTF-16 BOM: no |
| 3298 | Looks like UTF-8: no |
| 3299 | Has flag LOOK_NUL: yes |
| 3300 | Has flag LOOK_CR: no |
| @@ -3306,11 +3306,11 @@ | |
| 3306 | Has flag LOOK_INVALID: no |
| 3307 | Has flag LOOK_ODD: no |
| 3308 | Has flag LOOK_SHORT: no} |
| 3309 | |
| 3310 | utf-check 285 utf-check-285-0-92-1.jnk \ |
| 3311 | {File "%TEMP%/utf-check-285-0-92-1.jnk" has 32786 bytes. |
| 3312 | Starts with UTF-8 BOM: no |
| 3313 | Starts with UTF-16 BOM: no |
| 3314 | Looks like UTF-8: no |
| 3315 | Has flag LOOK_NUL: yes |
| 3316 | Has flag LOOK_CR: no |
| @@ -3322,11 +3322,11 @@ | |
| 3322 | Has flag LOOK_INVALID: no |
| 3323 | Has flag LOOK_ODD: no |
| 3324 | Has flag LOOK_SHORT: no} |
| 3325 | |
| 3326 | utf-check 286 utf-check-286-0-93-0.jnk \ |
| 3327 | {File "%TEMP%/utf-check-286-0-93-0.jnk" has 32786 bytes. |
| 3328 | Starts with UTF-8 BOM: no |
| 3329 | Starts with UTF-16 BOM: no |
| 3330 | Looks like UTF-8: no |
| 3331 | Has flag LOOK_NUL: yes |
| 3332 | Has flag LOOK_CR: yes |
| @@ -3338,11 +3338,11 @@ | |
| 3338 | Has flag LOOK_INVALID: no |
| 3339 | Has flag LOOK_ODD: no |
| 3340 | Has flag LOOK_SHORT: no} |
| 3341 | |
| 3342 | utf-check 287 utf-check-287-0-93-1.jnk \ |
| 3343 | {File "%TEMP%/utf-check-287-0-93-1.jnk" has 32787 bytes. |
| 3344 | Starts with UTF-8 BOM: no |
| 3345 | Starts with UTF-16 BOM: no |
| 3346 | Looks like UTF-8: no |
| 3347 | Has flag LOOK_NUL: yes |
| 3348 | Has flag LOOK_CR: yes |
| @@ -3354,11 +3354,11 @@ | |
| 3354 | Has flag LOOK_INVALID: no |
| 3355 | Has flag LOOK_ODD: no |
| 3356 | Has flag LOOK_SHORT: no} |
| 3357 | |
| 3358 | utf-check 288 utf-check-288-0-94-0.jnk \ |
| 3359 | {File "%TEMP%/utf-check-288-0-94-0.jnk" has 32786 bytes. |
| 3360 | Starts with UTF-8 BOM: no |
| 3361 | Starts with UTF-16 BOM: no |
| 3362 | Looks like UTF-8: no |
| 3363 | Has flag LOOK_NUL: yes |
| 3364 | Has flag LOOK_CR: no |
| @@ -3370,11 +3370,11 @@ | |
| 3370 | Has flag LOOK_INVALID: no |
| 3371 | Has flag LOOK_ODD: no |
| 3372 | Has flag LOOK_SHORT: no} |
| 3373 | |
| 3374 | utf-check 289 utf-check-289-0-94-1.jnk \ |
| 3375 | {File "%TEMP%/utf-check-289-0-94-1.jnk" has 32787 bytes. |
| 3376 | Starts with UTF-8 BOM: no |
| 3377 | Starts with UTF-16 BOM: no |
| 3378 | Looks like UTF-8: no |
| 3379 | Has flag LOOK_NUL: yes |
| 3380 | Has flag LOOK_CR: no |
| @@ -3386,11 +3386,11 @@ | |
| 3386 | Has flag LOOK_INVALID: no |
| 3387 | Has flag LOOK_ODD: no |
| 3388 | Has flag LOOK_SHORT: no} |
| 3389 | |
| 3390 | utf-check 290 utf-check-290-0-95-0.jnk \ |
| 3391 | {File "%TEMP%/utf-check-290-0-95-0.jnk" has 32787 bytes. |
| 3392 | Starts with UTF-8 BOM: no |
| 3393 | Starts with UTF-16 BOM: no |
| 3394 | Looks like UTF-8: no |
| 3395 | Has flag LOOK_NUL: yes |
| 3396 | Has flag LOOK_CR: yes |
| @@ -3402,11 +3402,11 @@ | |
| 3402 | Has flag LOOK_INVALID: no |
| 3403 | Has flag LOOK_ODD: no |
| 3404 | Has flag LOOK_SHORT: no} |
| 3405 | |
| 3406 | utf-check 291 utf-check-291-0-95-1.jnk \ |
| 3407 | {File "%TEMP%/utf-check-291-0-95-1.jnk" has 32788 bytes. |
| 3408 | Starts with UTF-8 BOM: no |
| 3409 | Starts with UTF-16 BOM: no |
| 3410 | Looks like UTF-8: no |
| 3411 | Has flag LOOK_NUL: yes |
| 3412 | Has flag LOOK_CR: yes |
| @@ -3418,11 +3418,11 @@ | |
| 3418 | Has flag LOOK_INVALID: no |
| 3419 | Has flag LOOK_ODD: no |
| 3420 | Has flag LOOK_SHORT: no} |
| 3421 | |
| 3422 | utf-check 292 utf-check-292-0-96-0.jnk \ |
| 3423 | {File "%TEMP%/utf-check-292-0-96-0.jnk" has 32770 bytes. |
| 3424 | Starts with UTF-8 BOM: no |
| 3425 | Starts with UTF-16 BOM: no |
| 3426 | Looks like UTF-8: no |
| 3427 | Has flag LOOK_NUL: yes |
| 3428 | Has flag LOOK_CR: no |
| @@ -3434,11 +3434,11 @@ | |
| 3434 | Has flag LOOK_INVALID: no |
| 3435 | Has flag LOOK_ODD: no |
| 3436 | Has flag LOOK_SHORT: no} |
| 3437 | |
| 3438 | utf-check 293 utf-check-293-0-96-1.jnk \ |
| 3439 | {File "%TEMP%/utf-check-293-0-96-1.jnk" has 32771 bytes. |
| 3440 | Starts with UTF-8 BOM: no |
| 3441 | Starts with UTF-16 BOM: no |
| 3442 | Looks like UTF-8: no |
| 3443 | Has flag LOOK_NUL: yes |
| 3444 | Has flag LOOK_CR: no |
| @@ -3450,11 +3450,11 @@ | |
| 3450 | Has flag LOOK_INVALID: no |
| 3451 | Has flag LOOK_ODD: no |
| 3452 | Has flag LOOK_SHORT: no} |
| 3453 | |
| 3454 | utf-check 294 utf-check-294-0-97-0.jnk \ |
| 3455 | {File "%TEMP%/utf-check-294-0-97-0.jnk" has 32771 bytes. |
| 3456 | Starts with UTF-8 BOM: no |
| 3457 | Starts with UTF-16 BOM: no |
| 3458 | Looks like UTF-8: no |
| 3459 | Has flag LOOK_NUL: yes |
| 3460 | Has flag LOOK_CR: yes |
| @@ -3466,11 +3466,11 @@ | |
| 3466 | Has flag LOOK_INVALID: no |
| 3467 | Has flag LOOK_ODD: no |
| 3468 | Has flag LOOK_SHORT: no} |
| 3469 | |
| 3470 | utf-check 295 utf-check-295-0-97-1.jnk \ |
| 3471 | {File "%TEMP%/utf-check-295-0-97-1.jnk" has 32772 bytes. |
| 3472 | Starts with UTF-8 BOM: no |
| 3473 | Starts with UTF-16 BOM: no |
| 3474 | Looks like UTF-8: no |
| 3475 | Has flag LOOK_NUL: yes |
| 3476 | Has flag LOOK_CR: yes |
| @@ -3482,11 +3482,11 @@ | |
| 3482 | Has flag LOOK_INVALID: no |
| 3483 | Has flag LOOK_ODD: no |
| 3484 | Has flag LOOK_SHORT: no} |
| 3485 | |
| 3486 | utf-check 296 utf-check-296-0-98-0.jnk \ |
| 3487 | {File "%TEMP%/utf-check-296-0-98-0.jnk" has 32771 bytes. |
| 3488 | Starts with UTF-8 BOM: no |
| 3489 | Starts with UTF-16 BOM: no |
| 3490 | Looks like UTF-8: no |
| 3491 | Has flag LOOK_NUL: yes |
| 3492 | Has flag LOOK_CR: no |
| @@ -3498,11 +3498,11 @@ | |
| 3498 | Has flag LOOK_INVALID: no |
| 3499 | Has flag LOOK_ODD: no |
| 3500 | Has flag LOOK_SHORT: no} |
| 3501 | |
| 3502 | utf-check 297 utf-check-297-0-98-1.jnk \ |
| 3503 | {File "%TEMP%/utf-check-297-0-98-1.jnk" has 32772 bytes. |
| 3504 | Starts with UTF-8 BOM: no |
| 3505 | Starts with UTF-16 BOM: no |
| 3506 | Looks like UTF-8: no |
| 3507 | Has flag LOOK_NUL: yes |
| 3508 | Has flag LOOK_CR: no |
| @@ -3514,11 +3514,11 @@ | |
| 3514 | Has flag LOOK_INVALID: no |
| 3515 | Has flag LOOK_ODD: no |
| 3516 | Has flag LOOK_SHORT: no} |
| 3517 | |
| 3518 | utf-check 298 utf-check-298-0-99-0.jnk \ |
| 3519 | {File "%TEMP%/utf-check-298-0-99-0.jnk" has 32772 bytes. |
| 3520 | Starts with UTF-8 BOM: no |
| 3521 | Starts with UTF-16 BOM: no |
| 3522 | Looks like UTF-8: no |
| 3523 | Has flag LOOK_NUL: yes |
| 3524 | Has flag LOOK_CR: yes |
| @@ -3530,11 +3530,11 @@ | |
| 3530 | Has flag LOOK_INVALID: no |
| 3531 | Has flag LOOK_ODD: no |
| 3532 | Has flag LOOK_SHORT: no} |
| 3533 | |
| 3534 | utf-check 299 utf-check-299-0-99-1.jnk \ |
| 3535 | {File "%TEMP%/utf-check-299-0-99-1.jnk" has 32773 bytes. |
| 3536 | Starts with UTF-8 BOM: no |
| 3537 | Starts with UTF-16 BOM: no |
| 3538 | Looks like UTF-8: no |
| 3539 | Has flag LOOK_NUL: yes |
| 3540 | Has flag LOOK_CR: yes |
| @@ -3546,11 +3546,11 @@ | |
| 3546 | Has flag LOOK_INVALID: no |
| 3547 | Has flag LOOK_ODD: no |
| 3548 | Has flag LOOK_SHORT: no} |
| 3549 | |
| 3550 | utf-check 300 utf-check-300-0-100-0.jnk \ |
| 3551 | {File "%TEMP%/utf-check-300-0-100-0.jnk" has 32785 bytes. |
| 3552 | Starts with UTF-8 BOM: no |
| 3553 | Starts with UTF-16 BOM: no |
| 3554 | Looks like UTF-8: no |
| 3555 | Has flag LOOK_NUL: yes |
| 3556 | Has flag LOOK_CR: no |
| @@ -3562,11 +3562,11 @@ | |
| 3562 | Has flag LOOK_INVALID: no |
| 3563 | Has flag LOOK_ODD: no |
| 3564 | Has flag LOOK_SHORT: no} |
| 3565 | |
| 3566 | utf-check 301 utf-check-301-0-100-1.jnk \ |
| 3567 | {File "%TEMP%/utf-check-301-0-100-1.jnk" has 32786 bytes. |
| 3568 | Starts with UTF-8 BOM: no |
| 3569 | Starts with UTF-16 BOM: no |
| 3570 | Looks like UTF-8: no |
| 3571 | Has flag LOOK_NUL: yes |
| 3572 | Has flag LOOK_CR: no |
| @@ -3578,11 +3578,11 @@ | |
| 3578 | Has flag LOOK_INVALID: no |
| 3579 | Has flag LOOK_ODD: no |
| 3580 | Has flag LOOK_SHORT: no} |
| 3581 | |
| 3582 | utf-check 302 utf-check-302-0-101-0.jnk \ |
| 3583 | {File "%TEMP%/utf-check-302-0-101-0.jnk" has 32786 bytes. |
| 3584 | Starts with UTF-8 BOM: no |
| 3585 | Starts with UTF-16 BOM: no |
| 3586 | Looks like UTF-8: no |
| 3587 | Has flag LOOK_NUL: yes |
| 3588 | Has flag LOOK_CR: yes |
| @@ -3594,11 +3594,11 @@ | |
| 3594 | Has flag LOOK_INVALID: no |
| 3595 | Has flag LOOK_ODD: no |
| 3596 | Has flag LOOK_SHORT: no} |
| 3597 | |
| 3598 | utf-check 303 utf-check-303-0-101-1.jnk \ |
| 3599 | {File "%TEMP%/utf-check-303-0-101-1.jnk" has 32787 bytes. |
| 3600 | Starts with UTF-8 BOM: no |
| 3601 | Starts with UTF-16 BOM: no |
| 3602 | Looks like UTF-8: no |
| 3603 | Has flag LOOK_NUL: yes |
| 3604 | Has flag LOOK_CR: yes |
| @@ -3610,11 +3610,11 @@ | |
| 3610 | Has flag LOOK_INVALID: no |
| 3611 | Has flag LOOK_ODD: no |
| 3612 | Has flag LOOK_SHORT: no} |
| 3613 | |
| 3614 | utf-check 304 utf-check-304-0-102-0.jnk \ |
| 3615 | {File "%TEMP%/utf-check-304-0-102-0.jnk" has 32786 bytes. |
| 3616 | Starts with UTF-8 BOM: no |
| 3617 | Starts with UTF-16 BOM: no |
| 3618 | Looks like UTF-8: no |
| 3619 | Has flag LOOK_NUL: yes |
| 3620 | Has flag LOOK_CR: no |
| @@ -3626,11 +3626,11 @@ | |
| 3626 | Has flag LOOK_INVALID: no |
| 3627 | Has flag LOOK_ODD: no |
| 3628 | Has flag LOOK_SHORT: no} |
| 3629 | |
| 3630 | utf-check 305 utf-check-305-0-102-1.jnk \ |
| 3631 | {File "%TEMP%/utf-check-305-0-102-1.jnk" has 32787 bytes. |
| 3632 | Starts with UTF-8 BOM: no |
| 3633 | Starts with UTF-16 BOM: no |
| 3634 | Looks like UTF-8: no |
| 3635 | Has flag LOOK_NUL: yes |
| 3636 | Has flag LOOK_CR: no |
| @@ -3642,11 +3642,11 @@ | |
| 3642 | Has flag LOOK_INVALID: no |
| 3643 | Has flag LOOK_ODD: no |
| 3644 | Has flag LOOK_SHORT: no} |
| 3645 | |
| 3646 | utf-check 306 utf-check-306-0-103-0.jnk \ |
| 3647 | {File "%TEMP%/utf-check-306-0-103-0.jnk" has 32787 bytes. |
| 3648 | Starts with UTF-8 BOM: no |
| 3649 | Starts with UTF-16 BOM: no |
| 3650 | Looks like UTF-8: no |
| 3651 | Has flag LOOK_NUL: yes |
| 3652 | Has flag LOOK_CR: yes |
| @@ -3658,11 +3658,11 @@ | |
| 3658 | Has flag LOOK_INVALID: no |
| 3659 | Has flag LOOK_ODD: no |
| 3660 | Has flag LOOK_SHORT: no} |
| 3661 | |
| 3662 | utf-check 307 utf-check-307-0-103-1.jnk \ |
| 3663 | {File "%TEMP%/utf-check-307-0-103-1.jnk" has 32788 bytes. |
| 3664 | Starts with UTF-8 BOM: no |
| 3665 | Starts with UTF-16 BOM: no |
| 3666 | Looks like UTF-8: no |
| 3667 | Has flag LOOK_NUL: yes |
| 3668 | Has flag LOOK_CR: yes |
| @@ -3674,11 +3674,11 @@ | |
| 3674 | Has flag LOOK_INVALID: no |
| 3675 | Has flag LOOK_ODD: no |
| 3676 | Has flag LOOK_SHORT: no} |
| 3677 | |
| 3678 | utf-check 308 utf-check-308-0-104-0.jnk \ |
| 3679 | {File "%TEMP%/utf-check-308-0-104-0.jnk" has 32771 bytes. |
| 3680 | Starts with UTF-8 BOM: no |
| 3681 | Starts with UTF-16 BOM: no |
| 3682 | Looks like UTF-8: no |
| 3683 | Has flag LOOK_NUL: yes |
| 3684 | Has flag LOOK_CR: no |
| @@ -3690,11 +3690,11 @@ | |
| 3690 | Has flag LOOK_INVALID: no |
| 3691 | Has flag LOOK_ODD: no |
| 3692 | Has flag LOOK_SHORT: no} |
| 3693 | |
| 3694 | utf-check 309 utf-check-309-0-104-1.jnk \ |
| 3695 | {File "%TEMP%/utf-check-309-0-104-1.jnk" has 32772 bytes. |
| 3696 | Starts with UTF-8 BOM: no |
| 3697 | Starts with UTF-16 BOM: no |
| 3698 | Looks like UTF-8: no |
| 3699 | Has flag LOOK_NUL: yes |
| 3700 | Has flag LOOK_CR: no |
| @@ -3706,11 +3706,11 @@ | |
| 3706 | Has flag LOOK_INVALID: no |
| 3707 | Has flag LOOK_ODD: no |
| 3708 | Has flag LOOK_SHORT: no} |
| 3709 | |
| 3710 | utf-check 310 utf-check-310-0-105-0.jnk \ |
| 3711 | {File "%TEMP%/utf-check-310-0-105-0.jnk" has 32772 bytes. |
| 3712 | Starts with UTF-8 BOM: no |
| 3713 | Starts with UTF-16 BOM: no |
| 3714 | Looks like UTF-8: no |
| 3715 | Has flag LOOK_NUL: yes |
| 3716 | Has flag LOOK_CR: yes |
| @@ -3722,11 +3722,11 @@ | |
| 3722 | Has flag LOOK_INVALID: no |
| 3723 | Has flag LOOK_ODD: no |
| 3724 | Has flag LOOK_SHORT: no} |
| 3725 | |
| 3726 | utf-check 311 utf-check-311-0-105-1.jnk \ |
| 3727 | {File "%TEMP%/utf-check-311-0-105-1.jnk" has 32773 bytes. |
| 3728 | Starts with UTF-8 BOM: no |
| 3729 | Starts with UTF-16 BOM: no |
| 3730 | Looks like UTF-8: no |
| 3731 | Has flag LOOK_NUL: yes |
| 3732 | Has flag LOOK_CR: yes |
| @@ -3738,11 +3738,11 @@ | |
| 3738 | Has flag LOOK_INVALID: no |
| 3739 | Has flag LOOK_ODD: no |
| 3740 | Has flag LOOK_SHORT: no} |
| 3741 | |
| 3742 | utf-check 312 utf-check-312-0-106-0.jnk \ |
| 3743 | {File "%TEMP%/utf-check-312-0-106-0.jnk" has 32772 bytes. |
| 3744 | Starts with UTF-8 BOM: no |
| 3745 | Starts with UTF-16 BOM: no |
| 3746 | Looks like UTF-8: no |
| 3747 | Has flag LOOK_NUL: yes |
| 3748 | Has flag LOOK_CR: no |
| @@ -3754,11 +3754,11 @@ | |
| 3754 | Has flag LOOK_INVALID: no |
| 3755 | Has flag LOOK_ODD: no |
| 3756 | Has flag LOOK_SHORT: no} |
| 3757 | |
| 3758 | utf-check 313 utf-check-313-0-106-1.jnk \ |
| 3759 | {File "%TEMP%/utf-check-313-0-106-1.jnk" has 32773 bytes. |
| 3760 | Starts with UTF-8 BOM: no |
| 3761 | Starts with UTF-16 BOM: no |
| 3762 | Looks like UTF-8: no |
| 3763 | Has flag LOOK_NUL: yes |
| 3764 | Has flag LOOK_CR: no |
| @@ -3770,11 +3770,11 @@ | |
| 3770 | Has flag LOOK_INVALID: no |
| 3771 | Has flag LOOK_ODD: no |
| 3772 | Has flag LOOK_SHORT: no} |
| 3773 | |
| 3774 | utf-check 314 utf-check-314-0-107-0.jnk \ |
| 3775 | {File "%TEMP%/utf-check-314-0-107-0.jnk" has 32773 bytes. |
| 3776 | Starts with UTF-8 BOM: no |
| 3777 | Starts with UTF-16 BOM: no |
| 3778 | Looks like UTF-8: no |
| 3779 | Has flag LOOK_NUL: yes |
| 3780 | Has flag LOOK_CR: yes |
| @@ -3786,11 +3786,11 @@ | |
| 3786 | Has flag LOOK_INVALID: no |
| 3787 | Has flag LOOK_ODD: no |
| 3788 | Has flag LOOK_SHORT: no} |
| 3789 | |
| 3790 | utf-check 315 utf-check-315-0-107-1.jnk \ |
| 3791 | {File "%TEMP%/utf-check-315-0-107-1.jnk" has 32774 bytes. |
| 3792 | Starts with UTF-8 BOM: no |
| 3793 | Starts with UTF-16 BOM: no |
| 3794 | Looks like UTF-8: no |
| 3795 | Has flag LOOK_NUL: yes |
| 3796 | Has flag LOOK_CR: yes |
| @@ -3802,11 +3802,11 @@ | |
| 3802 | Has flag LOOK_INVALID: no |
| 3803 | Has flag LOOK_ODD: no |
| 3804 | Has flag LOOK_SHORT: no} |
| 3805 | |
| 3806 | utf-check 316 utf-check-316-0-108-0.jnk \ |
| 3807 | {File "%TEMP%/utf-check-316-0-108-0.jnk" has 32786 bytes. |
| 3808 | Starts with UTF-8 BOM: no |
| 3809 | Starts with UTF-16 BOM: no |
| 3810 | Looks like UTF-8: no |
| 3811 | Has flag LOOK_NUL: yes |
| 3812 | Has flag LOOK_CR: no |
| @@ -3818,11 +3818,11 @@ | |
| 3818 | Has flag LOOK_INVALID: no |
| 3819 | Has flag LOOK_ODD: no |
| 3820 | Has flag LOOK_SHORT: no} |
| 3821 | |
| 3822 | utf-check 317 utf-check-317-0-108-1.jnk \ |
| 3823 | {File "%TEMP%/utf-check-317-0-108-1.jnk" has 32787 bytes. |
| 3824 | Starts with UTF-8 BOM: no |
| 3825 | Starts with UTF-16 BOM: no |
| 3826 | Looks like UTF-8: no |
| 3827 | Has flag LOOK_NUL: yes |
| 3828 | Has flag LOOK_CR: no |
| @@ -3834,11 +3834,11 @@ | |
| 3834 | Has flag LOOK_INVALID: no |
| 3835 | Has flag LOOK_ODD: no |
| 3836 | Has flag LOOK_SHORT: no} |
| 3837 | |
| 3838 | utf-check 318 utf-check-318-0-109-0.jnk \ |
| 3839 | {File "%TEMP%/utf-check-318-0-109-0.jnk" has 32787 bytes. |
| 3840 | Starts with UTF-8 BOM: no |
| 3841 | Starts with UTF-16 BOM: no |
| 3842 | Looks like UTF-8: no |
| 3843 | Has flag LOOK_NUL: yes |
| 3844 | Has flag LOOK_CR: yes |
| @@ -3850,11 +3850,11 @@ | |
| 3850 | Has flag LOOK_INVALID: no |
| 3851 | Has flag LOOK_ODD: no |
| 3852 | Has flag LOOK_SHORT: no} |
| 3853 | |
| 3854 | utf-check 319 utf-check-319-0-109-1.jnk \ |
| 3855 | {File "%TEMP%/utf-check-319-0-109-1.jnk" has 32788 bytes. |
| 3856 | Starts with UTF-8 BOM: no |
| 3857 | Starts with UTF-16 BOM: no |
| 3858 | Looks like UTF-8: no |
| 3859 | Has flag LOOK_NUL: yes |
| 3860 | Has flag LOOK_CR: yes |
| @@ -3866,11 +3866,11 @@ | |
| 3866 | Has flag LOOK_INVALID: no |
| 3867 | Has flag LOOK_ODD: no |
| 3868 | Has flag LOOK_SHORT: no} |
| 3869 | |
| 3870 | utf-check 320 utf-check-320-0-110-0.jnk \ |
| 3871 | {File "%TEMP%/utf-check-320-0-110-0.jnk" has 32787 bytes. |
| 3872 | Starts with UTF-8 BOM: no |
| 3873 | Starts with UTF-16 BOM: no |
| 3874 | Looks like UTF-8: no |
| 3875 | Has flag LOOK_NUL: yes |
| 3876 | Has flag LOOK_CR: no |
| @@ -3882,11 +3882,11 @@ | |
| 3882 | Has flag LOOK_INVALID: no |
| 3883 | Has flag LOOK_ODD: no |
| 3884 | Has flag LOOK_SHORT: no} |
| 3885 | |
| 3886 | utf-check 321 utf-check-321-0-110-1.jnk \ |
| 3887 | {File "%TEMP%/utf-check-321-0-110-1.jnk" has 32788 bytes. |
| 3888 | Starts with UTF-8 BOM: no |
| 3889 | Starts with UTF-16 BOM: no |
| 3890 | Looks like UTF-8: no |
| 3891 | Has flag LOOK_NUL: yes |
| 3892 | Has flag LOOK_CR: no |
| @@ -3898,11 +3898,11 @@ | |
| 3898 | Has flag LOOK_INVALID: no |
| 3899 | Has flag LOOK_ODD: no |
| 3900 | Has flag LOOK_SHORT: no} |
| 3901 | |
| 3902 | utf-check 322 utf-check-322-0-111-0.jnk \ |
| 3903 | {File "%TEMP%/utf-check-322-0-111-0.jnk" has 32788 bytes. |
| 3904 | Starts with UTF-8 BOM: no |
| 3905 | Starts with UTF-16 BOM: no |
| 3906 | Looks like UTF-8: no |
| 3907 | Has flag LOOK_NUL: yes |
| 3908 | Has flag LOOK_CR: yes |
| @@ -3914,11 +3914,11 @@ | |
| 3914 | Has flag LOOK_INVALID: no |
| 3915 | Has flag LOOK_ODD: no |
| 3916 | Has flag LOOK_SHORT: no} |
| 3917 | |
| 3918 | utf-check 323 utf-check-323-0-111-1.jnk \ |
| 3919 | {File "%TEMP%/utf-check-323-0-111-1.jnk" has 32789 bytes. |
| 3920 | Starts with UTF-8 BOM: no |
| 3921 | Starts with UTF-16 BOM: no |
| 3922 | Looks like UTF-8: no |
| 3923 | Has flag LOOK_NUL: yes |
| 3924 | Has flag LOOK_CR: yes |
| @@ -9466,11 +9466,11 @@ | |
| 9466 | Has flag LOOK_INVALID: no |
| 9467 | Has flag LOOK_ODD: no |
| 9468 | Has flag LOOK_SHORT: no} |
| 9469 | |
| 9470 | utf-check 670 utf-check-670-1-80-0.jnk \ |
| 9471 | {File "%TEMP%/utf-check-670-1-80-0.jnk" has 32772 bytes. |
| 9472 | Starts with UTF-8 BOM: yes |
| 9473 | Starts with UTF-16 BOM: no |
| 9474 | Looks like UTF-8: no |
| 9475 | Has flag LOOK_NUL: no |
| 9476 | Has flag LOOK_CR: no |
| @@ -9482,11 +9482,11 @@ | |
| 9482 | Has flag LOOK_INVALID: no |
| 9483 | Has flag LOOK_ODD: no |
| 9484 | Has flag LOOK_SHORT: no} |
| 9485 | |
| 9486 | utf-check 671 utf-check-671-1-80-1.jnk \ |
| 9487 | {File "%TEMP%/utf-check-671-1-80-1.jnk" has 32773 bytes. |
| 9488 | Starts with UTF-8 BOM: yes |
| 9489 | Starts with UTF-16 BOM: no |
| 9490 | Looks like UTF-8: no |
| 9491 | Has flag LOOK_NUL: no |
| 9492 | Has flag LOOK_CR: no |
| @@ -9498,11 +9498,11 @@ | |
| 9498 | Has flag LOOK_INVALID: no |
| 9499 | Has flag LOOK_ODD: no |
| 9500 | Has flag LOOK_SHORT: no} |
| 9501 | |
| 9502 | utf-check 672 utf-check-672-1-81-0.jnk \ |
| 9503 | {File "%TEMP%/utf-check-672-1-81-0.jnk" has 32773 bytes. |
| 9504 | Starts with UTF-8 BOM: yes |
| 9505 | Starts with UTF-16 BOM: no |
| 9506 | Looks like UTF-8: no |
| 9507 | Has flag LOOK_NUL: no |
| 9508 | Has flag LOOK_CR: yes |
| @@ -9514,11 +9514,11 @@ | |
| 9514 | Has flag LOOK_INVALID: no |
| 9515 | Has flag LOOK_ODD: no |
| 9516 | Has flag LOOK_SHORT: no} |
| 9517 | |
| 9518 | utf-check 673 utf-check-673-1-81-1.jnk \ |
| 9519 | {File "%TEMP%/utf-check-673-1-81-1.jnk" has 32774 bytes. |
| 9520 | Starts with UTF-8 BOM: yes |
| 9521 | Starts with UTF-16 BOM: no |
| 9522 | Looks like UTF-8: no |
| 9523 | Has flag LOOK_NUL: no |
| 9524 | Has flag LOOK_CR: yes |
| @@ -9530,11 +9530,11 @@ | |
| 9530 | Has flag LOOK_INVALID: no |
| 9531 | Has flag LOOK_ODD: no |
| 9532 | Has flag LOOK_SHORT: no} |
| 9533 | |
| 9534 | utf-check 674 utf-check-674-1-82-0.jnk \ |
| 9535 | {File "%TEMP%/utf-check-674-1-82-0.jnk" has 32773 bytes. |
| 9536 | Starts with UTF-8 BOM: yes |
| 9537 | Starts with UTF-16 BOM: no |
| 9538 | Looks like UTF-8: no |
| 9539 | Has flag LOOK_NUL: no |
| 9540 | Has flag LOOK_CR: no |
| @@ -9546,11 +9546,11 @@ | |
| 9546 | Has flag LOOK_INVALID: no |
| 9547 | Has flag LOOK_ODD: no |
| 9548 | Has flag LOOK_SHORT: no} |
| 9549 | |
| 9550 | utf-check 675 utf-check-675-1-82-1.jnk \ |
| 9551 | {File "%TEMP%/utf-check-675-1-82-1.jnk" has 32774 bytes. |
| 9552 | Starts with UTF-8 BOM: yes |
| 9553 | Starts with UTF-16 BOM: no |
| 9554 | Looks like UTF-8: no |
| 9555 | Has flag LOOK_NUL: no |
| 9556 | Has flag LOOK_CR: no |
| @@ -9562,11 +9562,11 @@ | |
| 9562 | Has flag LOOK_INVALID: no |
| 9563 | Has flag LOOK_ODD: no |
| 9564 | Has flag LOOK_SHORT: no} |
| 9565 | |
| 9566 | utf-check 676 utf-check-676-1-83-0.jnk \ |
| 9567 | {File "%TEMP%/utf-check-676-1-83-0.jnk" has 32774 bytes. |
| 9568 | Starts with UTF-8 BOM: yes |
| 9569 | Starts with UTF-16 BOM: no |
| 9570 | Looks like UTF-8: no |
| 9571 | Has flag LOOK_NUL: no |
| 9572 | Has flag LOOK_CR: yes |
| @@ -9578,11 +9578,11 @@ | |
| 9578 | Has flag LOOK_INVALID: no |
| 9579 | Has flag LOOK_ODD: no |
| 9580 | Has flag LOOK_SHORT: no} |
| 9581 | |
| 9582 | utf-check 677 utf-check-677-1-83-1.jnk \ |
| 9583 | {File "%TEMP%/utf-check-677-1-83-1.jnk" has 32775 bytes. |
| 9584 | Starts with UTF-8 BOM: yes |
| 9585 | Starts with UTF-16 BOM: no |
| 9586 | Looks like UTF-8: no |
| 9587 | Has flag LOOK_NUL: no |
| 9588 | Has flag LOOK_CR: yes |
| @@ -9594,11 +9594,11 @@ | |
| 9594 | Has flag LOOK_INVALID: no |
| 9595 | Has flag LOOK_ODD: no |
| 9596 | Has flag LOOK_SHORT: no} |
| 9597 | |
| 9598 | utf-check 678 utf-check-678-1-84-0.jnk \ |
| 9599 | {File "%TEMP%/utf-check-678-1-84-0.jnk" has 32787 bytes. |
| 9600 | Starts with UTF-8 BOM: yes |
| 9601 | Starts with UTF-16 BOM: no |
| 9602 | Looks like UTF-8: no |
| 9603 | Has flag LOOK_NUL: no |
| 9604 | Has flag LOOK_CR: no |
| @@ -9610,11 +9610,11 @@ | |
| 9610 | Has flag LOOK_INVALID: no |
| 9611 | Has flag LOOK_ODD: no |
| 9612 | Has flag LOOK_SHORT: no} |
| 9613 | |
| 9614 | utf-check 679 utf-check-679-1-84-1.jnk \ |
| 9615 | {File "%TEMP%/utf-check-679-1-84-1.jnk" has 32788 bytes. |
| 9616 | Starts with UTF-8 BOM: yes |
| 9617 | Starts with UTF-16 BOM: no |
| 9618 | Looks like UTF-8: no |
| 9619 | Has flag LOOK_NUL: no |
| 9620 | Has flag LOOK_CR: no |
| @@ -9626,11 +9626,11 @@ | |
| 9626 | Has flag LOOK_INVALID: no |
| 9627 | Has flag LOOK_ODD: no |
| 9628 | Has flag LOOK_SHORT: no} |
| 9629 | |
| 9630 | utf-check 680 utf-check-680-1-85-0.jnk \ |
| 9631 | {File "%TEMP%/utf-check-680-1-85-0.jnk" has 32788 bytes. |
| 9632 | Starts with UTF-8 BOM: yes |
| 9633 | Starts with UTF-16 BOM: no |
| 9634 | Looks like UTF-8: no |
| 9635 | Has flag LOOK_NUL: no |
| 9636 | Has flag LOOK_CR: yes |
| @@ -9642,11 +9642,11 @@ | |
| 9642 | Has flag LOOK_INVALID: no |
| 9643 | Has flag LOOK_ODD: no |
| 9644 | Has flag LOOK_SHORT: no} |
| 9645 | |
| 9646 | utf-check 681 utf-check-681-1-85-1.jnk \ |
| 9647 | {File "%TEMP%/utf-check-681-1-85-1.jnk" has 32789 bytes. |
| 9648 | Starts with UTF-8 BOM: yes |
| 9649 | Starts with UTF-16 BOM: no |
| 9650 | Looks like UTF-8: no |
| 9651 | Has flag LOOK_NUL: no |
| 9652 | Has flag LOOK_CR: yes |
| @@ -9658,11 +9658,11 @@ | |
| 9658 | Has flag LOOK_INVALID: no |
| 9659 | Has flag LOOK_ODD: no |
| 9660 | Has flag LOOK_SHORT: no} |
| 9661 | |
| 9662 | utf-check 682 utf-check-682-1-86-0.jnk \ |
| 9663 | {File "%TEMP%/utf-check-682-1-86-0.jnk" has 32788 bytes. |
| 9664 | Starts with UTF-8 BOM: yes |
| 9665 | Starts with UTF-16 BOM: no |
| 9666 | Looks like UTF-8: no |
| 9667 | Has flag LOOK_NUL: no |
| 9668 | Has flag LOOK_CR: no |
| @@ -9674,11 +9674,11 @@ | |
| 9674 | Has flag LOOK_INVALID: no |
| 9675 | Has flag LOOK_ODD: no |
| 9676 | Has flag LOOK_SHORT: no} |
| 9677 | |
| 9678 | utf-check 683 utf-check-683-1-86-1.jnk \ |
| 9679 | {File "%TEMP%/utf-check-683-1-86-1.jnk" has 32789 bytes. |
| 9680 | Starts with UTF-8 BOM: yes |
| 9681 | Starts with UTF-16 BOM: no |
| 9682 | Looks like UTF-8: no |
| 9683 | Has flag LOOK_NUL: no |
| 9684 | Has flag LOOK_CR: no |
| @@ -9690,11 +9690,11 @@ | |
| 9690 | Has flag LOOK_INVALID: no |
| 9691 | Has flag LOOK_ODD: no |
| 9692 | Has flag LOOK_SHORT: no} |
| 9693 | |
| 9694 | utf-check 684 utf-check-684-1-87-0.jnk \ |
| 9695 | {File "%TEMP%/utf-check-684-1-87-0.jnk" has 32789 bytes. |
| 9696 | Starts with UTF-8 BOM: yes |
| 9697 | Starts with UTF-16 BOM: no |
| 9698 | Looks like UTF-8: no |
| 9699 | Has flag LOOK_NUL: no |
| 9700 | Has flag LOOK_CR: yes |
| @@ -9706,11 +9706,11 @@ | |
| 9706 | Has flag LOOK_INVALID: no |
| 9707 | Has flag LOOK_ODD: no |
| 9708 | Has flag LOOK_SHORT: no} |
| 9709 | |
| 9710 | utf-check 685 utf-check-685-1-87-1.jnk \ |
| 9711 | {File "%TEMP%/utf-check-685-1-87-1.jnk" has 32790 bytes. |
| 9712 | Starts with UTF-8 BOM: yes |
| 9713 | Starts with UTF-16 BOM: no |
| 9714 | Looks like UTF-8: no |
| 9715 | Has flag LOOK_NUL: no |
| 9716 | Has flag LOOK_CR: yes |
| @@ -9722,11 +9722,11 @@ | |
| 9722 | Has flag LOOK_INVALID: no |
| 9723 | Has flag LOOK_ODD: no |
| 9724 | Has flag LOOK_SHORT: no} |
| 9725 | |
| 9726 | utf-check 686 utf-check-686-1-88-0.jnk \ |
| 9727 | {File "%TEMP%/utf-check-686-1-88-0.jnk" has 32773 bytes. |
| 9728 | Starts with UTF-8 BOM: yes |
| 9729 | Starts with UTF-16 BOM: no |
| 9730 | Looks like UTF-8: no |
| 9731 | Has flag LOOK_NUL: yes |
| 9732 | Has flag LOOK_CR: no |
| @@ -9738,11 +9738,11 @@ | |
| 9738 | Has flag LOOK_INVALID: no |
| 9739 | Has flag LOOK_ODD: no |
| 9740 | Has flag LOOK_SHORT: no} |
| 9741 | |
| 9742 | utf-check 687 utf-check-687-1-88-1.jnk \ |
| 9743 | {File "%TEMP%/utf-check-687-1-88-1.jnk" has 32774 bytes. |
| 9744 | Starts with UTF-8 BOM: yes |
| 9745 | Starts with UTF-16 BOM: no |
| 9746 | Looks like UTF-8: no |
| 9747 | Has flag LOOK_NUL: yes |
| 9748 | Has flag LOOK_CR: no |
| @@ -9754,11 +9754,11 @@ | |
| 9754 | Has flag LOOK_INVALID: no |
| 9755 | Has flag LOOK_ODD: no |
| 9756 | Has flag LOOK_SHORT: no} |
| 9757 | |
| 9758 | utf-check 688 utf-check-688-1-89-0.jnk \ |
| 9759 | {File "%TEMP%/utf-check-688-1-89-0.jnk" has 32774 bytes. |
| 9760 | Starts with UTF-8 BOM: yes |
| 9761 | Starts with UTF-16 BOM: no |
| 9762 | Looks like UTF-8: no |
| 9763 | Has flag LOOK_NUL: yes |
| 9764 | Has flag LOOK_CR: yes |
| @@ -9770,11 +9770,11 @@ | |
| 9770 | Has flag LOOK_INVALID: no |
| 9771 | Has flag LOOK_ODD: no |
| 9772 | Has flag LOOK_SHORT: no} |
| 9773 | |
| 9774 | utf-check 689 utf-check-689-1-89-1.jnk \ |
| 9775 | {File "%TEMP%/utf-check-689-1-89-1.jnk" has 32775 bytes. |
| 9776 | Starts with UTF-8 BOM: yes |
| 9777 | Starts with UTF-16 BOM: no |
| 9778 | Looks like UTF-8: no |
| 9779 | Has flag LOOK_NUL: yes |
| 9780 | Has flag LOOK_CR: yes |
| @@ -9786,11 +9786,11 @@ | |
| 9786 | Has flag LOOK_INVALID: no |
| 9787 | Has flag LOOK_ODD: no |
| 9788 | Has flag LOOK_SHORT: no} |
| 9789 | |
| 9790 | utf-check 690 utf-check-690-1-90-0.jnk \ |
| 9791 | {File "%TEMP%/utf-check-690-1-90-0.jnk" has 32774 bytes. |
| 9792 | Starts with UTF-8 BOM: yes |
| 9793 | Starts with UTF-16 BOM: no |
| 9794 | Looks like UTF-8: no |
| 9795 | Has flag LOOK_NUL: yes |
| 9796 | Has flag LOOK_CR: no |
| @@ -9802,11 +9802,11 @@ | |
| 9802 | Has flag LOOK_INVALID: no |
| 9803 | Has flag LOOK_ODD: no |
| 9804 | Has flag LOOK_SHORT: no} |
| 9805 | |
| 9806 | utf-check 691 utf-check-691-1-90-1.jnk \ |
| 9807 | {File "%TEMP%/utf-check-691-1-90-1.jnk" has 32775 bytes. |
| 9808 | Starts with UTF-8 BOM: yes |
| 9809 | Starts with UTF-16 BOM: no |
| 9810 | Looks like UTF-8: no |
| 9811 | Has flag LOOK_NUL: yes |
| 9812 | Has flag LOOK_CR: no |
| @@ -9818,11 +9818,11 @@ | |
| 9818 | Has flag LOOK_INVALID: no |
| 9819 | Has flag LOOK_ODD: no |
| 9820 | Has flag LOOK_SHORT: no} |
| 9821 | |
| 9822 | utf-check 692 utf-check-692-1-91-0.jnk \ |
| 9823 | {File "%TEMP%/utf-check-692-1-91-0.jnk" has 32775 bytes. |
| 9824 | Starts with UTF-8 BOM: yes |
| 9825 | Starts with UTF-16 BOM: no |
| 9826 | Looks like UTF-8: no |
| 9827 | Has flag LOOK_NUL: yes |
| 9828 | Has flag LOOK_CR: yes |
| @@ -9834,11 +9834,11 @@ | |
| 9834 | Has flag LOOK_INVALID: no |
| 9835 | Has flag LOOK_ODD: no |
| 9836 | Has flag LOOK_SHORT: no} |
| 9837 | |
| 9838 | utf-check 693 utf-check-693-1-91-1.jnk \ |
| 9839 | {File "%TEMP%/utf-check-693-1-91-1.jnk" has 32776 bytes. |
| 9840 | Starts with UTF-8 BOM: yes |
| 9841 | Starts with UTF-16 BOM: no |
| 9842 | Looks like UTF-8: no |
| 9843 | Has flag LOOK_NUL: yes |
| 9844 | Has flag LOOK_CR: yes |
| @@ -9850,11 +9850,11 @@ | |
| 9850 | Has flag LOOK_INVALID: no |
| 9851 | Has flag LOOK_ODD: no |
| 9852 | Has flag LOOK_SHORT: no} |
| 9853 | |
| 9854 | utf-check 694 utf-check-694-1-92-0.jnk \ |
| 9855 | {File "%TEMP%/utf-check-694-1-92-0.jnk" has 32788 bytes. |
| 9856 | Starts with UTF-8 BOM: yes |
| 9857 | Starts with UTF-16 BOM: no |
| 9858 | Looks like UTF-8: no |
| 9859 | Has flag LOOK_NUL: yes |
| 9860 | Has flag LOOK_CR: no |
| @@ -9866,11 +9866,11 @@ | |
| 9866 | Has flag LOOK_INVALID: no |
| 9867 | Has flag LOOK_ODD: no |
| 9868 | Has flag LOOK_SHORT: no} |
| 9869 | |
| 9870 | utf-check 695 utf-check-695-1-92-1.jnk \ |
| 9871 | {File "%TEMP%/utf-check-695-1-92-1.jnk" has 32789 bytes. |
| 9872 | Starts with UTF-8 BOM: yes |
| 9873 | Starts with UTF-16 BOM: no |
| 9874 | Looks like UTF-8: no |
| 9875 | Has flag LOOK_NUL: yes |
| 9876 | Has flag LOOK_CR: no |
| @@ -9882,11 +9882,11 @@ | |
| 9882 | Has flag LOOK_INVALID: no |
| 9883 | Has flag LOOK_ODD: no |
| 9884 | Has flag LOOK_SHORT: no} |
| 9885 | |
| 9886 | utf-check 696 utf-check-696-1-93-0.jnk \ |
| 9887 | {File "%TEMP%/utf-check-696-1-93-0.jnk" has 32789 bytes. |
| 9888 | Starts with UTF-8 BOM: yes |
| 9889 | Starts with UTF-16 BOM: no |
| 9890 | Looks like UTF-8: no |
| 9891 | Has flag LOOK_NUL: yes |
| 9892 | Has flag LOOK_CR: yes |
| @@ -9898,11 +9898,11 @@ | |
| 9898 | Has flag LOOK_INVALID: no |
| 9899 | Has flag LOOK_ODD: no |
| 9900 | Has flag LOOK_SHORT: no} |
| 9901 | |
| 9902 | utf-check 697 utf-check-697-1-93-1.jnk \ |
| 9903 | {File "%TEMP%/utf-check-697-1-93-1.jnk" has 32790 bytes. |
| 9904 | Starts with UTF-8 BOM: yes |
| 9905 | Starts with UTF-16 BOM: no |
| 9906 | Looks like UTF-8: no |
| 9907 | Has flag LOOK_NUL: yes |
| 9908 | Has flag LOOK_CR: yes |
| @@ -9914,11 +9914,11 @@ | |
| 9914 | Has flag LOOK_INVALID: no |
| 9915 | Has flag LOOK_ODD: no |
| 9916 | Has flag LOOK_SHORT: no} |
| 9917 | |
| 9918 | utf-check 698 utf-check-698-1-94-0.jnk \ |
| 9919 | {File "%TEMP%/utf-check-698-1-94-0.jnk" has 32789 bytes. |
| 9920 | Starts with UTF-8 BOM: yes |
| 9921 | Starts with UTF-16 BOM: no |
| 9922 | Looks like UTF-8: no |
| 9923 | Has flag LOOK_NUL: yes |
| 9924 | Has flag LOOK_CR: no |
| @@ -9930,11 +9930,11 @@ | |
| 9930 | Has flag LOOK_INVALID: no |
| 9931 | Has flag LOOK_ODD: no |
| 9932 | Has flag LOOK_SHORT: no} |
| 9933 | |
| 9934 | utf-check 699 utf-check-699-1-94-1.jnk \ |
| 9935 | {File "%TEMP%/utf-check-699-1-94-1.jnk" has 32790 bytes. |
| 9936 | Starts with UTF-8 BOM: yes |
| 9937 | Starts with UTF-16 BOM: no |
| 9938 | Looks like UTF-8: no |
| 9939 | Has flag LOOK_NUL: yes |
| 9940 | Has flag LOOK_CR: no |
| @@ -9946,11 +9946,11 @@ | |
| 9946 | Has flag LOOK_INVALID: no |
| 9947 | Has flag LOOK_ODD: no |
| 9948 | Has flag LOOK_SHORT: no} |
| 9949 | |
| 9950 | utf-check 700 utf-check-700-1-95-0.jnk \ |
| 9951 | {File "%TEMP%/utf-check-700-1-95-0.jnk" has 32790 bytes. |
| 9952 | Starts with UTF-8 BOM: yes |
| 9953 | Starts with UTF-16 BOM: no |
| 9954 | Looks like UTF-8: no |
| 9955 | Has flag LOOK_NUL: yes |
| 9956 | Has flag LOOK_CR: yes |
| @@ -9962,11 +9962,11 @@ | |
| 9962 | Has flag LOOK_INVALID: no |
| 9963 | Has flag LOOK_ODD: no |
| 9964 | Has flag LOOK_SHORT: no} |
| 9965 | |
| 9966 | utf-check 701 utf-check-701-1-95-1.jnk \ |
| 9967 | {File "%TEMP%/utf-check-701-1-95-1.jnk" has 32791 bytes. |
| 9968 | Starts with UTF-8 BOM: yes |
| 9969 | Starts with UTF-16 BOM: no |
| 9970 | Looks like UTF-8: no |
| 9971 | Has flag LOOK_NUL: yes |
| 9972 | Has flag LOOK_CR: yes |
| @@ -9978,11 +9978,11 @@ | |
| 9978 | Has flag LOOK_INVALID: no |
| 9979 | Has flag LOOK_ODD: no |
| 9980 | Has flag LOOK_SHORT: no} |
| 9981 | |
| 9982 | utf-check 702 utf-check-702-1-96-0.jnk \ |
| 9983 | {File "%TEMP%/utf-check-702-1-96-0.jnk" has 32773 bytes. |
| 9984 | Starts with UTF-8 BOM: yes |
| 9985 | Starts with UTF-16 BOM: no |
| 9986 | Looks like UTF-8: no |
| 9987 | Has flag LOOK_NUL: yes |
| 9988 | Has flag LOOK_CR: no |
| @@ -9994,11 +9994,11 @@ | |
| 9994 | Has flag LOOK_INVALID: no |
| 9995 | Has flag LOOK_ODD: no |
| 9996 | Has flag LOOK_SHORT: no} |
| 9997 | |
| 9998 | utf-check 703 utf-check-703-1-96-1.jnk \ |
| 9999 | {File "%TEMP%/utf-check-703-1-96-1.jnk" has 32774 bytes. |
| 10000 | Starts with UTF-8 BOM: yes |
| 10001 | Starts with UTF-16 BOM: no |
| 10002 | Looks like UTF-8: no |
| 10003 | Has flag LOOK_NUL: yes |
| 10004 | Has flag LOOK_CR: no |
| @@ -10010,11 +10010,11 @@ | |
| 10010 | Has flag LOOK_INVALID: no |
| 10011 | Has flag LOOK_ODD: no |
| 10012 | Has flag LOOK_SHORT: no} |
| 10013 | |
| 10014 | utf-check 704 utf-check-704-1-97-0.jnk \ |
| 10015 | {File "%TEMP%/utf-check-704-1-97-0.jnk" has 32774 bytes. |
| 10016 | Starts with UTF-8 BOM: yes |
| 10017 | Starts with UTF-16 BOM: no |
| 10018 | Looks like UTF-8: no |
| 10019 | Has flag LOOK_NUL: yes |
| 10020 | Has flag LOOK_CR: yes |
| @@ -10026,11 +10026,11 @@ | |
| 10026 | Has flag LOOK_INVALID: no |
| 10027 | Has flag LOOK_ODD: no |
| 10028 | Has flag LOOK_SHORT: no} |
| 10029 | |
| 10030 | utf-check 705 utf-check-705-1-97-1.jnk \ |
| 10031 | {File "%TEMP%/utf-check-705-1-97-1.jnk" has 32775 bytes. |
| 10032 | Starts with UTF-8 BOM: yes |
| 10033 | Starts with UTF-16 BOM: no |
| 10034 | Looks like UTF-8: no |
| 10035 | Has flag LOOK_NUL: yes |
| 10036 | Has flag LOOK_CR: yes |
| @@ -10042,11 +10042,11 @@ | |
| 10042 | Has flag LOOK_INVALID: no |
| 10043 | Has flag LOOK_ODD: no |
| 10044 | Has flag LOOK_SHORT: no} |
| 10045 | |
| 10046 | utf-check 706 utf-check-706-1-98-0.jnk \ |
| 10047 | {File "%TEMP%/utf-check-706-1-98-0.jnk" has 32774 bytes. |
| 10048 | Starts with UTF-8 BOM: yes |
| 10049 | Starts with UTF-16 BOM: no |
| 10050 | Looks like UTF-8: no |
| 10051 | Has flag LOOK_NUL: yes |
| 10052 | Has flag LOOK_CR: no |
| @@ -10058,11 +10058,11 @@ | |
| 10058 | Has flag LOOK_INVALID: no |
| 10059 | Has flag LOOK_ODD: no |
| 10060 | Has flag LOOK_SHORT: no} |
| 10061 | |
| 10062 | utf-check 707 utf-check-707-1-98-1.jnk \ |
| 10063 | {File "%TEMP%/utf-check-707-1-98-1.jnk" has 32775 bytes. |
| 10064 | Starts with UTF-8 BOM: yes |
| 10065 | Starts with UTF-16 BOM: no |
| 10066 | Looks like UTF-8: no |
| 10067 | Has flag LOOK_NUL: yes |
| 10068 | Has flag LOOK_CR: no |
| @@ -10074,11 +10074,11 @@ | |
| 10074 | Has flag LOOK_INVALID: no |
| 10075 | Has flag LOOK_ODD: no |
| 10076 | Has flag LOOK_SHORT: no} |
| 10077 | |
| 10078 | utf-check 708 utf-check-708-1-99-0.jnk \ |
| 10079 | {File "%TEMP%/utf-check-708-1-99-0.jnk" has 32775 bytes. |
| 10080 | Starts with UTF-8 BOM: yes |
| 10081 | Starts with UTF-16 BOM: no |
| 10082 | Looks like UTF-8: no |
| 10083 | Has flag LOOK_NUL: yes |
| 10084 | Has flag LOOK_CR: yes |
| @@ -10090,11 +10090,11 @@ | |
| 10090 | Has flag LOOK_INVALID: no |
| 10091 | Has flag LOOK_ODD: no |
| 10092 | Has flag LOOK_SHORT: no} |
| 10093 | |
| 10094 | utf-check 709 utf-check-709-1-99-1.jnk \ |
| 10095 | {File "%TEMP%/utf-check-709-1-99-1.jnk" has 32776 bytes. |
| 10096 | Starts with UTF-8 BOM: yes |
| 10097 | Starts with UTF-16 BOM: no |
| 10098 | Looks like UTF-8: no |
| 10099 | Has flag LOOK_NUL: yes |
| 10100 | Has flag LOOK_CR: yes |
| @@ -10106,11 +10106,11 @@ | |
| 10106 | Has flag LOOK_INVALID: no |
| 10107 | Has flag LOOK_ODD: no |
| 10108 | Has flag LOOK_SHORT: no} |
| 10109 | |
| 10110 | utf-check 710 utf-check-710-1-100-0.jnk \ |
| 10111 | {File "%TEMP%/utf-check-710-1-100-0.jnk" has 32788 bytes. |
| 10112 | Starts with UTF-8 BOM: yes |
| 10113 | Starts with UTF-16 BOM: no |
| 10114 | Looks like UTF-8: no |
| 10115 | Has flag LOOK_NUL: yes |
| 10116 | Has flag LOOK_CR: no |
| @@ -10122,11 +10122,11 @@ | |
| 10122 | Has flag LOOK_INVALID: no |
| 10123 | Has flag LOOK_ODD: no |
| 10124 | Has flag LOOK_SHORT: no} |
| 10125 | |
| 10126 | utf-check 711 utf-check-711-1-100-1.jnk \ |
| 10127 | {File "%TEMP%/utf-check-711-1-100-1.jnk" has 32789 bytes. |
| 10128 | Starts with UTF-8 BOM: yes |
| 10129 | Starts with UTF-16 BOM: no |
| 10130 | Looks like UTF-8: no |
| 10131 | Has flag LOOK_NUL: yes |
| 10132 | Has flag LOOK_CR: no |
| @@ -10138,11 +10138,11 @@ | |
| 10138 | Has flag LOOK_INVALID: no |
| 10139 | Has flag LOOK_ODD: no |
| 10140 | Has flag LOOK_SHORT: no} |
| 10141 | |
| 10142 | utf-check 712 utf-check-712-1-101-0.jnk \ |
| 10143 | {File "%TEMP%/utf-check-712-1-101-0.jnk" has 32789 bytes. |
| 10144 | Starts with UTF-8 BOM: yes |
| 10145 | Starts with UTF-16 BOM: no |
| 10146 | Looks like UTF-8: no |
| 10147 | Has flag LOOK_NUL: yes |
| 10148 | Has flag LOOK_CR: yes |
| @@ -10154,11 +10154,11 @@ | |
| 10154 | Has flag LOOK_INVALID: no |
| 10155 | Has flag LOOK_ODD: no |
| 10156 | Has flag LOOK_SHORT: no} |
| 10157 | |
| 10158 | utf-check 713 utf-check-713-1-101-1.jnk \ |
| 10159 | {File "%TEMP%/utf-check-713-1-101-1.jnk" has 32790 bytes. |
| 10160 | Starts with UTF-8 BOM: yes |
| 10161 | Starts with UTF-16 BOM: no |
| 10162 | Looks like UTF-8: no |
| 10163 | Has flag LOOK_NUL: yes |
| 10164 | Has flag LOOK_CR: yes |
| @@ -10170,11 +10170,11 @@ | |
| 10170 | Has flag LOOK_INVALID: no |
| 10171 | Has flag LOOK_ODD: no |
| 10172 | Has flag LOOK_SHORT: no} |
| 10173 | |
| 10174 | utf-check 714 utf-check-714-1-102-0.jnk \ |
| 10175 | {File "%TEMP%/utf-check-714-1-102-0.jnk" has 32789 bytes. |
| 10176 | Starts with UTF-8 BOM: yes |
| 10177 | Starts with UTF-16 BOM: no |
| 10178 | Looks like UTF-8: no |
| 10179 | Has flag LOOK_NUL: yes |
| 10180 | Has flag LOOK_CR: no |
| @@ -10186,11 +10186,11 @@ | |
| 10186 | Has flag LOOK_INVALID: no |
| 10187 | Has flag LOOK_ODD: no |
| 10188 | Has flag LOOK_SHORT: no} |
| 10189 | |
| 10190 | utf-check 715 utf-check-715-1-102-1.jnk \ |
| 10191 | {File "%TEMP%/utf-check-715-1-102-1.jnk" has 32790 bytes. |
| 10192 | Starts with UTF-8 BOM: yes |
| 10193 | Starts with UTF-16 BOM: no |
| 10194 | Looks like UTF-8: no |
| 10195 | Has flag LOOK_NUL: yes |
| 10196 | Has flag LOOK_CR: no |
| @@ -10202,11 +10202,11 @@ | |
| 10202 | Has flag LOOK_INVALID: no |
| 10203 | Has flag LOOK_ODD: no |
| 10204 | Has flag LOOK_SHORT: no} |
| 10205 | |
| 10206 | utf-check 716 utf-check-716-1-103-0.jnk \ |
| 10207 | {File "%TEMP%/utf-check-716-1-103-0.jnk" has 32790 bytes. |
| 10208 | Starts with UTF-8 BOM: yes |
| 10209 | Starts with UTF-16 BOM: no |
| 10210 | Looks like UTF-8: no |
| 10211 | Has flag LOOK_NUL: yes |
| 10212 | Has flag LOOK_CR: yes |
| @@ -10218,11 +10218,11 @@ | |
| 10218 | Has flag LOOK_INVALID: no |
| 10219 | Has flag LOOK_ODD: no |
| 10220 | Has flag LOOK_SHORT: no} |
| 10221 | |
| 10222 | utf-check 717 utf-check-717-1-103-1.jnk \ |
| 10223 | {File "%TEMP%/utf-check-717-1-103-1.jnk" has 32791 bytes. |
| 10224 | Starts with UTF-8 BOM: yes |
| 10225 | Starts with UTF-16 BOM: no |
| 10226 | Looks like UTF-8: no |
| 10227 | Has flag LOOK_NUL: yes |
| 10228 | Has flag LOOK_CR: yes |
| @@ -10234,11 +10234,11 @@ | |
| 10234 | Has flag LOOK_INVALID: no |
| 10235 | Has flag LOOK_ODD: no |
| 10236 | Has flag LOOK_SHORT: no} |
| 10237 | |
| 10238 | utf-check 718 utf-check-718-1-104-0.jnk \ |
| 10239 | {File "%TEMP%/utf-check-718-1-104-0.jnk" has 32774 bytes. |
| 10240 | Starts with UTF-8 BOM: yes |
| 10241 | Starts with UTF-16 BOM: no |
| 10242 | Looks like UTF-8: no |
| 10243 | Has flag LOOK_NUL: yes |
| 10244 | Has flag LOOK_CR: no |
| @@ -10250,11 +10250,11 @@ | |
| 10250 | Has flag LOOK_INVALID: no |
| 10251 | Has flag LOOK_ODD: no |
| 10252 | Has flag LOOK_SHORT: no} |
| 10253 | |
| 10254 | utf-check 719 utf-check-719-1-104-1.jnk \ |
| 10255 | {File "%TEMP%/utf-check-719-1-104-1.jnk" has 32775 bytes. |
| 10256 | Starts with UTF-8 BOM: yes |
| 10257 | Starts with UTF-16 BOM: no |
| 10258 | Looks like UTF-8: no |
| 10259 | Has flag LOOK_NUL: yes |
| 10260 | Has flag LOOK_CR: no |
| @@ -10266,11 +10266,11 @@ | |
| 10266 | Has flag LOOK_INVALID: no |
| 10267 | Has flag LOOK_ODD: no |
| 10268 | Has flag LOOK_SHORT: no} |
| 10269 | |
| 10270 | utf-check 720 utf-check-720-1-105-0.jnk \ |
| 10271 | {File "%TEMP%/utf-check-720-1-105-0.jnk" has 32775 bytes. |
| 10272 | Starts with UTF-8 BOM: yes |
| 10273 | Starts with UTF-16 BOM: no |
| 10274 | Looks like UTF-8: no |
| 10275 | Has flag LOOK_NUL: yes |
| 10276 | Has flag LOOK_CR: yes |
| @@ -10282,11 +10282,11 @@ | |
| 10282 | Has flag LOOK_INVALID: no |
| 10283 | Has flag LOOK_ODD: no |
| 10284 | Has flag LOOK_SHORT: no} |
| 10285 | |
| 10286 | utf-check 721 utf-check-721-1-105-1.jnk \ |
| 10287 | {File "%TEMP%/utf-check-721-1-105-1.jnk" has 32776 bytes. |
| 10288 | Starts with UTF-8 BOM: yes |
| 10289 | Starts with UTF-16 BOM: no |
| 10290 | Looks like UTF-8: no |
| 10291 | Has flag LOOK_NUL: yes |
| 10292 | Has flag LOOK_CR: yes |
| @@ -10298,11 +10298,11 @@ | |
| 10298 | Has flag LOOK_INVALID: no |
| 10299 | Has flag LOOK_ODD: no |
| 10300 | Has flag LOOK_SHORT: no} |
| 10301 | |
| 10302 | utf-check 722 utf-check-722-1-106-0.jnk \ |
| 10303 | {File "%TEMP%/utf-check-722-1-106-0.jnk" has 32775 bytes. |
| 10304 | Starts with UTF-8 BOM: yes |
| 10305 | Starts with UTF-16 BOM: no |
| 10306 | Looks like UTF-8: no |
| 10307 | Has flag LOOK_NUL: yes |
| 10308 | Has flag LOOK_CR: no |
| @@ -10314,11 +10314,11 @@ | |
| 10314 | Has flag LOOK_INVALID: no |
| 10315 | Has flag LOOK_ODD: no |
| 10316 | Has flag LOOK_SHORT: no} |
| 10317 | |
| 10318 | utf-check 723 utf-check-723-1-106-1.jnk \ |
| 10319 | {File "%TEMP%/utf-check-723-1-106-1.jnk" has 32776 bytes. |
| 10320 | Starts with UTF-8 BOM: yes |
| 10321 | Starts with UTF-16 BOM: no |
| 10322 | Looks like UTF-8: no |
| 10323 | Has flag LOOK_NUL: yes |
| 10324 | Has flag LOOK_CR: no |
| @@ -10330,11 +10330,11 @@ | |
| 10330 | Has flag LOOK_INVALID: no |
| 10331 | Has flag LOOK_ODD: no |
| 10332 | Has flag LOOK_SHORT: no} |
| 10333 | |
| 10334 | utf-check 724 utf-check-724-1-107-0.jnk \ |
| 10335 | {File "%TEMP%/utf-check-724-1-107-0.jnk" has 32776 bytes. |
| 10336 | Starts with UTF-8 BOM: yes |
| 10337 | Starts with UTF-16 BOM: no |
| 10338 | Looks like UTF-8: no |
| 10339 | Has flag LOOK_NUL: yes |
| 10340 | Has flag LOOK_CR: yes |
| @@ -10346,11 +10346,11 @@ | |
| 10346 | Has flag LOOK_INVALID: no |
| 10347 | Has flag LOOK_ODD: no |
| 10348 | Has flag LOOK_SHORT: no} |
| 10349 | |
| 10350 | utf-check 725 utf-check-725-1-107-1.jnk \ |
| 10351 | {File "%TEMP%/utf-check-725-1-107-1.jnk" has 32777 bytes. |
| 10352 | Starts with UTF-8 BOM: yes |
| 10353 | Starts with UTF-16 BOM: no |
| 10354 | Looks like UTF-8: no |
| 10355 | Has flag LOOK_NUL: yes |
| 10356 | Has flag LOOK_CR: yes |
| @@ -10362,11 +10362,11 @@ | |
| 10362 | Has flag LOOK_INVALID: no |
| 10363 | Has flag LOOK_ODD: no |
| 10364 | Has flag LOOK_SHORT: no} |
| 10365 | |
| 10366 | utf-check 726 utf-check-726-1-108-0.jnk \ |
| 10367 | {File "%TEMP%/utf-check-726-1-108-0.jnk" has 32789 bytes. |
| 10368 | Starts with UTF-8 BOM: yes |
| 10369 | Starts with UTF-16 BOM: no |
| 10370 | Looks like UTF-8: no |
| 10371 | Has flag LOOK_NUL: yes |
| 10372 | Has flag LOOK_CR: no |
| @@ -10378,11 +10378,11 @@ | |
| 10378 | Has flag LOOK_INVALID: no |
| 10379 | Has flag LOOK_ODD: no |
| 10380 | Has flag LOOK_SHORT: no} |
| 10381 | |
| 10382 | utf-check 727 utf-check-727-1-108-1.jnk \ |
| 10383 | {File "%TEMP%/utf-check-727-1-108-1.jnk" has 32790 bytes. |
| 10384 | Starts with UTF-8 BOM: yes |
| 10385 | Starts with UTF-16 BOM: no |
| 10386 | Looks like UTF-8: no |
| 10387 | Has flag LOOK_NUL: yes |
| 10388 | Has flag LOOK_CR: no |
| @@ -10394,11 +10394,11 @@ | |
| 10394 | Has flag LOOK_INVALID: no |
| 10395 | Has flag LOOK_ODD: no |
| 10396 | Has flag LOOK_SHORT: no} |
| 10397 | |
| 10398 | utf-check 728 utf-check-728-1-109-0.jnk \ |
| 10399 | {File "%TEMP%/utf-check-728-1-109-0.jnk" has 32790 bytes. |
| 10400 | Starts with UTF-8 BOM: yes |
| 10401 | Starts with UTF-16 BOM: no |
| 10402 | Looks like UTF-8: no |
| 10403 | Has flag LOOK_NUL: yes |
| 10404 | Has flag LOOK_CR: yes |
| @@ -10410,11 +10410,11 @@ | |
| 10410 | Has flag LOOK_INVALID: no |
| 10411 | Has flag LOOK_ODD: no |
| 10412 | Has flag LOOK_SHORT: no} |
| 10413 | |
| 10414 | utf-check 729 utf-check-729-1-109-1.jnk \ |
| 10415 | {File "%TEMP%/utf-check-729-1-109-1.jnk" has 32791 bytes. |
| 10416 | Starts with UTF-8 BOM: yes |
| 10417 | Starts with UTF-16 BOM: no |
| 10418 | Looks like UTF-8: no |
| 10419 | Has flag LOOK_NUL: yes |
| 10420 | Has flag LOOK_CR: yes |
| @@ -10426,11 +10426,11 @@ | |
| 10426 | Has flag LOOK_INVALID: no |
| 10427 | Has flag LOOK_ODD: no |
| 10428 | Has flag LOOK_SHORT: no} |
| 10429 | |
| 10430 | utf-check 730 utf-check-730-1-110-0.jnk \ |
| 10431 | {File "%TEMP%/utf-check-730-1-110-0.jnk" has 32790 bytes. |
| 10432 | Starts with UTF-8 BOM: yes |
| 10433 | Starts with UTF-16 BOM: no |
| 10434 | Looks like UTF-8: no |
| 10435 | Has flag LOOK_NUL: yes |
| 10436 | Has flag LOOK_CR: no |
| @@ -10442,11 +10442,11 @@ | |
| 10442 | Has flag LOOK_INVALID: no |
| 10443 | Has flag LOOK_ODD: no |
| 10444 | Has flag LOOK_SHORT: no} |
| 10445 | |
| 10446 | utf-check 731 utf-check-731-1-110-1.jnk \ |
| 10447 | {File "%TEMP%/utf-check-731-1-110-1.jnk" has 32791 bytes. |
| 10448 | Starts with UTF-8 BOM: yes |
| 10449 | Starts with UTF-16 BOM: no |
| 10450 | Looks like UTF-8: no |
| 10451 | Has flag LOOK_NUL: yes |
| 10452 | Has flag LOOK_CR: no |
| @@ -10458,11 +10458,11 @@ | |
| 10458 | Has flag LOOK_INVALID: no |
| 10459 | Has flag LOOK_ODD: no |
| 10460 | Has flag LOOK_SHORT: no} |
| 10461 | |
| 10462 | utf-check 732 utf-check-732-1-111-0.jnk \ |
| 10463 | {File "%TEMP%/utf-check-732-1-111-0.jnk" has 32791 bytes. |
| 10464 | Starts with UTF-8 BOM: yes |
| 10465 | Starts with UTF-16 BOM: no |
| 10466 | Looks like UTF-8: no |
| 10467 | Has flag LOOK_NUL: yes |
| 10468 | Has flag LOOK_CR: yes |
| @@ -10474,11 +10474,11 @@ | |
| 10474 | Has flag LOOK_INVALID: no |
| 10475 | Has flag LOOK_ODD: no |
| 10476 | Has flag LOOK_SHORT: no} |
| 10477 | |
| 10478 | utf-check 733 utf-check-733-1-111-1.jnk \ |
| 10479 | {File "%TEMP%/utf-check-733-1-111-1.jnk" has 32792 bytes. |
| 10480 | Starts with UTF-8 BOM: yes |
| 10481 | Starts with UTF-16 BOM: no |
| 10482 | Looks like UTF-8: no |
| 10483 | Has flag LOOK_NUL: yes |
| 10484 | Has flag LOOK_CR: yes |
| @@ -16026,11 +16026,11 @@ | |
| 16026 | Has flag LOOK_INVALID: yes |
| 16027 | Has flag LOOK_ODD: no |
| 16028 | Has flag LOOK_SHORT: no} |
| 16029 | |
| 16030 | utf-check 1080 utf-check-1080-2-80-0.jnk \ |
| 16031 | {File "%TEMP%/utf-check-1080-2-80-0.jnk" has 65540 bytes. |
| 16032 | Starts with UTF-8 BOM: no |
| 16033 | Starts with UTF-16 BOM: yes |
| 16034 | Looks like UTF-16: no |
| 16035 | Has flag LOOK_NUL: no |
| 16036 | Has flag LOOK_CR: no |
| @@ -16042,11 +16042,11 @@ | |
| 16042 | Has flag LOOK_INVALID: no |
| 16043 | Has flag LOOK_ODD: no |
| 16044 | Has flag LOOK_SHORT: no} |
| 16045 | |
| 16046 | utf-check 1081 utf-check-1081-2-80-1.jnk \ |
| 16047 | {File "%TEMP%/utf-check-1081-2-80-1.jnk" has 65541 bytes. |
| 16048 | Starts with UTF-8 BOM: no |
| 16049 | Starts with UTF-16 BOM: yes |
| 16050 | Looks like UTF-8: no |
| 16051 | Has flag LOOK_NUL: yes |
| 16052 | Has flag LOOK_CR: no |
| @@ -16058,11 +16058,11 @@ | |
| 16058 | Has flag LOOK_INVALID: yes |
| 16059 | Has flag LOOK_ODD: no |
| 16060 | Has flag LOOK_SHORT: no} |
| 16061 | |
| 16062 | utf-check 1082 utf-check-1082-2-81-0.jnk \ |
| 16063 | {File "%TEMP%/utf-check-1082-2-81-0.jnk" has 65542 bytes. |
| 16064 | Starts with UTF-8 BOM: no |
| 16065 | Starts with UTF-16 BOM: yes |
| 16066 | Looks like UTF-16: no |
| 16067 | Has flag LOOK_NUL: no |
| 16068 | Has flag LOOK_CR: yes |
| @@ -16074,11 +16074,11 @@ | |
| 16074 | Has flag LOOK_INVALID: no |
| 16075 | Has flag LOOK_ODD: no |
| 16076 | Has flag LOOK_SHORT: no} |
| 16077 | |
| 16078 | utf-check 1083 utf-check-1083-2-81-1.jnk \ |
| 16079 | {File "%TEMP%/utf-check-1083-2-81-1.jnk" has 65543 bytes. |
| 16080 | Starts with UTF-8 BOM: no |
| 16081 | Starts with UTF-16 BOM: yes |
| 16082 | Looks like UTF-8: no |
| 16083 | Has flag LOOK_NUL: yes |
| 16084 | Has flag LOOK_CR: yes |
| @@ -16090,11 +16090,11 @@ | |
| 16090 | Has flag LOOK_INVALID: yes |
| 16091 | Has flag LOOK_ODD: no |
| 16092 | Has flag LOOK_SHORT: no} |
| 16093 | |
| 16094 | utf-check 1084 utf-check-1084-2-82-0.jnk \ |
| 16095 | {File "%TEMP%/utf-check-1084-2-82-0.jnk" has 65542 bytes. |
| 16096 | Starts with UTF-8 BOM: no |
| 16097 | Starts with UTF-16 BOM: yes |
| 16098 | Looks like UTF-16: no |
| 16099 | Has flag LOOK_NUL: no |
| 16100 | Has flag LOOK_CR: no |
| @@ -16106,11 +16106,11 @@ | |
| 16106 | Has flag LOOK_INVALID: no |
| 16107 | Has flag LOOK_ODD: no |
| 16108 | Has flag LOOK_SHORT: no} |
| 16109 | |
| 16110 | utf-check 1085 utf-check-1085-2-82-1.jnk \ |
| 16111 | {File "%TEMP%/utf-check-1085-2-82-1.jnk" has 65543 bytes. |
| 16112 | Starts with UTF-8 BOM: no |
| 16113 | Starts with UTF-16 BOM: yes |
| 16114 | Looks like UTF-8: no |
| 16115 | Has flag LOOK_NUL: yes |
| 16116 | Has flag LOOK_CR: no |
| @@ -16122,11 +16122,11 @@ | |
| 16122 | Has flag LOOK_INVALID: yes |
| 16123 | Has flag LOOK_ODD: no |
| 16124 | Has flag LOOK_SHORT: no} |
| 16125 | |
| 16126 | utf-check 1086 utf-check-1086-2-83-0.jnk \ |
| 16127 | {File "%TEMP%/utf-check-1086-2-83-0.jnk" has 65544 bytes. |
| 16128 | Starts with UTF-8 BOM: no |
| 16129 | Starts with UTF-16 BOM: yes |
| 16130 | Looks like UTF-16: no |
| 16131 | Has flag LOOK_NUL: no |
| 16132 | Has flag LOOK_CR: yes |
| @@ -16138,11 +16138,11 @@ | |
| 16138 | Has flag LOOK_INVALID: no |
| 16139 | Has flag LOOK_ODD: no |
| 16140 | Has flag LOOK_SHORT: no} |
| 16141 | |
| 16142 | utf-check 1087 utf-check-1087-2-83-1.jnk \ |
| 16143 | {File "%TEMP%/utf-check-1087-2-83-1.jnk" has 65545 bytes. |
| 16144 | Starts with UTF-8 BOM: no |
| 16145 | Starts with UTF-16 BOM: yes |
| 16146 | Looks like UTF-8: no |
| 16147 | Has flag LOOK_NUL: yes |
| 16148 | Has flag LOOK_CR: yes |
| @@ -16154,11 +16154,11 @@ | |
| 16154 | Has flag LOOK_INVALID: yes |
| 16155 | Has flag LOOK_ODD: no |
| 16156 | Has flag LOOK_SHORT: no} |
| 16157 | |
| 16158 | utf-check 1088 utf-check-1088-2-84-0.jnk \ |
| 16159 | {File "%TEMP%/utf-check-1088-2-84-0.jnk" has 65570 bytes. |
| 16160 | Starts with UTF-8 BOM: no |
| 16161 | Starts with UTF-16 BOM: yes |
| 16162 | Looks like UTF-16: no |
| 16163 | Has flag LOOK_NUL: no |
| 16164 | Has flag LOOK_CR: no |
| @@ -16170,11 +16170,11 @@ | |
| 16170 | Has flag LOOK_INVALID: no |
| 16171 | Has flag LOOK_ODD: no |
| 16172 | Has flag LOOK_SHORT: no} |
| 16173 | |
| 16174 | utf-check 1089 utf-check-1089-2-84-1.jnk \ |
| 16175 | {File "%TEMP%/utf-check-1089-2-84-1.jnk" has 65571 bytes. |
| 16176 | Starts with UTF-8 BOM: no |
| 16177 | Starts with UTF-16 BOM: yes |
| 16178 | Looks like UTF-8: no |
| 16179 | Has flag LOOK_NUL: yes |
| 16180 | Has flag LOOK_CR: no |
| @@ -16186,11 +16186,11 @@ | |
| 16186 | Has flag LOOK_INVALID: yes |
| 16187 | Has flag LOOK_ODD: no |
| 16188 | Has flag LOOK_SHORT: no} |
| 16189 | |
| 16190 | utf-check 1090 utf-check-1090-2-85-0.jnk \ |
| 16191 | {File "%TEMP%/utf-check-1090-2-85-0.jnk" has 65572 bytes. |
| 16192 | Starts with UTF-8 BOM: no |
| 16193 | Starts with UTF-16 BOM: yes |
| 16194 | Looks like UTF-16: no |
| 16195 | Has flag LOOK_NUL: no |
| 16196 | Has flag LOOK_CR: yes |
| @@ -16202,11 +16202,11 @@ | |
| 16202 | Has flag LOOK_INVALID: no |
| 16203 | Has flag LOOK_ODD: no |
| 16204 | Has flag LOOK_SHORT: no} |
| 16205 | |
| 16206 | utf-check 1091 utf-check-1091-2-85-1.jnk \ |
| 16207 | {File "%TEMP%/utf-check-1091-2-85-1.jnk" has 65573 bytes. |
| 16208 | Starts with UTF-8 BOM: no |
| 16209 | Starts with UTF-16 BOM: yes |
| 16210 | Looks like UTF-8: no |
| 16211 | Has flag LOOK_NUL: yes |
| 16212 | Has flag LOOK_CR: yes |
| @@ -16218,11 +16218,11 @@ | |
| 16218 | Has flag LOOK_INVALID: yes |
| 16219 | Has flag LOOK_ODD: no |
| 16220 | Has flag LOOK_SHORT: no} |
| 16221 | |
| 16222 | utf-check 1092 utf-check-1092-2-86-0.jnk \ |
| 16223 | {File "%TEMP%/utf-check-1092-2-86-0.jnk" has 65572 bytes. |
| 16224 | Starts with UTF-8 BOM: no |
| 16225 | Starts with UTF-16 BOM: yes |
| 16226 | Looks like UTF-16: no |
| 16227 | Has flag LOOK_NUL: no |
| 16228 | Has flag LOOK_CR: no |
| @@ -16234,11 +16234,11 @@ | |
| 16234 | Has flag LOOK_INVALID: no |
| 16235 | Has flag LOOK_ODD: no |
| 16236 | Has flag LOOK_SHORT: no} |
| 16237 | |
| 16238 | utf-check 1093 utf-check-1093-2-86-1.jnk \ |
| 16239 | {File "%TEMP%/utf-check-1093-2-86-1.jnk" has 65573 bytes. |
| 16240 | Starts with UTF-8 BOM: no |
| 16241 | Starts with UTF-16 BOM: yes |
| 16242 | Looks like UTF-8: no |
| 16243 | Has flag LOOK_NUL: yes |
| 16244 | Has flag LOOK_CR: no |
| @@ -16250,11 +16250,11 @@ | |
| 16250 | Has flag LOOK_INVALID: yes |
| 16251 | Has flag LOOK_ODD: no |
| 16252 | Has flag LOOK_SHORT: no} |
| 16253 | |
| 16254 | utf-check 1094 utf-check-1094-2-87-0.jnk \ |
| 16255 | {File "%TEMP%/utf-check-1094-2-87-0.jnk" has 65574 bytes. |
| 16256 | Starts with UTF-8 BOM: no |
| 16257 | Starts with UTF-16 BOM: yes |
| 16258 | Looks like UTF-16: no |
| 16259 | Has flag LOOK_NUL: no |
| 16260 | Has flag LOOK_CR: yes |
| @@ -16266,11 +16266,11 @@ | |
| 16266 | Has flag LOOK_INVALID: no |
| 16267 | Has flag LOOK_ODD: no |
| 16268 | Has flag LOOK_SHORT: no} |
| 16269 | |
| 16270 | utf-check 1095 utf-check-1095-2-87-1.jnk \ |
| 16271 | {File "%TEMP%/utf-check-1095-2-87-1.jnk" has 65575 bytes. |
| 16272 | Starts with UTF-8 BOM: no |
| 16273 | Starts with UTF-16 BOM: yes |
| 16274 | Looks like UTF-8: no |
| 16275 | Has flag LOOK_NUL: yes |
| 16276 | Has flag LOOK_CR: yes |
| @@ -16282,11 +16282,11 @@ | |
| 16282 | Has flag LOOK_INVALID: yes |
| 16283 | Has flag LOOK_ODD: no |
| 16284 | Has flag LOOK_SHORT: no} |
| 16285 | |
| 16286 | utf-check 1096 utf-check-1096-2-88-0.jnk \ |
| 16287 | {File "%TEMP%/utf-check-1096-2-88-0.jnk" has 65542 bytes. |
| 16288 | Starts with UTF-8 BOM: no |
| 16289 | Starts with UTF-16 BOM: no |
| 16290 | Looks like UTF-8: no |
| 16291 | Has flag LOOK_NUL: yes |
| 16292 | Has flag LOOK_CR: no |
| @@ -16298,11 +16298,11 @@ | |
| 16298 | Has flag LOOK_INVALID: yes |
| 16299 | Has flag LOOK_ODD: no |
| 16300 | Has flag LOOK_SHORT: no} |
| 16301 | |
| 16302 | utf-check 1097 utf-check-1097-2-88-1.jnk \ |
| 16303 | {File "%TEMP%/utf-check-1097-2-88-1.jnk" has 65543 bytes. |
| 16304 | Starts with UTF-8 BOM: no |
| 16305 | Starts with UTF-16 BOM: no |
| 16306 | Looks like UTF-8: no |
| 16307 | Has flag LOOK_NUL: yes |
| 16308 | Has flag LOOK_CR: no |
| @@ -16314,11 +16314,11 @@ | |
| 16314 | Has flag LOOK_INVALID: yes |
| 16315 | Has flag LOOK_ODD: no |
| 16316 | Has flag LOOK_SHORT: no} |
| 16317 | |
| 16318 | utf-check 1098 utf-check-1098-2-89-0.jnk \ |
| 16319 | {File "%TEMP%/utf-check-1098-2-89-0.jnk" has 65544 bytes. |
| 16320 | Starts with UTF-8 BOM: no |
| 16321 | Starts with UTF-16 BOM: no |
| 16322 | Looks like UTF-8: no |
| 16323 | Has flag LOOK_NUL: yes |
| 16324 | Has flag LOOK_CR: yes |
| @@ -16330,11 +16330,11 @@ | |
| 16330 | Has flag LOOK_INVALID: yes |
| 16331 | Has flag LOOK_ODD: no |
| 16332 | Has flag LOOK_SHORT: no} |
| 16333 | |
| 16334 | utf-check 1099 utf-check-1099-2-89-1.jnk \ |
| 16335 | {File "%TEMP%/utf-check-1099-2-89-1.jnk" has 65545 bytes. |
| 16336 | Starts with UTF-8 BOM: no |
| 16337 | Starts with UTF-16 BOM: no |
| 16338 | Looks like UTF-8: no |
| 16339 | Has flag LOOK_NUL: yes |
| 16340 | Has flag LOOK_CR: yes |
| @@ -16346,11 +16346,11 @@ | |
| 16346 | Has flag LOOK_INVALID: yes |
| 16347 | Has flag LOOK_ODD: no |
| 16348 | Has flag LOOK_SHORT: no} |
| 16349 | |
| 16350 | utf-check 1100 utf-check-1100-2-90-0.jnk \ |
| 16351 | {File "%TEMP%/utf-check-1100-2-90-0.jnk" has 65544 bytes. |
| 16352 | Starts with UTF-8 BOM: no |
| 16353 | Starts with UTF-16 BOM: no |
| 16354 | Looks like UTF-8: no |
| 16355 | Has flag LOOK_NUL: yes |
| 16356 | Has flag LOOK_CR: no |
| @@ -16362,11 +16362,11 @@ | |
| 16362 | Has flag LOOK_INVALID: yes |
| 16363 | Has flag LOOK_ODD: no |
| 16364 | Has flag LOOK_SHORT: no} |
| 16365 | |
| 16366 | utf-check 1101 utf-check-1101-2-90-1.jnk \ |
| 16367 | {File "%TEMP%/utf-check-1101-2-90-1.jnk" has 65545 bytes. |
| 16368 | Starts with UTF-8 BOM: no |
| 16369 | Starts with UTF-16 BOM: no |
| 16370 | Looks like UTF-8: no |
| 16371 | Has flag LOOK_NUL: yes |
| 16372 | Has flag LOOK_CR: no |
| @@ -16378,11 +16378,11 @@ | |
| 16378 | Has flag LOOK_INVALID: yes |
| 16379 | Has flag LOOK_ODD: no |
| 16380 | Has flag LOOK_SHORT: no} |
| 16381 | |
| 16382 | utf-check 1102 utf-check-1102-2-91-0.jnk \ |
| 16383 | {File "%TEMP%/utf-check-1102-2-91-0.jnk" has 65546 bytes. |
| 16384 | Starts with UTF-8 BOM: no |
| 16385 | Starts with UTF-16 BOM: no |
| 16386 | Looks like UTF-8: no |
| 16387 | Has flag LOOK_NUL: yes |
| 16388 | Has flag LOOK_CR: yes |
| @@ -16394,11 +16394,11 @@ | |
| 16394 | Has flag LOOK_INVALID: yes |
| 16395 | Has flag LOOK_ODD: no |
| 16396 | Has flag LOOK_SHORT: no} |
| 16397 | |
| 16398 | utf-check 1103 utf-check-1103-2-91-1.jnk \ |
| 16399 | {File "%TEMP%/utf-check-1103-2-91-1.jnk" has 65547 bytes. |
| 16400 | Starts with UTF-8 BOM: no |
| 16401 | Starts with UTF-16 BOM: no |
| 16402 | Looks like UTF-8: no |
| 16403 | Has flag LOOK_NUL: yes |
| 16404 | Has flag LOOK_CR: yes |
| @@ -16410,11 +16410,11 @@ | |
| 16410 | Has flag LOOK_INVALID: yes |
| 16411 | Has flag LOOK_ODD: no |
| 16412 | Has flag LOOK_SHORT: no} |
| 16413 | |
| 16414 | utf-check 1104 utf-check-1104-2-92-0.jnk \ |
| 16415 | {File "%TEMP%/utf-check-1104-2-92-0.jnk" has 65572 bytes. |
| 16416 | Starts with UTF-8 BOM: no |
| 16417 | Starts with UTF-16 BOM: no |
| 16418 | Looks like UTF-8: no |
| 16419 | Has flag LOOK_NUL: yes |
| 16420 | Has flag LOOK_CR: no |
| @@ -16426,11 +16426,11 @@ | |
| 16426 | Has flag LOOK_INVALID: yes |
| 16427 | Has flag LOOK_ODD: no |
| 16428 | Has flag LOOK_SHORT: no} |
| 16429 | |
| 16430 | utf-check 1105 utf-check-1105-2-92-1.jnk \ |
| 16431 | {File "%TEMP%/utf-check-1105-2-92-1.jnk" has 65573 bytes. |
| 16432 | Starts with UTF-8 BOM: no |
| 16433 | Starts with UTF-16 BOM: no |
| 16434 | Looks like UTF-8: no |
| 16435 | Has flag LOOK_NUL: yes |
| 16436 | Has flag LOOK_CR: no |
| @@ -16442,11 +16442,11 @@ | |
| 16442 | Has flag LOOK_INVALID: yes |
| 16443 | Has flag LOOK_ODD: no |
| 16444 | Has flag LOOK_SHORT: no} |
| 16445 | |
| 16446 | utf-check 1106 utf-check-1106-2-93-0.jnk \ |
| 16447 | {File "%TEMP%/utf-check-1106-2-93-0.jnk" has 65574 bytes. |
| 16448 | Starts with UTF-8 BOM: no |
| 16449 | Starts with UTF-16 BOM: no |
| 16450 | Looks like UTF-8: no |
| 16451 | Has flag LOOK_NUL: yes |
| 16452 | Has flag LOOK_CR: yes |
| @@ -16458,11 +16458,11 @@ | |
| 16458 | Has flag LOOK_INVALID: yes |
| 16459 | Has flag LOOK_ODD: no |
| 16460 | Has flag LOOK_SHORT: no} |
| 16461 | |
| 16462 | utf-check 1107 utf-check-1107-2-93-1.jnk \ |
| 16463 | {File "%TEMP%/utf-check-1107-2-93-1.jnk" has 65575 bytes. |
| 16464 | Starts with UTF-8 BOM: no |
| 16465 | Starts with UTF-16 BOM: no |
| 16466 | Looks like UTF-8: no |
| 16467 | Has flag LOOK_NUL: yes |
| 16468 | Has flag LOOK_CR: yes |
| @@ -16474,11 +16474,11 @@ | |
| 16474 | Has flag LOOK_INVALID: yes |
| 16475 | Has flag LOOK_ODD: no |
| 16476 | Has flag LOOK_SHORT: no} |
| 16477 | |
| 16478 | utf-check 1108 utf-check-1108-2-94-0.jnk \ |
| 16479 | {File "%TEMP%/utf-check-1108-2-94-0.jnk" has 65574 bytes. |
| 16480 | Starts with UTF-8 BOM: no |
| 16481 | Starts with UTF-16 BOM: no |
| 16482 | Looks like UTF-8: no |
| 16483 | Has flag LOOK_NUL: yes |
| 16484 | Has flag LOOK_CR: no |
| @@ -16490,11 +16490,11 @@ | |
| 16490 | Has flag LOOK_INVALID: yes |
| 16491 | Has flag LOOK_ODD: no |
| 16492 | Has flag LOOK_SHORT: no} |
| 16493 | |
| 16494 | utf-check 1109 utf-check-1109-2-94-1.jnk \ |
| 16495 | {File "%TEMP%/utf-check-1109-2-94-1.jnk" has 65575 bytes. |
| 16496 | Starts with UTF-8 BOM: no |
| 16497 | Starts with UTF-16 BOM: no |
| 16498 | Looks like UTF-8: no |
| 16499 | Has flag LOOK_NUL: yes |
| 16500 | Has flag LOOK_CR: no |
| @@ -16506,11 +16506,11 @@ | |
| 16506 | Has flag LOOK_INVALID: yes |
| 16507 | Has flag LOOK_ODD: no |
| 16508 | Has flag LOOK_SHORT: no} |
| 16509 | |
| 16510 | utf-check 1110 utf-check-1110-2-95-0.jnk \ |
| 16511 | {File "%TEMP%/utf-check-1110-2-95-0.jnk" has 65576 bytes. |
| 16512 | Starts with UTF-8 BOM: no |
| 16513 | Starts with UTF-16 BOM: no |
| 16514 | Looks like UTF-8: no |
| 16515 | Has flag LOOK_NUL: yes |
| 16516 | Has flag LOOK_CR: yes |
| @@ -16522,11 +16522,11 @@ | |
| 16522 | Has flag LOOK_INVALID: yes |
| 16523 | Has flag LOOK_ODD: no |
| 16524 | Has flag LOOK_SHORT: no} |
| 16525 | |
| 16526 | utf-check 1111 utf-check-1111-2-95-1.jnk \ |
| 16527 | {File "%TEMP%/utf-check-1111-2-95-1.jnk" has 65577 bytes. |
| 16528 | Starts with UTF-8 BOM: no |
| 16529 | Starts with UTF-16 BOM: no |
| 16530 | Looks like UTF-8: no |
| 16531 | Has flag LOOK_NUL: yes |
| 16532 | Has flag LOOK_CR: yes |
| @@ -16538,11 +16538,11 @@ | |
| 16538 | Has flag LOOK_INVALID: yes |
| 16539 | Has flag LOOK_ODD: no |
| 16540 | Has flag LOOK_SHORT: no} |
| 16541 | |
| 16542 | utf-check 1112 utf-check-1112-2-96-0.jnk \ |
| 16543 | {File "%TEMP%/utf-check-1112-2-96-0.jnk" has 65542 bytes. |
| 16544 | Starts with UTF-8 BOM: no |
| 16545 | Starts with UTF-16 BOM: yes |
| 16546 | Looks like UTF-16: no |
| 16547 | Has flag LOOK_NUL: yes |
| 16548 | Has flag LOOK_CR: no |
| @@ -16554,11 +16554,11 @@ | |
| 16554 | Has flag LOOK_INVALID: no |
| 16555 | Has flag LOOK_ODD: no |
| 16556 | Has flag LOOK_SHORT: no} |
| 16557 | |
| 16558 | utf-check 1113 utf-check-1113-2-96-1.jnk \ |
| 16559 | {File "%TEMP%/utf-check-1113-2-96-1.jnk" has 65543 bytes. |
| 16560 | Starts with UTF-8 BOM: no |
| 16561 | Starts with UTF-16 BOM: yes |
| 16562 | Looks like UTF-8: no |
| 16563 | Has flag LOOK_NUL: yes |
| 16564 | Has flag LOOK_CR: no |
| @@ -16570,11 +16570,11 @@ | |
| 16570 | Has flag LOOK_INVALID: yes |
| 16571 | Has flag LOOK_ODD: no |
| 16572 | Has flag LOOK_SHORT: no} |
| 16573 | |
| 16574 | utf-check 1114 utf-check-1114-2-97-0.jnk \ |
| 16575 | {File "%TEMP%/utf-check-1114-2-97-0.jnk" has 65544 bytes. |
| 16576 | Starts with UTF-8 BOM: no |
| 16577 | Starts with UTF-16 BOM: yes |
| 16578 | Looks like UTF-16: no |
| 16579 | Has flag LOOK_NUL: yes |
| 16580 | Has flag LOOK_CR: yes |
| @@ -16586,11 +16586,11 @@ | |
| 16586 | Has flag LOOK_INVALID: no |
| 16587 | Has flag LOOK_ODD: no |
| 16588 | Has flag LOOK_SHORT: no} |
| 16589 | |
| 16590 | utf-check 1115 utf-check-1115-2-97-1.jnk \ |
| 16591 | {File "%TEMP%/utf-check-1115-2-97-1.jnk" has 65545 bytes. |
| 16592 | Starts with UTF-8 BOM: no |
| 16593 | Starts with UTF-16 BOM: yes |
| 16594 | Looks like UTF-8: no |
| 16595 | Has flag LOOK_NUL: yes |
| 16596 | Has flag LOOK_CR: yes |
| @@ -16602,11 +16602,11 @@ | |
| 16602 | Has flag LOOK_INVALID: yes |
| 16603 | Has flag LOOK_ODD: no |
| 16604 | Has flag LOOK_SHORT: no} |
| 16605 | |
| 16606 | utf-check 1116 utf-check-1116-2-98-0.jnk \ |
| 16607 | {File "%TEMP%/utf-check-1116-2-98-0.jnk" has 65544 bytes. |
| 16608 | Starts with UTF-8 BOM: no |
| 16609 | Starts with UTF-16 BOM: yes |
| 16610 | Looks like UTF-16: no |
| 16611 | Has flag LOOK_NUL: yes |
| 16612 | Has flag LOOK_CR: no |
| @@ -16618,11 +16618,11 @@ | |
| 16618 | Has flag LOOK_INVALID: no |
| 16619 | Has flag LOOK_ODD: no |
| 16620 | Has flag LOOK_SHORT: no} |
| 16621 | |
| 16622 | utf-check 1117 utf-check-1117-2-98-1.jnk \ |
| 16623 | {File "%TEMP%/utf-check-1117-2-98-1.jnk" has 65545 bytes. |
| 16624 | Starts with UTF-8 BOM: no |
| 16625 | Starts with UTF-16 BOM: yes |
| 16626 | Looks like UTF-8: no |
| 16627 | Has flag LOOK_NUL: yes |
| 16628 | Has flag LOOK_CR: no |
| @@ -16634,11 +16634,11 @@ | |
| 16634 | Has flag LOOK_INVALID: yes |
| 16635 | Has flag LOOK_ODD: no |
| 16636 | Has flag LOOK_SHORT: no} |
| 16637 | |
| 16638 | utf-check 1118 utf-check-1118-2-99-0.jnk \ |
| 16639 | {File "%TEMP%/utf-check-1118-2-99-0.jnk" has 65546 bytes. |
| 16640 | Starts with UTF-8 BOM: no |
| 16641 | Starts with UTF-16 BOM: yes |
| 16642 | Looks like UTF-16: no |
| 16643 | Has flag LOOK_NUL: yes |
| 16644 | Has flag LOOK_CR: yes |
| @@ -16650,11 +16650,11 @@ | |
| 16650 | Has flag LOOK_INVALID: no |
| 16651 | Has flag LOOK_ODD: no |
| 16652 | Has flag LOOK_SHORT: no} |
| 16653 | |
| 16654 | utf-check 1119 utf-check-1119-2-99-1.jnk \ |
| 16655 | {File "%TEMP%/utf-check-1119-2-99-1.jnk" has 65547 bytes. |
| 16656 | Starts with UTF-8 BOM: no |
| 16657 | Starts with UTF-16 BOM: yes |
| 16658 | Looks like UTF-8: no |
| 16659 | Has flag LOOK_NUL: yes |
| 16660 | Has flag LOOK_CR: yes |
| @@ -16666,11 +16666,11 @@ | |
| 16666 | Has flag LOOK_INVALID: yes |
| 16667 | Has flag LOOK_ODD: no |
| 16668 | Has flag LOOK_SHORT: no} |
| 16669 | |
| 16670 | utf-check 1120 utf-check-1120-2-100-0.jnk \ |
| 16671 | {File "%TEMP%/utf-check-1120-2-100-0.jnk" has 65572 bytes. |
| 16672 | Starts with UTF-8 BOM: no |
| 16673 | Starts with UTF-16 BOM: yes |
| 16674 | Looks like UTF-16: no |
| 16675 | Has flag LOOK_NUL: yes |
| 16676 | Has flag LOOK_CR: no |
| @@ -16682,11 +16682,11 @@ | |
| 16682 | Has flag LOOK_INVALID: no |
| 16683 | Has flag LOOK_ODD: no |
| 16684 | Has flag LOOK_SHORT: no} |
| 16685 | |
| 16686 | utf-check 1121 utf-check-1121-2-100-1.jnk \ |
| 16687 | {File "%TEMP%/utf-check-1121-2-100-1.jnk" has 65573 bytes. |
| 16688 | Starts with UTF-8 BOM: no |
| 16689 | Starts with UTF-16 BOM: yes |
| 16690 | Looks like UTF-8: no |
| 16691 | Has flag LOOK_NUL: yes |
| 16692 | Has flag LOOK_CR: no |
| @@ -16698,11 +16698,11 @@ | |
| 16698 | Has flag LOOK_INVALID: yes |
| 16699 | Has flag LOOK_ODD: no |
| 16700 | Has flag LOOK_SHORT: no} |
| 16701 | |
| 16702 | utf-check 1122 utf-check-1122-2-101-0.jnk \ |
| 16703 | {File "%TEMP%/utf-check-1122-2-101-0.jnk" has 65574 bytes. |
| 16704 | Starts with UTF-8 BOM: no |
| 16705 | Starts with UTF-16 BOM: yes |
| 16706 | Looks like UTF-16: no |
| 16707 | Has flag LOOK_NUL: yes |
| 16708 | Has flag LOOK_CR: yes |
| @@ -16714,11 +16714,11 @@ | |
| 16714 | Has flag LOOK_INVALID: no |
| 16715 | Has flag LOOK_ODD: no |
| 16716 | Has flag LOOK_SHORT: no} |
| 16717 | |
| 16718 | utf-check 1123 utf-check-1123-2-101-1.jnk \ |
| 16719 | {File "%TEMP%/utf-check-1123-2-101-1.jnk" has 65575 bytes. |
| 16720 | Starts with UTF-8 BOM: no |
| 16721 | Starts with UTF-16 BOM: yes |
| 16722 | Looks like UTF-8: no |
| 16723 | Has flag LOOK_NUL: yes |
| 16724 | Has flag LOOK_CR: yes |
| @@ -16730,11 +16730,11 @@ | |
| 16730 | Has flag LOOK_INVALID: yes |
| 16731 | Has flag LOOK_ODD: no |
| 16732 | Has flag LOOK_SHORT: no} |
| 16733 | |
| 16734 | utf-check 1124 utf-check-1124-2-102-0.jnk \ |
| 16735 | {File "%TEMP%/utf-check-1124-2-102-0.jnk" has 65574 bytes. |
| 16736 | Starts with UTF-8 BOM: no |
| 16737 | Starts with UTF-16 BOM: yes |
| 16738 | Looks like UTF-16: no |
| 16739 | Has flag LOOK_NUL: yes |
| 16740 | Has flag LOOK_CR: no |
| @@ -16746,11 +16746,11 @@ | |
| 16746 | Has flag LOOK_INVALID: no |
| 16747 | Has flag LOOK_ODD: no |
| 16748 | Has flag LOOK_SHORT: no} |
| 16749 | |
| 16750 | utf-check 1125 utf-check-1125-2-102-1.jnk \ |
| 16751 | {File "%TEMP%/utf-check-1125-2-102-1.jnk" has 65575 bytes. |
| 16752 | Starts with UTF-8 BOM: no |
| 16753 | Starts with UTF-16 BOM: yes |
| 16754 | Looks like UTF-8: no |
| 16755 | Has flag LOOK_NUL: yes |
| 16756 | Has flag LOOK_CR: no |
| @@ -16762,11 +16762,11 @@ | |
| 16762 | Has flag LOOK_INVALID: yes |
| 16763 | Has flag LOOK_ODD: no |
| 16764 | Has flag LOOK_SHORT: no} |
| 16765 | |
| 16766 | utf-check 1126 utf-check-1126-2-103-0.jnk \ |
| 16767 | {File "%TEMP%/utf-check-1126-2-103-0.jnk" has 65576 bytes. |
| 16768 | Starts with UTF-8 BOM: no |
| 16769 | Starts with UTF-16 BOM: yes |
| 16770 | Looks like UTF-16: no |
| 16771 | Has flag LOOK_NUL: yes |
| 16772 | Has flag LOOK_CR: yes |
| @@ -16778,11 +16778,11 @@ | |
| 16778 | Has flag LOOK_INVALID: no |
| 16779 | Has flag LOOK_ODD: no |
| 16780 | Has flag LOOK_SHORT: no} |
| 16781 | |
| 16782 | utf-check 1127 utf-check-1127-2-103-1.jnk \ |
| 16783 | {File "%TEMP%/utf-check-1127-2-103-1.jnk" has 65577 bytes. |
| 16784 | Starts with UTF-8 BOM: no |
| 16785 | Starts with UTF-16 BOM: yes |
| 16786 | Looks like UTF-8: no |
| 16787 | Has flag LOOK_NUL: yes |
| 16788 | Has flag LOOK_CR: yes |
| @@ -16794,11 +16794,11 @@ | |
| 16794 | Has flag LOOK_INVALID: yes |
| 16795 | Has flag LOOK_ODD: no |
| 16796 | Has flag LOOK_SHORT: no} |
| 16797 | |
| 16798 | utf-check 1128 utf-check-1128-2-104-0.jnk \ |
| 16799 | {File "%TEMP%/utf-check-1128-2-104-0.jnk" has 65544 bytes. |
| 16800 | Starts with UTF-8 BOM: no |
| 16801 | Starts with UTF-16 BOM: no |
| 16802 | Looks like UTF-8: no |
| 16803 | Has flag LOOK_NUL: yes |
| 16804 | Has flag LOOK_CR: no |
| @@ -16810,11 +16810,11 @@ | |
| 16810 | Has flag LOOK_INVALID: yes |
| 16811 | Has flag LOOK_ODD: no |
| 16812 | Has flag LOOK_SHORT: no} |
| 16813 | |
| 16814 | utf-check 1129 utf-check-1129-2-104-1.jnk \ |
| 16815 | {File "%TEMP%/utf-check-1129-2-104-1.jnk" has 65545 bytes. |
| 16816 | Starts with UTF-8 BOM: no |
| 16817 | Starts with UTF-16 BOM: no |
| 16818 | Looks like UTF-8: no |
| 16819 | Has flag LOOK_NUL: yes |
| 16820 | Has flag LOOK_CR: no |
| @@ -16826,11 +16826,11 @@ | |
| 16826 | Has flag LOOK_INVALID: yes |
| 16827 | Has flag LOOK_ODD: no |
| 16828 | Has flag LOOK_SHORT: no} |
| 16829 | |
| 16830 | utf-check 1130 utf-check-1130-2-105-0.jnk \ |
| 16831 | {File "%TEMP%/utf-check-1130-2-105-0.jnk" has 65546 bytes. |
| 16832 | Starts with UTF-8 BOM: no |
| 16833 | Starts with UTF-16 BOM: no |
| 16834 | Looks like UTF-8: no |
| 16835 | Has flag LOOK_NUL: yes |
| 16836 | Has flag LOOK_CR: yes |
| @@ -16842,11 +16842,11 @@ | |
| 16842 | Has flag LOOK_INVALID: yes |
| 16843 | Has flag LOOK_ODD: no |
| 16844 | Has flag LOOK_SHORT: no} |
| 16845 | |
| 16846 | utf-check 1131 utf-check-1131-2-105-1.jnk \ |
| 16847 | {File "%TEMP%/utf-check-1131-2-105-1.jnk" has 65547 bytes. |
| 16848 | Starts with UTF-8 BOM: no |
| 16849 | Starts with UTF-16 BOM: no |
| 16850 | Looks like UTF-8: no |
| 16851 | Has flag LOOK_NUL: yes |
| 16852 | Has flag LOOK_CR: yes |
| @@ -16858,11 +16858,11 @@ | |
| 16858 | Has flag LOOK_INVALID: yes |
| 16859 | Has flag LOOK_ODD: no |
| 16860 | Has flag LOOK_SHORT: no} |
| 16861 | |
| 16862 | utf-check 1132 utf-check-1132-2-106-0.jnk \ |
| 16863 | {File "%TEMP%/utf-check-1132-2-106-0.jnk" has 65546 bytes. |
| 16864 | Starts with UTF-8 BOM: no |
| 16865 | Starts with UTF-16 BOM: no |
| 16866 | Looks like UTF-8: no |
| 16867 | Has flag LOOK_NUL: yes |
| 16868 | Has flag LOOK_CR: no |
| @@ -16874,11 +16874,11 @@ | |
| 16874 | Has flag LOOK_INVALID: yes |
| 16875 | Has flag LOOK_ODD: no |
| 16876 | Has flag LOOK_SHORT: no} |
| 16877 | |
| 16878 | utf-check 1133 utf-check-1133-2-106-1.jnk \ |
| 16879 | {File "%TEMP%/utf-check-1133-2-106-1.jnk" has 65547 bytes. |
| 16880 | Starts with UTF-8 BOM: no |
| 16881 | Starts with UTF-16 BOM: no |
| 16882 | Looks like UTF-8: no |
| 16883 | Has flag LOOK_NUL: yes |
| 16884 | Has flag LOOK_CR: no |
| @@ -16890,11 +16890,11 @@ | |
| 16890 | Has flag LOOK_INVALID: yes |
| 16891 | Has flag LOOK_ODD: no |
| 16892 | Has flag LOOK_SHORT: no} |
| 16893 | |
| 16894 | utf-check 1134 utf-check-1134-2-107-0.jnk \ |
| 16895 | {File "%TEMP%/utf-check-1134-2-107-0.jnk" has 65548 bytes. |
| 16896 | Starts with UTF-8 BOM: no |
| 16897 | Starts with UTF-16 BOM: no |
| 16898 | Looks like UTF-8: no |
| 16899 | Has flag LOOK_NUL: yes |
| 16900 | Has flag LOOK_CR: yes |
| @@ -16906,11 +16906,11 @@ | |
| 16906 | Has flag LOOK_INVALID: yes |
| 16907 | Has flag LOOK_ODD: no |
| 16908 | Has flag LOOK_SHORT: no} |
| 16909 | |
| 16910 | utf-check 1135 utf-check-1135-2-107-1.jnk \ |
| 16911 | {File "%TEMP%/utf-check-1135-2-107-1.jnk" has 65549 bytes. |
| 16912 | Starts with UTF-8 BOM: no |
| 16913 | Starts with UTF-16 BOM: no |
| 16914 | Looks like UTF-8: no |
| 16915 | Has flag LOOK_NUL: yes |
| 16916 | Has flag LOOK_CR: yes |
| @@ -16922,11 +16922,11 @@ | |
| 16922 | Has flag LOOK_INVALID: yes |
| 16923 | Has flag LOOK_ODD: no |
| 16924 | Has flag LOOK_SHORT: no} |
| 16925 | |
| 16926 | utf-check 1136 utf-check-1136-2-108-0.jnk \ |
| 16927 | {File "%TEMP%/utf-check-1136-2-108-0.jnk" has 65574 bytes. |
| 16928 | Starts with UTF-8 BOM: no |
| 16929 | Starts with UTF-16 BOM: no |
| 16930 | Looks like UTF-8: no |
| 16931 | Has flag LOOK_NUL: yes |
| 16932 | Has flag LOOK_CR: no |
| @@ -16938,11 +16938,11 @@ | |
| 16938 | Has flag LOOK_INVALID: yes |
| 16939 | Has flag LOOK_ODD: no |
| 16940 | Has flag LOOK_SHORT: no} |
| 16941 | |
| 16942 | utf-check 1137 utf-check-1137-2-108-1.jnk \ |
| 16943 | {File "%TEMP%/utf-check-1137-2-108-1.jnk" has 65575 bytes. |
| 16944 | Starts with UTF-8 BOM: no |
| 16945 | Starts with UTF-16 BOM: no |
| 16946 | Looks like UTF-8: no |
| 16947 | Has flag LOOK_NUL: yes |
| 16948 | Has flag LOOK_CR: no |
| @@ -16954,11 +16954,11 @@ | |
| 16954 | Has flag LOOK_INVALID: yes |
| 16955 | Has flag LOOK_ODD: no |
| 16956 | Has flag LOOK_SHORT: no} |
| 16957 | |
| 16958 | utf-check 1138 utf-check-1138-2-109-0.jnk \ |
| 16959 | {File "%TEMP%/utf-check-1138-2-109-0.jnk" has 65576 bytes. |
| 16960 | Starts with UTF-8 BOM: no |
| 16961 | Starts with UTF-16 BOM: no |
| 16962 | Looks like UTF-8: no |
| 16963 | Has flag LOOK_NUL: yes |
| 16964 | Has flag LOOK_CR: yes |
| @@ -16970,11 +16970,11 @@ | |
| 16970 | Has flag LOOK_INVALID: yes |
| 16971 | Has flag LOOK_ODD: no |
| 16972 | Has flag LOOK_SHORT: no} |
| 16973 | |
| 16974 | utf-check 1139 utf-check-1139-2-109-1.jnk \ |
| 16975 | {File "%TEMP%/utf-check-1139-2-109-1.jnk" has 65577 bytes. |
| 16976 | Starts with UTF-8 BOM: no |
| 16977 | Starts with UTF-16 BOM: no |
| 16978 | Looks like UTF-8: no |
| 16979 | Has flag LOOK_NUL: yes |
| 16980 | Has flag LOOK_CR: yes |
| @@ -16986,11 +16986,11 @@ | |
| 16986 | Has flag LOOK_INVALID: yes |
| 16987 | Has flag LOOK_ODD: no |
| 16988 | Has flag LOOK_SHORT: no} |
| 16989 | |
| 16990 | utf-check 1140 utf-check-1140-2-110-0.jnk \ |
| 16991 | {File "%TEMP%/utf-check-1140-2-110-0.jnk" has 65576 bytes. |
| 16992 | Starts with UTF-8 BOM: no |
| 16993 | Starts with UTF-16 BOM: no |
| 16994 | Looks like UTF-8: no |
| 16995 | Has flag LOOK_NUL: yes |
| 16996 | Has flag LOOK_CR: no |
| @@ -17002,11 +17002,11 @@ | |
| 17002 | Has flag LOOK_INVALID: yes |
| 17003 | Has flag LOOK_ODD: no |
| 17004 | Has flag LOOK_SHORT: no} |
| 17005 | |
| 17006 | utf-check 1141 utf-check-1141-2-110-1.jnk \ |
| 17007 | {File "%TEMP%/utf-check-1141-2-110-1.jnk" has 65577 bytes. |
| 17008 | Starts with UTF-8 BOM: no |
| 17009 | Starts with UTF-16 BOM: no |
| 17010 | Looks like UTF-8: no |
| 17011 | Has flag LOOK_NUL: yes |
| 17012 | Has flag LOOK_CR: no |
| @@ -17018,11 +17018,11 @@ | |
| 17018 | Has flag LOOK_INVALID: yes |
| 17019 | Has flag LOOK_ODD: no |
| 17020 | Has flag LOOK_SHORT: no} |
| 17021 | |
| 17022 | utf-check 1142 utf-check-1142-2-111-0.jnk \ |
| 17023 | {File "%TEMP%/utf-check-1142-2-111-0.jnk" has 65578 bytes. |
| 17024 | Starts with UTF-8 BOM: no |
| 17025 | Starts with UTF-16 BOM: no |
| 17026 | Looks like UTF-8: no |
| 17027 | Has flag LOOK_NUL: yes |
| 17028 | Has flag LOOK_CR: yes |
| @@ -17034,11 +17034,11 @@ | |
| 17034 | Has flag LOOK_INVALID: yes |
| 17035 | Has flag LOOK_ODD: no |
| 17036 | Has flag LOOK_SHORT: no} |
| 17037 | |
| 17038 | utf-check 1143 utf-check-1143-2-111-1.jnk \ |
| 17039 | {File "%TEMP%/utf-check-1143-2-111-1.jnk" has 65579 bytes. |
| 17040 | Starts with UTF-8 BOM: no |
| 17041 | Starts with UTF-16 BOM: no |
| 17042 | Looks like UTF-8: no |
| 17043 | Has flag LOOK_NUL: yes |
| 17044 | Has flag LOOK_CR: yes |
| @@ -22586,11 +22586,11 @@ | |
| 22586 | Has flag LOOK_INVALID: yes |
| 22587 | Has flag LOOK_ODD: no |
| 22588 | Has flag LOOK_SHORT: no} |
| 22589 | |
| 22590 | utf-check 1490 utf-check-1490-3-80-0.jnk \ |
| 22591 | {File "%TEMP%/utf-check-1490-3-80-0.jnk" has 65540 bytes. |
| 22592 | Starts with UTF-8 BOM: no |
| 22593 | Starts with UTF-16 BOM: no |
| 22594 | Looks like UTF-8: no |
| 22595 | Has flag LOOK_NUL: yes |
| 22596 | Has flag LOOK_CR: no |
| @@ -22602,11 +22602,11 @@ | |
| 22602 | Has flag LOOK_INVALID: yes |
| 22603 | Has flag LOOK_ODD: no |
| 22604 | Has flag LOOK_SHORT: no} |
| 22605 | |
| 22606 | utf-check 1491 utf-check-1491-3-80-1.jnk \ |
| 22607 | {File "%TEMP%/utf-check-1491-3-80-1.jnk" has 65541 bytes. |
| 22608 | Starts with UTF-8 BOM: no |
| 22609 | Starts with UTF-16 BOM: no |
| 22610 | Looks like UTF-8: no |
| 22611 | Has flag LOOK_NUL: yes |
| 22612 | Has flag LOOK_CR: no |
| @@ -22618,11 +22618,11 @@ | |
| 22618 | Has flag LOOK_INVALID: yes |
| 22619 | Has flag LOOK_ODD: no |
| 22620 | Has flag LOOK_SHORT: no} |
| 22621 | |
| 22622 | utf-check 1492 utf-check-1492-3-81-0.jnk \ |
| 22623 | {File "%TEMP%/utf-check-1492-3-81-0.jnk" has 65542 bytes. |
| 22624 | Starts with UTF-8 BOM: no |
| 22625 | Starts with UTF-16 BOM: no |
| 22626 | Looks like UTF-8: no |
| 22627 | Has flag LOOK_NUL: yes |
| 22628 | Has flag LOOK_CR: no |
| @@ -22634,11 +22634,11 @@ | |
| 22634 | Has flag LOOK_INVALID: yes |
| 22635 | Has flag LOOK_ODD: no |
| 22636 | Has flag LOOK_SHORT: no} |
| 22637 | |
| 22638 | utf-check 1493 utf-check-1493-3-81-1.jnk \ |
| 22639 | {File "%TEMP%/utf-check-1493-3-81-1.jnk" has 65543 bytes. |
| 22640 | Starts with UTF-8 BOM: no |
| 22641 | Starts with UTF-16 BOM: no |
| 22642 | Looks like UTF-8: no |
| 22643 | Has flag LOOK_NUL: yes |
| 22644 | Has flag LOOK_CR: no |
| @@ -22650,11 +22650,11 @@ | |
| 22650 | Has flag LOOK_INVALID: yes |
| 22651 | Has flag LOOK_ODD: no |
| 22652 | Has flag LOOK_SHORT: no} |
| 22653 | |
| 22654 | utf-check 1494 utf-check-1494-3-82-0.jnk \ |
| 22655 | {File "%TEMP%/utf-check-1494-3-82-0.jnk" has 65542 bytes. |
| 22656 | Starts with UTF-8 BOM: no |
| 22657 | Starts with UTF-16 BOM: no |
| 22658 | Looks like UTF-8: no |
| 22659 | Has flag LOOK_NUL: yes |
| 22660 | Has flag LOOK_CR: no |
| @@ -22666,11 +22666,11 @@ | |
| 22666 | Has flag LOOK_INVALID: yes |
| 22667 | Has flag LOOK_ODD: no |
| 22668 | Has flag LOOK_SHORT: no} |
| 22669 | |
| 22670 | utf-check 1495 utf-check-1495-3-82-1.jnk \ |
| 22671 | {File "%TEMP%/utf-check-1495-3-82-1.jnk" has 65543 bytes. |
| 22672 | Starts with UTF-8 BOM: no |
| 22673 | Starts with UTF-16 BOM: no |
| 22674 | Looks like UTF-8: no |
| 22675 | Has flag LOOK_NUL: yes |
| 22676 | Has flag LOOK_CR: no |
| @@ -22682,11 +22682,11 @@ | |
| 22682 | Has flag LOOK_INVALID: yes |
| 22683 | Has flag LOOK_ODD: no |
| 22684 | Has flag LOOK_SHORT: no} |
| 22685 | |
| 22686 | utf-check 1496 utf-check-1496-3-83-0.jnk \ |
| 22687 | {File "%TEMP%/utf-check-1496-3-83-0.jnk" has 65544 bytes. |
| 22688 | Starts with UTF-8 BOM: no |
| 22689 | Starts with UTF-16 BOM: no |
| 22690 | Looks like UTF-8: no |
| 22691 | Has flag LOOK_NUL: yes |
| 22692 | Has flag LOOK_CR: no |
| @@ -22698,11 +22698,11 @@ | |
| 22698 | Has flag LOOK_INVALID: yes |
| 22699 | Has flag LOOK_ODD: no |
| 22700 | Has flag LOOK_SHORT: no} |
| 22701 | |
| 22702 | utf-check 1497 utf-check-1497-3-83-1.jnk \ |
| 22703 | {File "%TEMP%/utf-check-1497-3-83-1.jnk" has 65545 bytes. |
| 22704 | Starts with UTF-8 BOM: no |
| 22705 | Starts with UTF-16 BOM: no |
| 22706 | Looks like UTF-8: no |
| 22707 | Has flag LOOK_NUL: yes |
| 22708 | Has flag LOOK_CR: no |
| @@ -22714,11 +22714,11 @@ | |
| 22714 | Has flag LOOK_INVALID: yes |
| 22715 | Has flag LOOK_ODD: no |
| 22716 | Has flag LOOK_SHORT: no} |
| 22717 | |
| 22718 | utf-check 1498 utf-check-1498-3-84-0.jnk \ |
| 22719 | {File "%TEMP%/utf-check-1498-3-84-0.jnk" has 65570 bytes. |
| 22720 | Starts with UTF-8 BOM: no |
| 22721 | Starts with UTF-16 BOM: no |
| 22722 | Looks like UTF-8: no |
| 22723 | Has flag LOOK_NUL: yes |
| 22724 | Has flag LOOK_CR: no |
| @@ -22730,11 +22730,11 @@ | |
| 22730 | Has flag LOOK_INVALID: yes |
| 22731 | Has flag LOOK_ODD: no |
| 22732 | Has flag LOOK_SHORT: no} |
| 22733 | |
| 22734 | utf-check 1499 utf-check-1499-3-84-1.jnk \ |
| 22735 | {File "%TEMP%/utf-check-1499-3-84-1.jnk" has 65571 bytes. |
| 22736 | Starts with UTF-8 BOM: no |
| 22737 | Starts with UTF-16 BOM: no |
| 22738 | Looks like UTF-8: no |
| 22739 | Has flag LOOK_NUL: yes |
| 22740 | Has flag LOOK_CR: no |
| @@ -22746,11 +22746,11 @@ | |
| 22746 | Has flag LOOK_INVALID: yes |
| 22747 | Has flag LOOK_ODD: no |
| 22748 | Has flag LOOK_SHORT: no} |
| 22749 | |
| 22750 | utf-check 1500 utf-check-1500-3-85-0.jnk \ |
| 22751 | {File "%TEMP%/utf-check-1500-3-85-0.jnk" has 65572 bytes. |
| 22752 | Starts with UTF-8 BOM: no |
| 22753 | Starts with UTF-16 BOM: no |
| 22754 | Looks like UTF-8: no |
| 22755 | Has flag LOOK_NUL: yes |
| 22756 | Has flag LOOK_CR: no |
| @@ -22762,11 +22762,11 @@ | |
| 22762 | Has flag LOOK_INVALID: yes |
| 22763 | Has flag LOOK_ODD: no |
| 22764 | Has flag LOOK_SHORT: no} |
| 22765 | |
| 22766 | utf-check 1501 utf-check-1501-3-85-1.jnk \ |
| 22767 | {File "%TEMP%/utf-check-1501-3-85-1.jnk" has 65573 bytes. |
| 22768 | Starts with UTF-8 BOM: no |
| 22769 | Starts with UTF-16 BOM: no |
| 22770 | Looks like UTF-8: no |
| 22771 | Has flag LOOK_NUL: yes |
| 22772 | Has flag LOOK_CR: no |
| @@ -22778,11 +22778,11 @@ | |
| 22778 | Has flag LOOK_INVALID: yes |
| 22779 | Has flag LOOK_ODD: no |
| 22780 | Has flag LOOK_SHORT: no} |
| 22781 | |
| 22782 | utf-check 1502 utf-check-1502-3-86-0.jnk \ |
| 22783 | {File "%TEMP%/utf-check-1502-3-86-0.jnk" has 65572 bytes. |
| 22784 | Starts with UTF-8 BOM: no |
| 22785 | Starts with UTF-16 BOM: no |
| 22786 | Looks like UTF-8: no |
| 22787 | Has flag LOOK_NUL: yes |
| 22788 | Has flag LOOK_CR: no |
| @@ -22794,11 +22794,11 @@ | |
| 22794 | Has flag LOOK_INVALID: yes |
| 22795 | Has flag LOOK_ODD: no |
| 22796 | Has flag LOOK_SHORT: no} |
| 22797 | |
| 22798 | utf-check 1503 utf-check-1503-3-86-1.jnk \ |
| 22799 | {File "%TEMP%/utf-check-1503-3-86-1.jnk" has 65573 bytes. |
| 22800 | Starts with UTF-8 BOM: no |
| 22801 | Starts with UTF-16 BOM: no |
| 22802 | Looks like UTF-8: no |
| 22803 | Has flag LOOK_NUL: yes |
| 22804 | Has flag LOOK_CR: no |
| @@ -22810,11 +22810,11 @@ | |
| 22810 | Has flag LOOK_INVALID: yes |
| 22811 | Has flag LOOK_ODD: no |
| 22812 | Has flag LOOK_SHORT: no} |
| 22813 | |
| 22814 | utf-check 1504 utf-check-1504-3-87-0.jnk \ |
| 22815 | {File "%TEMP%/utf-check-1504-3-87-0.jnk" has 65574 bytes. |
| 22816 | Starts with UTF-8 BOM: no |
| 22817 | Starts with UTF-16 BOM: no |
| 22818 | Looks like UTF-8: no |
| 22819 | Has flag LOOK_NUL: yes |
| 22820 | Has flag LOOK_CR: no |
| @@ -22826,11 +22826,11 @@ | |
| 22826 | Has flag LOOK_INVALID: yes |
| 22827 | Has flag LOOK_ODD: no |
| 22828 | Has flag LOOK_SHORT: no} |
| 22829 | |
| 22830 | utf-check 1505 utf-check-1505-3-87-1.jnk \ |
| 22831 | {File "%TEMP%/utf-check-1505-3-87-1.jnk" has 65575 bytes. |
| 22832 | Starts with UTF-8 BOM: no |
| 22833 | Starts with UTF-16 BOM: no |
| 22834 | Looks like UTF-8: no |
| 22835 | Has flag LOOK_NUL: yes |
| 22836 | Has flag LOOK_CR: no |
| @@ -22842,11 +22842,11 @@ | |
| 22842 | Has flag LOOK_INVALID: yes |
| 22843 | Has flag LOOK_ODD: no |
| 22844 | Has flag LOOK_SHORT: no} |
| 22845 | |
| 22846 | utf-check 1506 utf-check-1506-3-88-0.jnk \ |
| 22847 | {File "%TEMP%/utf-check-1506-3-88-0.jnk" has 65542 bytes. |
| 22848 | Starts with UTF-8 BOM: no |
| 22849 | Starts with UTF-16 BOM: no |
| 22850 | Looks like UTF-8: no |
| 22851 | Has flag LOOK_NUL: yes |
| 22852 | Has flag LOOK_CR: no |
| @@ -22858,11 +22858,11 @@ | |
| 22858 | Has flag LOOK_INVALID: yes |
| 22859 | Has flag LOOK_ODD: no |
| 22860 | Has flag LOOK_SHORT: no} |
| 22861 | |
| 22862 | utf-check 1507 utf-check-1507-3-88-1.jnk \ |
| 22863 | {File "%TEMP%/utf-check-1507-3-88-1.jnk" has 65543 bytes. |
| 22864 | Starts with UTF-8 BOM: no |
| 22865 | Starts with UTF-16 BOM: no |
| 22866 | Looks like UTF-8: no |
| 22867 | Has flag LOOK_NUL: yes |
| 22868 | Has flag LOOK_CR: no |
| @@ -22874,11 +22874,11 @@ | |
| 22874 | Has flag LOOK_INVALID: yes |
| 22875 | Has flag LOOK_ODD: no |
| 22876 | Has flag LOOK_SHORT: no} |
| 22877 | |
| 22878 | utf-check 1508 utf-check-1508-3-89-0.jnk \ |
| 22879 | {File "%TEMP%/utf-check-1508-3-89-0.jnk" has 65544 bytes. |
| 22880 | Starts with UTF-8 BOM: no |
| 22881 | Starts with UTF-16 BOM: no |
| 22882 | Looks like UTF-8: no |
| 22883 | Has flag LOOK_NUL: yes |
| 22884 | Has flag LOOK_CR: no |
| @@ -22890,11 +22890,11 @@ | |
| 22890 | Has flag LOOK_INVALID: yes |
| 22891 | Has flag LOOK_ODD: no |
| 22892 | Has flag LOOK_SHORT: no} |
| 22893 | |
| 22894 | utf-check 1509 utf-check-1509-3-89-1.jnk \ |
| 22895 | {File "%TEMP%/utf-check-1509-3-89-1.jnk" has 65545 bytes. |
| 22896 | Starts with UTF-8 BOM: no |
| 22897 | Starts with UTF-16 BOM: no |
| 22898 | Looks like UTF-8: no |
| 22899 | Has flag LOOK_NUL: yes |
| 22900 | Has flag LOOK_CR: no |
| @@ -22906,11 +22906,11 @@ | |
| 22906 | Has flag LOOK_INVALID: yes |
| 22907 | Has flag LOOK_ODD: no |
| 22908 | Has flag LOOK_SHORT: no} |
| 22909 | |
| 22910 | utf-check 1510 utf-check-1510-3-90-0.jnk \ |
| 22911 | {File "%TEMP%/utf-check-1510-3-90-0.jnk" has 65544 bytes. |
| 22912 | Starts with UTF-8 BOM: no |
| 22913 | Starts with UTF-16 BOM: no |
| 22914 | Looks like UTF-8: no |
| 22915 | Has flag LOOK_NUL: yes |
| 22916 | Has flag LOOK_CR: no |
| @@ -22922,11 +22922,11 @@ | |
| 22922 | Has flag LOOK_INVALID: yes |
| 22923 | Has flag LOOK_ODD: no |
| 22924 | Has flag LOOK_SHORT: no} |
| 22925 | |
| 22926 | utf-check 1511 utf-check-1511-3-90-1.jnk \ |
| 22927 | {File "%TEMP%/utf-check-1511-3-90-1.jnk" has 65545 bytes. |
| 22928 | Starts with UTF-8 BOM: no |
| 22929 | Starts with UTF-16 BOM: no |
| 22930 | Looks like UTF-8: no |
| 22931 | Has flag LOOK_NUL: yes |
| 22932 | Has flag LOOK_CR: no |
| @@ -22938,11 +22938,11 @@ | |
| 22938 | Has flag LOOK_INVALID: yes |
| 22939 | Has flag LOOK_ODD: no |
| 22940 | Has flag LOOK_SHORT: no} |
| 22941 | |
| 22942 | utf-check 1512 utf-check-1512-3-91-0.jnk \ |
| 22943 | {File "%TEMP%/utf-check-1512-3-91-0.jnk" has 65546 bytes. |
| 22944 | Starts with UTF-8 BOM: no |
| 22945 | Starts with UTF-16 BOM: no |
| 22946 | Looks like UTF-8: no |
| 22947 | Has flag LOOK_NUL: yes |
| 22948 | Has flag LOOK_CR: no |
| @@ -22954,11 +22954,11 @@ | |
| 22954 | Has flag LOOK_INVALID: yes |
| 22955 | Has flag LOOK_ODD: no |
| 22956 | Has flag LOOK_SHORT: no} |
| 22957 | |
| 22958 | utf-check 1513 utf-check-1513-3-91-1.jnk \ |
| 22959 | {File "%TEMP%/utf-check-1513-3-91-1.jnk" has 65547 bytes. |
| 22960 | Starts with UTF-8 BOM: no |
| 22961 | Starts with UTF-16 BOM: no |
| 22962 | Looks like UTF-8: no |
| 22963 | Has flag LOOK_NUL: yes |
| 22964 | Has flag LOOK_CR: no |
| @@ -22970,11 +22970,11 @@ | |
| 22970 | Has flag LOOK_INVALID: yes |
| 22971 | Has flag LOOK_ODD: no |
| 22972 | Has flag LOOK_SHORT: no} |
| 22973 | |
| 22974 | utf-check 1514 utf-check-1514-3-92-0.jnk \ |
| 22975 | {File "%TEMP%/utf-check-1514-3-92-0.jnk" has 65572 bytes. |
| 22976 | Starts with UTF-8 BOM: no |
| 22977 | Starts with UTF-16 BOM: no |
| 22978 | Looks like UTF-8: no |
| 22979 | Has flag LOOK_NUL: yes |
| 22980 | Has flag LOOK_CR: no |
| @@ -22986,11 +22986,11 @@ | |
| 22986 | Has flag LOOK_INVALID: yes |
| 22987 | Has flag LOOK_ODD: no |
| 22988 | Has flag LOOK_SHORT: no} |
| 22989 | |
| 22990 | utf-check 1515 utf-check-1515-3-92-1.jnk \ |
| 22991 | {File "%TEMP%/utf-check-1515-3-92-1.jnk" has 65573 bytes. |
| 22992 | Starts with UTF-8 BOM: no |
| 22993 | Starts with UTF-16 BOM: no |
| 22994 | Looks like UTF-8: no |
| 22995 | Has flag LOOK_NUL: yes |
| 22996 | Has flag LOOK_CR: no |
| @@ -23002,11 +23002,11 @@ | |
| 23002 | Has flag LOOK_INVALID: yes |
| 23003 | Has flag LOOK_ODD: no |
| 23004 | Has flag LOOK_SHORT: no} |
| 23005 | |
| 23006 | utf-check 1516 utf-check-1516-3-93-0.jnk \ |
| 23007 | {File "%TEMP%/utf-check-1516-3-93-0.jnk" has 65574 bytes. |
| 23008 | Starts with UTF-8 BOM: no |
| 23009 | Starts with UTF-16 BOM: no |
| 23010 | Looks like UTF-8: no |
| 23011 | Has flag LOOK_NUL: yes |
| 23012 | Has flag LOOK_CR: no |
| @@ -23018,11 +23018,11 @@ | |
| 23018 | Has flag LOOK_INVALID: yes |
| 23019 | Has flag LOOK_ODD: no |
| 23020 | Has flag LOOK_SHORT: no} |
| 23021 | |
| 23022 | utf-check 1517 utf-check-1517-3-93-1.jnk \ |
| 23023 | {File "%TEMP%/utf-check-1517-3-93-1.jnk" has 65575 bytes. |
| 23024 | Starts with UTF-8 BOM: no |
| 23025 | Starts with UTF-16 BOM: no |
| 23026 | Looks like UTF-8: no |
| 23027 | Has flag LOOK_NUL: yes |
| 23028 | Has flag LOOK_CR: no |
| @@ -23034,11 +23034,11 @@ | |
| 23034 | Has flag LOOK_INVALID: yes |
| 23035 | Has flag LOOK_ODD: no |
| 23036 | Has flag LOOK_SHORT: no} |
| 23037 | |
| 23038 | utf-check 1518 utf-check-1518-3-94-0.jnk \ |
| 23039 | {File "%TEMP%/utf-check-1518-3-94-0.jnk" has 65574 bytes. |
| 23040 | Starts with UTF-8 BOM: no |
| 23041 | Starts with UTF-16 BOM: no |
| 23042 | Looks like UTF-8: no |
| 23043 | Has flag LOOK_NUL: yes |
| 23044 | Has flag LOOK_CR: no |
| @@ -23050,11 +23050,11 @@ | |
| 23050 | Has flag LOOK_INVALID: yes |
| 23051 | Has flag LOOK_ODD: no |
| 23052 | Has flag LOOK_SHORT: no} |
| 23053 | |
| 23054 | utf-check 1519 utf-check-1519-3-94-1.jnk \ |
| 23055 | {File "%TEMP%/utf-check-1519-3-94-1.jnk" has 65575 bytes. |
| 23056 | Starts with UTF-8 BOM: no |
| 23057 | Starts with UTF-16 BOM: no |
| 23058 | Looks like UTF-8: no |
| 23059 | Has flag LOOK_NUL: yes |
| 23060 | Has flag LOOK_CR: no |
| @@ -23066,11 +23066,11 @@ | |
| 23066 | Has flag LOOK_INVALID: yes |
| 23067 | Has flag LOOK_ODD: no |
| 23068 | Has flag LOOK_SHORT: no} |
| 23069 | |
| 23070 | utf-check 1520 utf-check-1520-3-95-0.jnk \ |
| 23071 | {File "%TEMP%/utf-check-1520-3-95-0.jnk" has 65576 bytes. |
| 23072 | Starts with UTF-8 BOM: no |
| 23073 | Starts with UTF-16 BOM: no |
| 23074 | Looks like UTF-8: no |
| 23075 | Has flag LOOK_NUL: yes |
| 23076 | Has flag LOOK_CR: no |
| @@ -23082,11 +23082,11 @@ | |
| 23082 | Has flag LOOK_INVALID: yes |
| 23083 | Has flag LOOK_ODD: no |
| 23084 | Has flag LOOK_SHORT: no} |
| 23085 | |
| 23086 | utf-check 1521 utf-check-1521-3-95-1.jnk \ |
| 23087 | {File "%TEMP%/utf-check-1521-3-95-1.jnk" has 65577 bytes. |
| 23088 | Starts with UTF-8 BOM: no |
| 23089 | Starts with UTF-16 BOM: no |
| 23090 | Looks like UTF-8: no |
| 23091 | Has flag LOOK_NUL: yes |
| 23092 | Has flag LOOK_CR: no |
| @@ -23098,11 +23098,11 @@ | |
| 23098 | Has flag LOOK_INVALID: yes |
| 23099 | Has flag LOOK_ODD: no |
| 23100 | Has flag LOOK_SHORT: no} |
| 23101 | |
| 23102 | utf-check 1522 utf-check-1522-3-96-0.jnk \ |
| 23103 | {File "%TEMP%/utf-check-1522-3-96-0.jnk" has 65542 bytes. |
| 23104 | Starts with UTF-8 BOM: no |
| 23105 | Starts with UTF-16 BOM: no |
| 23106 | Looks like UTF-8: no |
| 23107 | Has flag LOOK_NUL: yes |
| 23108 | Has flag LOOK_CR: no |
| @@ -23114,11 +23114,11 @@ | |
| 23114 | Has flag LOOK_INVALID: yes |
| 23115 | Has flag LOOK_ODD: no |
| 23116 | Has flag LOOK_SHORT: no} |
| 23117 | |
| 23118 | utf-check 1523 utf-check-1523-3-96-1.jnk \ |
| 23119 | {File "%TEMP%/utf-check-1523-3-96-1.jnk" has 65543 bytes. |
| 23120 | Starts with UTF-8 BOM: no |
| 23121 | Starts with UTF-16 BOM: no |
| 23122 | Looks like UTF-8: no |
| 23123 | Has flag LOOK_NUL: yes |
| 23124 | Has flag LOOK_CR: no |
| @@ -23130,11 +23130,11 @@ | |
| 23130 | Has flag LOOK_INVALID: yes |
| 23131 | Has flag LOOK_ODD: no |
| 23132 | Has flag LOOK_SHORT: no} |
| 23133 | |
| 23134 | utf-check 1524 utf-check-1524-3-97-0.jnk \ |
| 23135 | {File "%TEMP%/utf-check-1524-3-97-0.jnk" has 65544 bytes. |
| 23136 | Starts with UTF-8 BOM: no |
| 23137 | Starts with UTF-16 BOM: no |
| 23138 | Looks like UTF-8: no |
| 23139 | Has flag LOOK_NUL: yes |
| 23140 | Has flag LOOK_CR: no |
| @@ -23146,11 +23146,11 @@ | |
| 23146 | Has flag LOOK_INVALID: yes |
| 23147 | Has flag LOOK_ODD: no |
| 23148 | Has flag LOOK_SHORT: no} |
| 23149 | |
| 23150 | utf-check 1525 utf-check-1525-3-97-1.jnk \ |
| 23151 | {File "%TEMP%/utf-check-1525-3-97-1.jnk" has 65545 bytes. |
| 23152 | Starts with UTF-8 BOM: no |
| 23153 | Starts with UTF-16 BOM: no |
| 23154 | Looks like UTF-8: no |
| 23155 | Has flag LOOK_NUL: yes |
| 23156 | Has flag LOOK_CR: no |
| @@ -23162,11 +23162,11 @@ | |
| 23162 | Has flag LOOK_INVALID: yes |
| 23163 | Has flag LOOK_ODD: no |
| 23164 | Has flag LOOK_SHORT: no} |
| 23165 | |
| 23166 | utf-check 1526 utf-check-1526-3-98-0.jnk \ |
| 23167 | {File "%TEMP%/utf-check-1526-3-98-0.jnk" has 65544 bytes. |
| 23168 | Starts with UTF-8 BOM: no |
| 23169 | Starts with UTF-16 BOM: no |
| 23170 | Looks like UTF-8: no |
| 23171 | Has flag LOOK_NUL: yes |
| 23172 | Has flag LOOK_CR: no |
| @@ -23178,11 +23178,11 @@ | |
| 23178 | Has flag LOOK_INVALID: yes |
| 23179 | Has flag LOOK_ODD: no |
| 23180 | Has flag LOOK_SHORT: no} |
| 23181 | |
| 23182 | utf-check 1527 utf-check-1527-3-98-1.jnk \ |
| 23183 | {File "%TEMP%/utf-check-1527-3-98-1.jnk" has 65545 bytes. |
| 23184 | Starts with UTF-8 BOM: no |
| 23185 | Starts with UTF-16 BOM: no |
| 23186 | Looks like UTF-8: no |
| 23187 | Has flag LOOK_NUL: yes |
| 23188 | Has flag LOOK_CR: no |
| @@ -23194,11 +23194,11 @@ | |
| 23194 | Has flag LOOK_INVALID: yes |
| 23195 | Has flag LOOK_ODD: no |
| 23196 | Has flag LOOK_SHORT: no} |
| 23197 | |
| 23198 | utf-check 1528 utf-check-1528-3-99-0.jnk \ |
| 23199 | {File "%TEMP%/utf-check-1528-3-99-0.jnk" has 65546 bytes. |
| 23200 | Starts with UTF-8 BOM: no |
| 23201 | Starts with UTF-16 BOM: no |
| 23202 | Looks like UTF-8: no |
| 23203 | Has flag LOOK_NUL: yes |
| 23204 | Has flag LOOK_CR: no |
| @@ -23210,11 +23210,11 @@ | |
| 23210 | Has flag LOOK_INVALID: yes |
| 23211 | Has flag LOOK_ODD: no |
| 23212 | Has flag LOOK_SHORT: no} |
| 23213 | |
| 23214 | utf-check 1529 utf-check-1529-3-99-1.jnk \ |
| 23215 | {File "%TEMP%/utf-check-1529-3-99-1.jnk" has 65547 bytes. |
| 23216 | Starts with UTF-8 BOM: no |
| 23217 | Starts with UTF-16 BOM: no |
| 23218 | Looks like UTF-8: no |
| 23219 | Has flag LOOK_NUL: yes |
| 23220 | Has flag LOOK_CR: no |
| @@ -23226,11 +23226,11 @@ | |
| 23226 | Has flag LOOK_INVALID: yes |
| 23227 | Has flag LOOK_ODD: no |
| 23228 | Has flag LOOK_SHORT: no} |
| 23229 | |
| 23230 | utf-check 1530 utf-check-1530-3-100-0.jnk \ |
| 23231 | {File "%TEMP%/utf-check-1530-3-100-0.jnk" has 65572 bytes. |
| 23232 | Starts with UTF-8 BOM: no |
| 23233 | Starts with UTF-16 BOM: no |
| 23234 | Looks like UTF-8: no |
| 23235 | Has flag LOOK_NUL: yes |
| 23236 | Has flag LOOK_CR: no |
| @@ -23242,11 +23242,11 @@ | |
| 23242 | Has flag LOOK_INVALID: yes |
| 23243 | Has flag LOOK_ODD: no |
| 23244 | Has flag LOOK_SHORT: no} |
| 23245 | |
| 23246 | utf-check 1531 utf-check-1531-3-100-1.jnk \ |
| 23247 | {File "%TEMP%/utf-check-1531-3-100-1.jnk" has 65573 bytes. |
| 23248 | Starts with UTF-8 BOM: no |
| 23249 | Starts with UTF-16 BOM: no |
| 23250 | Looks like UTF-8: no |
| 23251 | Has flag LOOK_NUL: yes |
| 23252 | Has flag LOOK_CR: no |
| @@ -23258,11 +23258,11 @@ | |
| 23258 | Has flag LOOK_INVALID: yes |
| 23259 | Has flag LOOK_ODD: no |
| 23260 | Has flag LOOK_SHORT: no} |
| 23261 | |
| 23262 | utf-check 1532 utf-check-1532-3-101-0.jnk \ |
| 23263 | {File "%TEMP%/utf-check-1532-3-101-0.jnk" has 65574 bytes. |
| 23264 | Starts with UTF-8 BOM: no |
| 23265 | Starts with UTF-16 BOM: no |
| 23266 | Looks like UTF-8: no |
| 23267 | Has flag LOOK_NUL: yes |
| 23268 | Has flag LOOK_CR: no |
| @@ -23274,11 +23274,11 @@ | |
| 23274 | Has flag LOOK_INVALID: yes |
| 23275 | Has flag LOOK_ODD: no |
| 23276 | Has flag LOOK_SHORT: no} |
| 23277 | |
| 23278 | utf-check 1533 utf-check-1533-3-101-1.jnk \ |
| 23279 | {File "%TEMP%/utf-check-1533-3-101-1.jnk" has 65575 bytes. |
| 23280 | Starts with UTF-8 BOM: no |
| 23281 | Starts with UTF-16 BOM: no |
| 23282 | Looks like UTF-8: no |
| 23283 | Has flag LOOK_NUL: yes |
| 23284 | Has flag LOOK_CR: no |
| @@ -23290,11 +23290,11 @@ | |
| 23290 | Has flag LOOK_INVALID: yes |
| 23291 | Has flag LOOK_ODD: no |
| 23292 | Has flag LOOK_SHORT: no} |
| 23293 | |
| 23294 | utf-check 1534 utf-check-1534-3-102-0.jnk \ |
| 23295 | {File "%TEMP%/utf-check-1534-3-102-0.jnk" has 65574 bytes. |
| 23296 | Starts with UTF-8 BOM: no |
| 23297 | Starts with UTF-16 BOM: no |
| 23298 | Looks like UTF-8: no |
| 23299 | Has flag LOOK_NUL: yes |
| 23300 | Has flag LOOK_CR: no |
| @@ -23306,11 +23306,11 @@ | |
| 23306 | Has flag LOOK_INVALID: yes |
| 23307 | Has flag LOOK_ODD: no |
| 23308 | Has flag LOOK_SHORT: no} |
| 23309 | |
| 23310 | utf-check 1535 utf-check-1535-3-102-1.jnk \ |
| 23311 | {File "%TEMP%/utf-check-1535-3-102-1.jnk" has 65575 bytes. |
| 23312 | Starts with UTF-8 BOM: no |
| 23313 | Starts with UTF-16 BOM: no |
| 23314 | Looks like UTF-8: no |
| 23315 | Has flag LOOK_NUL: yes |
| 23316 | Has flag LOOK_CR: no |
| @@ -23322,11 +23322,11 @@ | |
| 23322 | Has flag LOOK_INVALID: yes |
| 23323 | Has flag LOOK_ODD: no |
| 23324 | Has flag LOOK_SHORT: no} |
| 23325 | |
| 23326 | utf-check 1536 utf-check-1536-3-103-0.jnk \ |
| 23327 | {File "%TEMP%/utf-check-1536-3-103-0.jnk" has 65576 bytes. |
| 23328 | Starts with UTF-8 BOM: no |
| 23329 | Starts with UTF-16 BOM: no |
| 23330 | Looks like UTF-8: no |
| 23331 | Has flag LOOK_NUL: yes |
| 23332 | Has flag LOOK_CR: no |
| @@ -23338,11 +23338,11 @@ | |
| 23338 | Has flag LOOK_INVALID: yes |
| 23339 | Has flag LOOK_ODD: no |
| 23340 | Has flag LOOK_SHORT: no} |
| 23341 | |
| 23342 | utf-check 1537 utf-check-1537-3-103-1.jnk \ |
| 23343 | {File "%TEMP%/utf-check-1537-3-103-1.jnk" has 65577 bytes. |
| 23344 | Starts with UTF-8 BOM: no |
| 23345 | Starts with UTF-16 BOM: no |
| 23346 | Looks like UTF-8: no |
| 23347 | Has flag LOOK_NUL: yes |
| 23348 | Has flag LOOK_CR: no |
| @@ -23354,11 +23354,11 @@ | |
| 23354 | Has flag LOOK_INVALID: yes |
| 23355 | Has flag LOOK_ODD: no |
| 23356 | Has flag LOOK_SHORT: no} |
| 23357 | |
| 23358 | utf-check 1538 utf-check-1538-3-104-0.jnk \ |
| 23359 | {File "%TEMP%/utf-check-1538-3-104-0.jnk" has 65544 bytes. |
| 23360 | Starts with UTF-8 BOM: no |
| 23361 | Starts with UTF-16 BOM: no |
| 23362 | Looks like UTF-8: no |
| 23363 | Has flag LOOK_NUL: yes |
| 23364 | Has flag LOOK_CR: no |
| @@ -23370,11 +23370,11 @@ | |
| 23370 | Has flag LOOK_INVALID: yes |
| 23371 | Has flag LOOK_ODD: no |
| 23372 | Has flag LOOK_SHORT: no} |
| 23373 | |
| 23374 | utf-check 1539 utf-check-1539-3-104-1.jnk \ |
| 23375 | {File "%TEMP%/utf-check-1539-3-104-1.jnk" has 65545 bytes. |
| 23376 | Starts with UTF-8 BOM: no |
| 23377 | Starts with UTF-16 BOM: no |
| 23378 | Looks like UTF-8: no |
| 23379 | Has flag LOOK_NUL: yes |
| 23380 | Has flag LOOK_CR: no |
| @@ -23386,11 +23386,11 @@ | |
| 23386 | Has flag LOOK_INVALID: yes |
| 23387 | Has flag LOOK_ODD: no |
| 23388 | Has flag LOOK_SHORT: no} |
| 23389 | |
| 23390 | utf-check 1540 utf-check-1540-3-105-0.jnk \ |
| 23391 | {File "%TEMP%/utf-check-1540-3-105-0.jnk" has 65546 bytes. |
| 23392 | Starts with UTF-8 BOM: no |
| 23393 | Starts with UTF-16 BOM: no |
| 23394 | Looks like UTF-8: no |
| 23395 | Has flag LOOK_NUL: yes |
| 23396 | Has flag LOOK_CR: no |
| @@ -23402,11 +23402,11 @@ | |
| 23402 | Has flag LOOK_INVALID: yes |
| 23403 | Has flag LOOK_ODD: no |
| 23404 | Has flag LOOK_SHORT: no} |
| 23405 | |
| 23406 | utf-check 1541 utf-check-1541-3-105-1.jnk \ |
| 23407 | {File "%TEMP%/utf-check-1541-3-105-1.jnk" has 65547 bytes. |
| 23408 | Starts with UTF-8 BOM: no |
| 23409 | Starts with UTF-16 BOM: no |
| 23410 | Looks like UTF-8: no |
| 23411 | Has flag LOOK_NUL: yes |
| 23412 | Has flag LOOK_CR: no |
| @@ -23418,11 +23418,11 @@ | |
| 23418 | Has flag LOOK_INVALID: yes |
| 23419 | Has flag LOOK_ODD: no |
| 23420 | Has flag LOOK_SHORT: no} |
| 23421 | |
| 23422 | utf-check 1542 utf-check-1542-3-106-0.jnk \ |
| 23423 | {File "%TEMP%/utf-check-1542-3-106-0.jnk" has 65546 bytes. |
| 23424 | Starts with UTF-8 BOM: no |
| 23425 | Starts with UTF-16 BOM: no |
| 23426 | Looks like UTF-8: no |
| 23427 | Has flag LOOK_NUL: yes |
| 23428 | Has flag LOOK_CR: no |
| @@ -23434,11 +23434,11 @@ | |
| 23434 | Has flag LOOK_INVALID: yes |
| 23435 | Has flag LOOK_ODD: no |
| 23436 | Has flag LOOK_SHORT: no} |
| 23437 | |
| 23438 | utf-check 1543 utf-check-1543-3-106-1.jnk \ |
| 23439 | {File "%TEMP%/utf-check-1543-3-106-1.jnk" has 65547 bytes. |
| 23440 | Starts with UTF-8 BOM: no |
| 23441 | Starts with UTF-16 BOM: no |
| 23442 | Looks like UTF-8: no |
| 23443 | Has flag LOOK_NUL: yes |
| 23444 | Has flag LOOK_CR: no |
| @@ -23450,11 +23450,11 @@ | |
| 23450 | Has flag LOOK_INVALID: yes |
| 23451 | Has flag LOOK_ODD: no |
| 23452 | Has flag LOOK_SHORT: no} |
| 23453 | |
| 23454 | utf-check 1544 utf-check-1544-3-107-0.jnk \ |
| 23455 | {File "%TEMP%/utf-check-1544-3-107-0.jnk" has 65548 bytes. |
| 23456 | Starts with UTF-8 BOM: no |
| 23457 | Starts with UTF-16 BOM: no |
| 23458 | Looks like UTF-8: no |
| 23459 | Has flag LOOK_NUL: yes |
| 23460 | Has flag LOOK_CR: no |
| @@ -23466,11 +23466,11 @@ | |
| 23466 | Has flag LOOK_INVALID: yes |
| 23467 | Has flag LOOK_ODD: no |
| 23468 | Has flag LOOK_SHORT: no} |
| 23469 | |
| 23470 | utf-check 1545 utf-check-1545-3-107-1.jnk \ |
| 23471 | {File "%TEMP%/utf-check-1545-3-107-1.jnk" has 65549 bytes. |
| 23472 | Starts with UTF-8 BOM: no |
| 23473 | Starts with UTF-16 BOM: no |
| 23474 | Looks like UTF-8: no |
| 23475 | Has flag LOOK_NUL: yes |
| 23476 | Has flag LOOK_CR: no |
| @@ -23482,11 +23482,11 @@ | |
| 23482 | Has flag LOOK_INVALID: yes |
| 23483 | Has flag LOOK_ODD: no |
| 23484 | Has flag LOOK_SHORT: no} |
| 23485 | |
| 23486 | utf-check 1546 utf-check-1546-3-108-0.jnk \ |
| 23487 | {File "%TEMP%/utf-check-1546-3-108-0.jnk" has 65574 bytes. |
| 23488 | Starts with UTF-8 BOM: no |
| 23489 | Starts with UTF-16 BOM: no |
| 23490 | Looks like UTF-8: no |
| 23491 | Has flag LOOK_NUL: yes |
| 23492 | Has flag LOOK_CR: no |
| @@ -23498,11 +23498,11 @@ | |
| 23498 | Has flag LOOK_INVALID: yes |
| 23499 | Has flag LOOK_ODD: no |
| 23500 | Has flag LOOK_SHORT: no} |
| 23501 | |
| 23502 | utf-check 1547 utf-check-1547-3-108-1.jnk \ |
| 23503 | {File "%TEMP%/utf-check-1547-3-108-1.jnk" has 65575 bytes. |
| 23504 | Starts with UTF-8 BOM: no |
| 23505 | Starts with UTF-16 BOM: no |
| 23506 | Looks like UTF-8: no |
| 23507 | Has flag LOOK_NUL: yes |
| 23508 | Has flag LOOK_CR: no |
| @@ -23514,11 +23514,11 @@ | |
| 23514 | Has flag LOOK_INVALID: yes |
| 23515 | Has flag LOOK_ODD: no |
| 23516 | Has flag LOOK_SHORT: no} |
| 23517 | |
| 23518 | utf-check 1548 utf-check-1548-3-109-0.jnk \ |
| 23519 | {File "%TEMP%/utf-check-1548-3-109-0.jnk" has 65576 bytes. |
| 23520 | Starts with UTF-8 BOM: no |
| 23521 | Starts with UTF-16 BOM: no |
| 23522 | Looks like UTF-8: no |
| 23523 | Has flag LOOK_NUL: yes |
| 23524 | Has flag LOOK_CR: no |
| @@ -23530,11 +23530,11 @@ | |
| 23530 | Has flag LOOK_INVALID: yes |
| 23531 | Has flag LOOK_ODD: no |
| 23532 | Has flag LOOK_SHORT: no} |
| 23533 | |
| 23534 | utf-check 1549 utf-check-1549-3-109-1.jnk \ |
| 23535 | {File "%TEMP%/utf-check-1549-3-109-1.jnk" has 65577 bytes. |
| 23536 | Starts with UTF-8 BOM: no |
| 23537 | Starts with UTF-16 BOM: no |
| 23538 | Looks like UTF-8: no |
| 23539 | Has flag LOOK_NUL: yes |
| 23540 | Has flag LOOK_CR: no |
| @@ -23546,11 +23546,11 @@ | |
| 23546 | Has flag LOOK_INVALID: yes |
| 23547 | Has flag LOOK_ODD: no |
| 23548 | Has flag LOOK_SHORT: no} |
| 23549 | |
| 23550 | utf-check 1550 utf-check-1550-3-110-0.jnk \ |
| 23551 | {File "%TEMP%/utf-check-1550-3-110-0.jnk" has 65576 bytes. |
| 23552 | Starts with UTF-8 BOM: no |
| 23553 | Starts with UTF-16 BOM: no |
| 23554 | Looks like UTF-8: no |
| 23555 | Has flag LOOK_NUL: yes |
| 23556 | Has flag LOOK_CR: no |
| @@ -23562,11 +23562,11 @@ | |
| 23562 | Has flag LOOK_INVALID: yes |
| 23563 | Has flag LOOK_ODD: no |
| 23564 | Has flag LOOK_SHORT: no} |
| 23565 | |
| 23566 | utf-check 1551 utf-check-1551-3-110-1.jnk \ |
| 23567 | {File "%TEMP%/utf-check-1551-3-110-1.jnk" has 65577 bytes. |
| 23568 | Starts with UTF-8 BOM: no |
| 23569 | Starts with UTF-16 BOM: no |
| 23570 | Looks like UTF-8: no |
| 23571 | Has flag LOOK_NUL: yes |
| 23572 | Has flag LOOK_CR: no |
| @@ -23578,11 +23578,11 @@ | |
| 23578 | Has flag LOOK_INVALID: yes |
| 23579 | Has flag LOOK_ODD: no |
| 23580 | Has flag LOOK_SHORT: no} |
| 23581 | |
| 23582 | utf-check 1552 utf-check-1552-3-111-0.jnk \ |
| 23583 | {File "%TEMP%/utf-check-1552-3-111-0.jnk" has 65578 bytes. |
| 23584 | Starts with UTF-8 BOM: no |
| 23585 | Starts with UTF-16 BOM: no |
| 23586 | Looks like UTF-8: no |
| 23587 | Has flag LOOK_NUL: yes |
| 23588 | Has flag LOOK_CR: no |
| @@ -23594,11 +23594,11 @@ | |
| 23594 | Has flag LOOK_INVALID: yes |
| 23595 | Has flag LOOK_ODD: no |
| 23596 | Has flag LOOK_SHORT: no} |
| 23597 | |
| 23598 | utf-check 1553 utf-check-1553-3-111-1.jnk \ |
| 23599 | {File "%TEMP%/utf-check-1553-3-111-1.jnk" has 65579 bytes. |
| 23600 | Starts with UTF-8 BOM: no |
| 23601 | Starts with UTF-16 BOM: no |
| 23602 | Looks like UTF-8: no |
| 23603 | Has flag LOOK_NUL: yes |
| 23604 | Has flag LOOK_CR: no |
| 23605 |
+2
-2
| --- win/Makefile.PellesCGMake | ||
| +++ win/Makefile.PellesCGMake | ||
| @@ -83,17 +83,17 @@ | ||
| 83 | 83 | |
| 84 | 84 | # define the SQLite files, which need special flags on compile |
| 85 | 85 | SQLITESRC=sqlite3.c |
| 86 | 86 | ORIGSQLITESRC=$(foreach sf,$(SQLITESRC),$(SRCDIR)$(sf)) |
| 87 | 87 | SQLITEOBJ=$(foreach sf,$(SQLITESRC),$(sf:.c=.obj)) |
| 88 | -SQLITEDEFINES=-DNDEBUG=1 -DSQLITE_DQS=0 -DSQLITE_THREADSAFE=0 -DSQLITE_DEFAULT_MEMSTATUS=0 -DSQLITE_DEFAULT_WAL_SYNCHRONOUS=1 -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_OMIT_DECLTYPE -DSQLITE_OMIT_DEPRECATED -DSQLITE_OMIT_GET_TABLE -DSQLITE_OMIT_PROGRESS_CALLBACK -DSQLITE_OMIT_SHARED_CACHE -DSQLITE_OMIT_LOAD_EXTENSION -DSQLITE_MAX_EXPR_DEPTH=0 -DSQLITE_USE_ALLOCA -DSQLITE_ENABLE_LOCKING_STYLE=0 -DSQLITE_DEFAULT_FILE_FORMAT=4 -DSQLITE_ENABLE_EXPLAIN_COMMENTS -DSQLITE_ENABLE_FTS4 -DSQLITE_ENABLE_DBSTAT_VTAB -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_STMTVTAB -DSQLITE_HAVE_ZLIB -DSQLITE_INTROSPECTION_PRAGMAS -DSQLITE_ENABLE_DBPAGE_VTAB -DSQLITE_TRUSTED_SCHEMA=0 -DSQLITE_WIN32_NO_ANSI | |
| 88 | +SQLITEDEFINES=-DNDEBUG=1 -DSQLITE_DQS=0 -DSQLITE_THREADSAFE=0 -DSQLITE_DEFAULT_MEMSTATUS=0 -DSQLITE_DEFAULT_WAL_SYNCHRONOUS=1 -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_OMIT_DECLTYPE -DSQLITE_OMIT_DEPRECATED -DSQLITE_OMIT_PROGRESS_CALLBACK -DSQLITE_OMIT_SHARED_CACHE -DSQLITE_OMIT_LOAD_EXTENSION -DSQLITE_MAX_EXPR_DEPTH=0 -DSQLITE_USE_ALLOCA -DSQLITE_ENABLE_LOCKING_STYLE=0 -DSQLITE_DEFAULT_FILE_FORMAT=4 -DSQLITE_ENABLE_EXPLAIN_COMMENTS -DSQLITE_ENABLE_FTS4 -DSQLITE_ENABLE_DBSTAT_VTAB -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_STMTVTAB -DSQLITE_HAVE_ZLIB -DSQLITE_INTROSPECTION_PRAGMAS -DSQLITE_ENABLE_DBPAGE_VTAB -DSQLITE_TRUSTED_SCHEMA=0 -DSQLITE_WIN32_NO_ANSI | |
| 89 | 89 | |
| 90 | 90 | # define the SQLite shell files, which need special flags on compile |
| 91 | 91 | SQLITESHELLSRC=shell.c |
| 92 | 92 | ORIGSQLITESHELLSRC=$(foreach sf,$(SQLITESHELLSRC),$(SRCDIR)$(sf)) |
| 93 | 93 | SQLITESHELLOBJ=$(foreach sf,$(SQLITESHELLSRC),$(sf:.c=.obj)) |
| 94 | -SQLITESHELLDEFINES=-DNDEBUG=1 -DSQLITE_DQS=0 -DSQLITE_THREADSAFE=0 -DSQLITE_DEFAULT_MEMSTATUS=0 -DSQLITE_DEFAULT_WAL_SYNCHRONOUS=1 -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_OMIT_DECLTYPE -DSQLITE_OMIT_DEPRECATED -DSQLITE_OMIT_GET_TABLE -DSQLITE_OMIT_PROGRESS_CALLBACK -DSQLITE_OMIT_SHARED_CACHE -DSQLITE_OMIT_LOAD_EXTENSION -DSQLITE_MAX_EXPR_DEPTH=0 -DSQLITE_USE_ALLOCA -DSQLITE_ENABLE_LOCKING_STYLE=0 -DSQLITE_DEFAULT_FILE_FORMAT=4 -DSQLITE_ENABLE_EXPLAIN_COMMENTS -DSQLITE_ENABLE_FTS4 -DSQLITE_ENABLE_DBSTAT_VTAB -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_STMTVTAB -DSQLITE_HAVE_ZLIB -DSQLITE_INTROSPECTION_PRAGMAS -DSQLITE_ENABLE_DBPAGE_VTAB -DSQLITE_TRUSTED_SCHEMA=0 -Dmain=sqlite3_shell -DSQLITE_SHELL_IS_UTF8=1 -DSQLITE_OMIT_LOAD_EXTENSION=1 -DUSE_SYSTEM_SQLITE=$(USE_SYSTEM_SQLITE) -DSQLITE_SHELL_DBNAME_PROC=sqlcmd_get_dbname -DSQLITE_SHELL_INIT_PROC=sqlcmd_init_proc -Daccess=file_access -Dsystem=fossil_system -Dgetenv=fossil_getenv -Dfopen=fossil_fopen | |
| 94 | +SQLITESHELLDEFINES=-DNDEBUG=1 -DSQLITE_DQS=0 -DSQLITE_THREADSAFE=0 -DSQLITE_DEFAULT_MEMSTATUS=0 -DSQLITE_DEFAULT_WAL_SYNCHRONOUS=1 -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_OMIT_DECLTYPE -DSQLITE_OMIT_DEPRECATED -DSQLITE_OMIT_PROGRESS_CALLBACK -DSQLITE_OMIT_SHARED_CACHE -DSQLITE_OMIT_LOAD_EXTENSION -DSQLITE_MAX_EXPR_DEPTH=0 -DSQLITE_USE_ALLOCA -DSQLITE_ENABLE_LOCKING_STYLE=0 -DSQLITE_DEFAULT_FILE_FORMAT=4 -DSQLITE_ENABLE_EXPLAIN_COMMENTS -DSQLITE_ENABLE_FTS4 -DSQLITE_ENABLE_DBSTAT_VTAB -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_STMTVTAB -DSQLITE_HAVE_ZLIB -DSQLITE_INTROSPECTION_PRAGMAS -DSQLITE_ENABLE_DBPAGE_VTAB -DSQLITE_TRUSTED_SCHEMA=0 -Dmain=sqlite3_shell -DSQLITE_SHELL_IS_UTF8=1 -DSQLITE_OMIT_LOAD_EXTENSION=1 -DUSE_SYSTEM_SQLITE=$(USE_SYSTEM_SQLITE) -DSQLITE_SHELL_DBNAME_PROC=sqlcmd_get_dbname -DSQLITE_SHELL_INIT_PROC=sqlcmd_init_proc -Daccess=file_access -Dsystem=fossil_system -Dgetenv=fossil_getenv -Dfopen=fossil_fopen | |
| 95 | 95 | |
| 96 | 96 | # define the th scripting files, which need special flags on compile |
| 97 | 97 | THSRC=th.c th_lang.c |
| 98 | 98 | ORIGTHSRC=$(foreach sf,$(THSRC),$(SRCDIR)$(sf)) |
| 99 | 99 | THOBJ=$(foreach sf,$(THSRC),$(sf:.c=.obj)) |
| 100 | 100 |
| --- win/Makefile.PellesCGMake | |
| +++ win/Makefile.PellesCGMake | |
| @@ -83,17 +83,17 @@ | |
| 83 | |
| 84 | # define the SQLite files, which need special flags on compile |
| 85 | SQLITESRC=sqlite3.c |
| 86 | ORIGSQLITESRC=$(foreach sf,$(SQLITESRC),$(SRCDIR)$(sf)) |
| 87 | SQLITEOBJ=$(foreach sf,$(SQLITESRC),$(sf:.c=.obj)) |
| 88 | SQLITEDEFINES=-DNDEBUG=1 -DSQLITE_DQS=0 -DSQLITE_THREADSAFE=0 -DSQLITE_DEFAULT_MEMSTATUS=0 -DSQLITE_DEFAULT_WAL_SYNCHRONOUS=1 -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_OMIT_DECLTYPE -DSQLITE_OMIT_DEPRECATED -DSQLITE_OMIT_GET_TABLE -DSQLITE_OMIT_PROGRESS_CALLBACK -DSQLITE_OMIT_SHARED_CACHE -DSQLITE_OMIT_LOAD_EXTENSION -DSQLITE_MAX_EXPR_DEPTH=0 -DSQLITE_USE_ALLOCA -DSQLITE_ENABLE_LOCKING_STYLE=0 -DSQLITE_DEFAULT_FILE_FORMAT=4 -DSQLITE_ENABLE_EXPLAIN_COMMENTS -DSQLITE_ENABLE_FTS4 -DSQLITE_ENABLE_DBSTAT_VTAB -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_STMTVTAB -DSQLITE_HAVE_ZLIB -DSQLITE_INTROSPECTION_PRAGMAS -DSQLITE_ENABLE_DBPAGE_VTAB -DSQLITE_TRUSTED_SCHEMA=0 -DSQLITE_WIN32_NO_ANSI |
| 89 | |
| 90 | # define the SQLite shell files, which need special flags on compile |
| 91 | SQLITESHELLSRC=shell.c |
| 92 | ORIGSQLITESHELLSRC=$(foreach sf,$(SQLITESHELLSRC),$(SRCDIR)$(sf)) |
| 93 | SQLITESHELLOBJ=$(foreach sf,$(SQLITESHELLSRC),$(sf:.c=.obj)) |
| 94 | SQLITESHELLDEFINES=-DNDEBUG=1 -DSQLITE_DQS=0 -DSQLITE_THREADSAFE=0 -DSQLITE_DEFAULT_MEMSTATUS=0 -DSQLITE_DEFAULT_WAL_SYNCHRONOUS=1 -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_OMIT_DECLTYPE -DSQLITE_OMIT_DEPRECATED -DSQLITE_OMIT_GET_TABLE -DSQLITE_OMIT_PROGRESS_CALLBACK -DSQLITE_OMIT_SHARED_CACHE -DSQLITE_OMIT_LOAD_EXTENSION -DSQLITE_MAX_EXPR_DEPTH=0 -DSQLITE_USE_ALLOCA -DSQLITE_ENABLE_LOCKING_STYLE=0 -DSQLITE_DEFAULT_FILE_FORMAT=4 -DSQLITE_ENABLE_EXPLAIN_COMMENTS -DSQLITE_ENABLE_FTS4 -DSQLITE_ENABLE_DBSTAT_VTAB -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_STMTVTAB -DSQLITE_HAVE_ZLIB -DSQLITE_INTROSPECTION_PRAGMAS -DSQLITE_ENABLE_DBPAGE_VTAB -DSQLITE_TRUSTED_SCHEMA=0 -Dmain=sqlite3_shell -DSQLITE_SHELL_IS_UTF8=1 -DSQLITE_OMIT_LOAD_EXTENSION=1 -DUSE_SYSTEM_SQLITE=$(USE_SYSTEM_SQLITE) -DSQLITE_SHELL_DBNAME_PROC=sqlcmd_get_dbname -DSQLITE_SHELL_INIT_PROC=sqlcmd_init_proc -Daccess=file_access -Dsystem=fossil_system -Dgetenv=fossil_getenv -Dfopen=fossil_fopen |
| 95 | |
| 96 | # define the th scripting files, which need special flags on compile |
| 97 | THSRC=th.c th_lang.c |
| 98 | ORIGTHSRC=$(foreach sf,$(THSRC),$(SRCDIR)$(sf)) |
| 99 | THOBJ=$(foreach sf,$(THSRC),$(sf:.c=.obj)) |
| 100 |
| --- win/Makefile.PellesCGMake | |
| +++ win/Makefile.PellesCGMake | |
| @@ -83,17 +83,17 @@ | |
| 83 | |
| 84 | # define the SQLite files, which need special flags on compile |
| 85 | SQLITESRC=sqlite3.c |
| 86 | ORIGSQLITESRC=$(foreach sf,$(SQLITESRC),$(SRCDIR)$(sf)) |
| 87 | SQLITEOBJ=$(foreach sf,$(SQLITESRC),$(sf:.c=.obj)) |
| 88 | SQLITEDEFINES=-DNDEBUG=1 -DSQLITE_DQS=0 -DSQLITE_THREADSAFE=0 -DSQLITE_DEFAULT_MEMSTATUS=0 -DSQLITE_DEFAULT_WAL_SYNCHRONOUS=1 -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_OMIT_DECLTYPE -DSQLITE_OMIT_DEPRECATED -DSQLITE_OMIT_PROGRESS_CALLBACK -DSQLITE_OMIT_SHARED_CACHE -DSQLITE_OMIT_LOAD_EXTENSION -DSQLITE_MAX_EXPR_DEPTH=0 -DSQLITE_USE_ALLOCA -DSQLITE_ENABLE_LOCKING_STYLE=0 -DSQLITE_DEFAULT_FILE_FORMAT=4 -DSQLITE_ENABLE_EXPLAIN_COMMENTS -DSQLITE_ENABLE_FTS4 -DSQLITE_ENABLE_DBSTAT_VTAB -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_STMTVTAB -DSQLITE_HAVE_ZLIB -DSQLITE_INTROSPECTION_PRAGMAS -DSQLITE_ENABLE_DBPAGE_VTAB -DSQLITE_TRUSTED_SCHEMA=0 -DSQLITE_WIN32_NO_ANSI |
| 89 | |
| 90 | # define the SQLite shell files, which need special flags on compile |
| 91 | SQLITESHELLSRC=shell.c |
| 92 | ORIGSQLITESHELLSRC=$(foreach sf,$(SQLITESHELLSRC),$(SRCDIR)$(sf)) |
| 93 | SQLITESHELLOBJ=$(foreach sf,$(SQLITESHELLSRC),$(sf:.c=.obj)) |
| 94 | SQLITESHELLDEFINES=-DNDEBUG=1 -DSQLITE_DQS=0 -DSQLITE_THREADSAFE=0 -DSQLITE_DEFAULT_MEMSTATUS=0 -DSQLITE_DEFAULT_WAL_SYNCHRONOUS=1 -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_OMIT_DECLTYPE -DSQLITE_OMIT_DEPRECATED -DSQLITE_OMIT_PROGRESS_CALLBACK -DSQLITE_OMIT_SHARED_CACHE -DSQLITE_OMIT_LOAD_EXTENSION -DSQLITE_MAX_EXPR_DEPTH=0 -DSQLITE_USE_ALLOCA -DSQLITE_ENABLE_LOCKING_STYLE=0 -DSQLITE_DEFAULT_FILE_FORMAT=4 -DSQLITE_ENABLE_EXPLAIN_COMMENTS -DSQLITE_ENABLE_FTS4 -DSQLITE_ENABLE_DBSTAT_VTAB -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_STMTVTAB -DSQLITE_HAVE_ZLIB -DSQLITE_INTROSPECTION_PRAGMAS -DSQLITE_ENABLE_DBPAGE_VTAB -DSQLITE_TRUSTED_SCHEMA=0 -Dmain=sqlite3_shell -DSQLITE_SHELL_IS_UTF8=1 -DSQLITE_OMIT_LOAD_EXTENSION=1 -DUSE_SYSTEM_SQLITE=$(USE_SYSTEM_SQLITE) -DSQLITE_SHELL_DBNAME_PROC=sqlcmd_get_dbname -DSQLITE_SHELL_INIT_PROC=sqlcmd_init_proc -Daccess=file_access -Dsystem=fossil_system -Dgetenv=fossil_getenv -Dfopen=fossil_fopen |
| 95 | |
| 96 | # define the th scripting files, which need special flags on compile |
| 97 | THSRC=th.c th_lang.c |
| 98 | ORIGTHSRC=$(foreach sf,$(THSRC),$(SRCDIR)$(sf)) |
| 99 | THOBJ=$(foreach sf,$(THSRC),$(sf:.c=.obj)) |
| 100 |
+2
-2
| --- win/Makefile.PellesCGMake | ||
| +++ win/Makefile.PellesCGMake | ||
| @@ -83,17 +83,17 @@ | ||
| 83 | 83 | |
| 84 | 84 | # define the SQLite files, which need special flags on compile |
| 85 | 85 | SQLITESRC=sqlite3.c |
| 86 | 86 | ORIGSQLITESRC=$(foreach sf,$(SQLITESRC),$(SRCDIR)$(sf)) |
| 87 | 87 | SQLITEOBJ=$(foreach sf,$(SQLITESRC),$(sf:.c=.obj)) |
| 88 | -SQLITEDEFINES=-DNDEBUG=1 -DSQLITE_DQS=0 -DSQLITE_THREADSAFE=0 -DSQLITE_DEFAULT_MEMSTATUS=0 -DSQLITE_DEFAULT_WAL_SYNCHRONOUS=1 -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_OMIT_DECLTYPE -DSQLITE_OMIT_DEPRECATED -DSQLITE_OMIT_GET_TABLE -DSQLITE_OMIT_PROGRESS_CALLBACK -DSQLITE_OMIT_SHARED_CACHE -DSQLITE_OMIT_LOAD_EXTENSION -DSQLITE_MAX_EXPR_DEPTH=0 -DSQLITE_USE_ALLOCA -DSQLITE_ENABLE_LOCKING_STYLE=0 -DSQLITE_DEFAULT_FILE_FORMAT=4 -DSQLITE_ENABLE_EXPLAIN_COMMENTS -DSQLITE_ENABLE_FTS4 -DSQLITE_ENABLE_DBSTAT_VTAB -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_STMTVTAB -DSQLITE_HAVE_ZLIB -DSQLITE_INTROSPECTION_PRAGMAS -DSQLITE_ENABLE_DBPAGE_VTAB -DSQLITE_TRUSTED_SCHEMA=0 -DSQLITE_WIN32_NO_ANSI | |
| 88 | +SQLITEDEFINES=-DNDEBUG=1 -DSQLITE_DQS=0 -DSQLITE_THREADSAFE=0 -DSQLITE_DEFAULT_MEMSTATUS=0 -DSQLITE_DEFAULT_WAL_SYNCHRONOUS=1 -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_OMIT_DECLTYPE -DSQLITE_OMIT_DEPRECATED -DSQLITE_OMIT_PROGRESS_CALLBACK -DSQLITE_OMIT_SHARED_CACHE -DSQLITE_OMIT_LOAD_EXTENSION -DSQLITE_MAX_EXPR_DEPTH=0 -DSQLITE_USE_ALLOCA -DSQLITE_ENABLE_LOCKING_STYLE=0 -DSQLITE_DEFAULT_FILE_FORMAT=4 -DSQLITE_ENABLE_EXPLAIN_COMMENTS -DSQLITE_ENABLE_FTS4 -DSQLITE_ENABLE_DBSTAT_VTAB -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_STMTVTAB -DSQLITE_HAVE_ZLIB -DSQLITE_INTROSPECTION_PRAGMAS -DSQLITE_ENABLE_DBPAGE_VTAB -DSQLITE_TRUSTED_SCHEMA=0 -DSQLITE_WIN32_NO_ANSI | |
| 89 | 89 | |
| 90 | 90 | # define the SQLite shell files, which need special flags on compile |
| 91 | 91 | SQLITESHELLSRC=shell.c |
| 92 | 92 | ORIGSQLITESHELLSRC=$(foreach sf,$(SQLITESHELLSRC),$(SRCDIR)$(sf)) |
| 93 | 93 | SQLITESHELLOBJ=$(foreach sf,$(SQLITESHELLSRC),$(sf:.c=.obj)) |
| 94 | -SQLITESHELLDEFINES=-DNDEBUG=1 -DSQLITE_DQS=0 -DSQLITE_THREADSAFE=0 -DSQLITE_DEFAULT_MEMSTATUS=0 -DSQLITE_DEFAULT_WAL_SYNCHRONOUS=1 -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_OMIT_DECLTYPE -DSQLITE_OMIT_DEPRECATED -DSQLITE_OMIT_GET_TABLE -DSQLITE_OMIT_PROGRESS_CALLBACK -DSQLITE_OMIT_SHARED_CACHE -DSQLITE_OMIT_LOAD_EXTENSION -DSQLITE_MAX_EXPR_DEPTH=0 -DSQLITE_USE_ALLOCA -DSQLITE_ENABLE_LOCKING_STYLE=0 -DSQLITE_DEFAULT_FILE_FORMAT=4 -DSQLITE_ENABLE_EXPLAIN_COMMENTS -DSQLITE_ENABLE_FTS4 -DSQLITE_ENABLE_DBSTAT_VTAB -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_STMTVTAB -DSQLITE_HAVE_ZLIB -DSQLITE_INTROSPECTION_PRAGMAS -DSQLITE_ENABLE_DBPAGE_VTAB -DSQLITE_TRUSTED_SCHEMA=0 -Dmain=sqlite3_shell -DSQLITE_SHELL_IS_UTF8=1 -DSQLITE_OMIT_LOAD_EXTENSION=1 -DUSE_SYSTEM_SQLITE=$(USE_SYSTEM_SQLITE) -DSQLITE_SHELL_DBNAME_PROC=sqlcmd_get_dbname -DSQLITE_SHELL_INIT_PROC=sqlcmd_init_proc -Daccess=file_access -Dsystem=fossil_system -Dgetenv=fossil_getenv -Dfopen=fossil_fopen | |
| 94 | +SQLITESHELLDEFINES=-DNDEBUG=1 -DSQLITE_DQS=0 -DSQLITE_THREADSAFE=0 -DSQLITE_DEFAULT_MEMSTATUS=0 -DSQLITE_DEFAULT_WAL_SYNCHRONOUS=1 -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_OMIT_DECLTYPE -DSQLITE_OMIT_DEPRECATED -DSQLITE_OMIT_PROGRESS_CALLBACK -DSQLITE_OMIT_SHARED_CACHE -DSQLITE_OMIT_LOAD_EXTENSION -DSQLITE_MAX_EXPR_DEPTH=0 -DSQLITE_USE_ALLOCA -DSQLITE_ENABLE_LOCKING_STYLE=0 -DSQLITE_DEFAULT_FILE_FORMAT=4 -DSQLITE_ENABLE_EXPLAIN_COMMENTS -DSQLITE_ENABLE_FTS4 -DSQLITE_ENABLE_DBSTAT_VTAB -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_STMTVTAB -DSQLITE_HAVE_ZLIB -DSQLITE_INTROSPECTION_PRAGMAS -DSQLITE_ENABLE_DBPAGE_VTAB -DSQLITE_TRUSTED_SCHEMA=0 -Dmain=sqlite3_shell -DSQLITE_SHELL_IS_UTF8=1 -DSQLITE_OMIT_LOAD_EXTENSION=1 -DUSE_SYSTEM_SQLITE=$(USE_SYSTEM_SQLITE) -DSQLITE_SHELL_DBNAME_PROC=sqlcmd_get_dbname -DSQLITE_SHELL_INIT_PROC=sqlcmd_init_proc -Daccess=file_access -Dsystem=fossil_system -Dgetenv=fossil_getenv -Dfopen=fossil_fopen | |
| 95 | 95 | |
| 96 | 96 | # define the th scripting files, which need special flags on compile |
| 97 | 97 | THSRC=th.c th_lang.c |
| 98 | 98 | ORIGTHSRC=$(foreach sf,$(THSRC),$(SRCDIR)$(sf)) |
| 99 | 99 | THOBJ=$(foreach sf,$(THSRC),$(sf:.c=.obj)) |
| 100 | 100 |
| --- win/Makefile.PellesCGMake | |
| +++ win/Makefile.PellesCGMake | |
| @@ -83,17 +83,17 @@ | |
| 83 | |
| 84 | # define the SQLite files, which need special flags on compile |
| 85 | SQLITESRC=sqlite3.c |
| 86 | ORIGSQLITESRC=$(foreach sf,$(SQLITESRC),$(SRCDIR)$(sf)) |
| 87 | SQLITEOBJ=$(foreach sf,$(SQLITESRC),$(sf:.c=.obj)) |
| 88 | SQLITEDEFINES=-DNDEBUG=1 -DSQLITE_DQS=0 -DSQLITE_THREADSAFE=0 -DSQLITE_DEFAULT_MEMSTATUS=0 -DSQLITE_DEFAULT_WAL_SYNCHRONOUS=1 -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_OMIT_DECLTYPE -DSQLITE_OMIT_DEPRECATED -DSQLITE_OMIT_GET_TABLE -DSQLITE_OMIT_PROGRESS_CALLBACK -DSQLITE_OMIT_SHARED_CACHE -DSQLITE_OMIT_LOAD_EXTENSION -DSQLITE_MAX_EXPR_DEPTH=0 -DSQLITE_USE_ALLOCA -DSQLITE_ENABLE_LOCKING_STYLE=0 -DSQLITE_DEFAULT_FILE_FORMAT=4 -DSQLITE_ENABLE_EXPLAIN_COMMENTS -DSQLITE_ENABLE_FTS4 -DSQLITE_ENABLE_DBSTAT_VTAB -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_STMTVTAB -DSQLITE_HAVE_ZLIB -DSQLITE_INTROSPECTION_PRAGMAS -DSQLITE_ENABLE_DBPAGE_VTAB -DSQLITE_TRUSTED_SCHEMA=0 -DSQLITE_WIN32_NO_ANSI |
| 89 | |
| 90 | # define the SQLite shell files, which need special flags on compile |
| 91 | SQLITESHELLSRC=shell.c |
| 92 | ORIGSQLITESHELLSRC=$(foreach sf,$(SQLITESHELLSRC),$(SRCDIR)$(sf)) |
| 93 | SQLITESHELLOBJ=$(foreach sf,$(SQLITESHELLSRC),$(sf:.c=.obj)) |
| 94 | SQLITESHELLDEFINES=-DNDEBUG=1 -DSQLITE_DQS=0 -DSQLITE_THREADSAFE=0 -DSQLITE_DEFAULT_MEMSTATUS=0 -DSQLITE_DEFAULT_WAL_SYNCHRONOUS=1 -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_OMIT_DECLTYPE -DSQLITE_OMIT_DEPRECATED -DSQLITE_OMIT_GET_TABLE -DSQLITE_OMIT_PROGRESS_CALLBACK -DSQLITE_OMIT_SHARED_CACHE -DSQLITE_OMIT_LOAD_EXTENSION -DSQLITE_MAX_EXPR_DEPTH=0 -DSQLITE_USE_ALLOCA -DSQLITE_ENABLE_LOCKING_STYLE=0 -DSQLITE_DEFAULT_FILE_FORMAT=4 -DSQLITE_ENABLE_EXPLAIN_COMMENTS -DSQLITE_ENABLE_FTS4 -DSQLITE_ENABLE_DBSTAT_VTAB -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_STMTVTAB -DSQLITE_HAVE_ZLIB -DSQLITE_INTROSPECTION_PRAGMAS -DSQLITE_ENABLE_DBPAGE_VTAB -DSQLITE_TRUSTED_SCHEMA=0 -Dmain=sqlite3_shell -DSQLITE_SHELL_IS_UTF8=1 -DSQLITE_OMIT_LOAD_EXTENSION=1 -DUSE_SYSTEM_SQLITE=$(USE_SYSTEM_SQLITE) -DSQLITE_SHELL_DBNAME_PROC=sqlcmd_get_dbname -DSQLITE_SHELL_INIT_PROC=sqlcmd_init_proc -Daccess=file_access -Dsystem=fossil_system -Dgetenv=fossil_getenv -Dfopen=fossil_fopen |
| 95 | |
| 96 | # define the th scripting files, which need special flags on compile |
| 97 | THSRC=th.c th_lang.c |
| 98 | ORIGTHSRC=$(foreach sf,$(THSRC),$(SRCDIR)$(sf)) |
| 99 | THOBJ=$(foreach sf,$(THSRC),$(sf:.c=.obj)) |
| 100 |
| --- win/Makefile.PellesCGMake | |
| +++ win/Makefile.PellesCGMake | |
| @@ -83,17 +83,17 @@ | |
| 83 | |
| 84 | # define the SQLite files, which need special flags on compile |
| 85 | SQLITESRC=sqlite3.c |
| 86 | ORIGSQLITESRC=$(foreach sf,$(SQLITESRC),$(SRCDIR)$(sf)) |
| 87 | SQLITEOBJ=$(foreach sf,$(SQLITESRC),$(sf:.c=.obj)) |
| 88 | SQLITEDEFINES=-DNDEBUG=1 -DSQLITE_DQS=0 -DSQLITE_THREADSAFE=0 -DSQLITE_DEFAULT_MEMSTATUS=0 -DSQLITE_DEFAULT_WAL_SYNCHRONOUS=1 -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_OMIT_DECLTYPE -DSQLITE_OMIT_DEPRECATED -DSQLITE_OMIT_PROGRESS_CALLBACK -DSQLITE_OMIT_SHARED_CACHE -DSQLITE_OMIT_LOAD_EXTENSION -DSQLITE_MAX_EXPR_DEPTH=0 -DSQLITE_USE_ALLOCA -DSQLITE_ENABLE_LOCKING_STYLE=0 -DSQLITE_DEFAULT_FILE_FORMAT=4 -DSQLITE_ENABLE_EXPLAIN_COMMENTS -DSQLITE_ENABLE_FTS4 -DSQLITE_ENABLE_DBSTAT_VTAB -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_STMTVTAB -DSQLITE_HAVE_ZLIB -DSQLITE_INTROSPECTION_PRAGMAS -DSQLITE_ENABLE_DBPAGE_VTAB -DSQLITE_TRUSTED_SCHEMA=0 -DSQLITE_WIN32_NO_ANSI |
| 89 | |
| 90 | # define the SQLite shell files, which need special flags on compile |
| 91 | SQLITESHELLSRC=shell.c |
| 92 | ORIGSQLITESHELLSRC=$(foreach sf,$(SQLITESHELLSRC),$(SRCDIR)$(sf)) |
| 93 | SQLITESHELLOBJ=$(foreach sf,$(SQLITESHELLSRC),$(sf:.c=.obj)) |
| 94 | SQLITESHELLDEFINES=-DNDEBUG=1 -DSQLITE_DQS=0 -DSQLITE_THREADSAFE=0 -DSQLITE_DEFAULT_MEMSTATUS=0 -DSQLITE_DEFAULT_WAL_SYNCHRONOUS=1 -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_OMIT_DECLTYPE -DSQLITE_OMIT_DEPRECATED -DSQLITE_OMIT_PROGRESS_CALLBACK -DSQLITE_OMIT_SHARED_CACHE -DSQLITE_OMIT_LOAD_EXTENSION -DSQLITE_MAX_EXPR_DEPTH=0 -DSQLITE_USE_ALLOCA -DSQLITE_ENABLE_LOCKING_STYLE=0 -DSQLITE_DEFAULT_FILE_FORMAT=4 -DSQLITE_ENABLE_EXPLAIN_COMMENTS -DSQLITE_ENABLE_FTS4 -DSQLITE_ENABLE_DBSTAT_VTAB -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_STMTVTAB -DSQLITE_HAVE_ZLIB -DSQLITE_INTROSPECTION_PRAGMAS -DSQLITE_ENABLE_DBPAGE_VTAB -DSQLITE_TRUSTED_SCHEMA=0 -Dmain=sqlite3_shell -DSQLITE_SHELL_IS_UTF8=1 -DSQLITE_OMIT_LOAD_EXTENSION=1 -DUSE_SYSTEM_SQLITE=$(USE_SYSTEM_SQLITE) -DSQLITE_SHELL_DBNAME_PROC=sqlcmd_get_dbname -DSQLITE_SHELL_INIT_PROC=sqlcmd_init_proc -Daccess=file_access -Dsystem=fossil_system -Dgetenv=fossil_getenv -Dfopen=fossil_fopen |
| 95 | |
| 96 | # define the th scripting files, which need special flags on compile |
| 97 | THSRC=th.c th_lang.c |
| 98 | ORIGTHSRC=$(foreach sf,$(THSRC),$(SRCDIR)$(sf)) |
| 99 | THOBJ=$(foreach sf,$(THSRC),$(sf:.c=.obj)) |
| 100 |
+12
-7
| --- win/Makefile.dmc | ||
| +++ win/Makefile.dmc | ||
| @@ -24,17 +24,17 @@ | ||
| 24 | 24 | CFLAGS = -o |
| 25 | 25 | BCC = $(DMDIR)\bin\dmc $(CFLAGS) |
| 26 | 26 | TCC = $(DMDIR)\bin\dmc $(CFLAGS) $(DMCDEF) $(SSL) $(INCL) |
| 27 | 27 | LIBS = $(DMDIR)\extra\lib\ zlib wsock32 advapi32 dnsapi |
| 28 | 28 | |
| 29 | -SQLITE_OPTIONS = -DNDEBUG=1 -DSQLITE_DQS=0 -DSQLITE_THREADSAFE=0 -DSQLITE_DEFAULT_MEMSTATUS=0 -DSQLITE_DEFAULT_WAL_SYNCHRONOUS=1 -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_OMIT_DECLTYPE -DSQLITE_OMIT_DEPRECATED -DSQLITE_OMIT_GET_TABLE -DSQLITE_OMIT_PROGRESS_CALLBACK -DSQLITE_OMIT_SHARED_CACHE -DSQLITE_OMIT_LOAD_EXTENSION -DSQLITE_MAX_EXPR_DEPTH=0 -DSQLITE_USE_ALLOCA -DSQLITE_ENABLE_LOCKING_STYLE=0 -DSQLITE_DEFAULT_FILE_FORMAT=4 -DSQLITE_ENABLE_EXPLAIN_COMMENTS -DSQLITE_ENABLE_FTS4 -DSQLITE_ENABLE_DBSTAT_VTAB -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_STMTVTAB -DSQLITE_HAVE_ZLIB -DSQLITE_INTROSPECTION_PRAGMAS -DSQLITE_ENABLE_DBPAGE_VTAB -DSQLITE_TRUSTED_SCHEMA=0 | |
| 29 | +SQLITE_OPTIONS = -DNDEBUG=1 -DSQLITE_DQS=0 -DSQLITE_THREADSAFE=0 -DSQLITE_DEFAULT_MEMSTATUS=0 -DSQLITE_DEFAULT_WAL_SYNCHRONOUS=1 -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_OMIT_DECLTYPE -DSQLITE_OMIT_DEPRECATED -DSQLITE_OMIT_PROGRESS_CALLBACK -DSQLITE_OMIT_SHARED_CACHE -DSQLITE_OMIT_LOAD_EXTENSION -DSQLITE_MAX_EXPR_DEPTH=0 -DSQLITE_USE_ALLOCA -DSQLITE_ENABLE_LOCKING_STYLE=0 -DSQLITE_DEFAULT_FILE_FORMAT=4 -DSQLITE_ENABLE_EXPLAIN_COMMENTS -DSQLITE_ENABLE_FTS4 -DSQLITE_ENABLE_DBSTAT_VTAB -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_STMTVTAB -DSQLITE_HAVE_ZLIB -DSQLITE_INTROSPECTION_PRAGMAS -DSQLITE_ENABLE_DBPAGE_VTAB -DSQLITE_TRUSTED_SCHEMA=0 | |
| 30 | 30 | |
| 31 | -SHELL_OPTIONS = -DNDEBUG=1 -DSQLITE_DQS=0 -DSQLITE_THREADSAFE=0 -DSQLITE_DEFAULT_MEMSTATUS=0 -DSQLITE_DEFAULT_WAL_SYNCHRONOUS=1 -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_OMIT_DECLTYPE -DSQLITE_OMIT_DEPRECATED -DSQLITE_OMIT_GET_TABLE -DSQLITE_OMIT_PROGRESS_CALLBACK -DSQLITE_OMIT_SHARED_CACHE -DSQLITE_OMIT_LOAD_EXTENSION -DSQLITE_MAX_EXPR_DEPTH=0 -DSQLITE_USE_ALLOCA -DSQLITE_ENABLE_LOCKING_STYLE=0 -DSQLITE_DEFAULT_FILE_FORMAT=4 -DSQLITE_ENABLE_EXPLAIN_COMMENTS -DSQLITE_ENABLE_FTS4 -DSQLITE_ENABLE_DBSTAT_VTAB -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_STMTVTAB -DSQLITE_HAVE_ZLIB -DSQLITE_INTROSPECTION_PRAGMAS -DSQLITE_ENABLE_DBPAGE_VTAB -DSQLITE_TRUSTED_SCHEMA=0 -Dmain=sqlite3_shell -DSQLITE_SHELL_IS_UTF8=1 -DSQLITE_OMIT_LOAD_EXTENSION=1 -DUSE_SYSTEM_SQLITE=$(USE_SYSTEM_SQLITE) -DSQLITE_SHELL_DBNAME_PROC=sqlcmd_get_dbname -DSQLITE_SHELL_INIT_PROC=sqlcmd_init_proc -Daccess=file_access -Dsystem=fossil_system -Dgetenv=fossil_getenv -Dfopen=fossil_fopen | |
| 31 | +SHELL_OPTIONS = -DNDEBUG=1 -DSQLITE_DQS=0 -DSQLITE_THREADSAFE=0 -DSQLITE_DEFAULT_MEMSTATUS=0 -DSQLITE_DEFAULT_WAL_SYNCHRONOUS=1 -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_OMIT_DECLTYPE -DSQLITE_OMIT_DEPRECATED -DSQLITE_OMIT_PROGRESS_CALLBACK -DSQLITE_OMIT_SHARED_CACHE -DSQLITE_OMIT_LOAD_EXTENSION -DSQLITE_MAX_EXPR_DEPTH=0 -DSQLITE_USE_ALLOCA -DSQLITE_ENABLE_LOCKING_STYLE=0 -DSQLITE_DEFAULT_FILE_FORMAT=4 -DSQLITE_ENABLE_EXPLAIN_COMMENTS -DSQLITE_ENABLE_FTS4 -DSQLITE_ENABLE_DBSTAT_VTAB -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_STMTVTAB -DSQLITE_HAVE_ZLIB -DSQLITE_INTROSPECTION_PRAGMAS -DSQLITE_ENABLE_DBPAGE_VTAB -DSQLITE_TRUSTED_SCHEMA=0 -Dmain=sqlite3_shell -DSQLITE_SHELL_IS_UTF8=1 -DSQLITE_OMIT_LOAD_EXTENSION=1 -DUSE_SYSTEM_SQLITE=$(USE_SYSTEM_SQLITE) -DSQLITE_SHELL_DBNAME_PROC=sqlcmd_get_dbname -DSQLITE_SHELL_INIT_PROC=sqlcmd_init_proc -Daccess=file_access -Dsystem=fossil_system -Dgetenv=fossil_getenv -Dfopen=fossil_fopen | |
| 32 | 32 | |
| 33 | -SRC = add_.c alerts_.c allrepo_.c attach_.c backlink_.c backoffice_.c bag_.c bisect_.c blob_.c branch_.c browse_.c builtin_.c bundle_.c cache_.c capabilities_.c captcha_.c cgi_.c checkin_.c checkout_.c clearsign_.c clone_.c comformat_.c configure_.c content_.c cookies_.c db_.c delta_.c deltacmd_.c deltafunc_.c descendants_.c diff_.c diffcmd_.c dispatch_.c doc_.c encode_.c etag_.c event_.c export_.c extcgi_.c file_.c fileedit_.c finfo_.c foci_.c forum_.c fshell_.c fusefs_.c fuzz_.c glob_.c graph_.c gzip_.c hname_.c http_.c http_socket_.c http_ssl_.c http_transport_.c import_.c info_.c json_.c json_artifact_.c json_branch_.c json_config_.c json_diff_.c json_dir_.c json_finfo_.c json_login_.c json_query_.c json_report_.c json_status_.c json_tag_.c json_timeline_.c json_user_.c json_wiki_.c leaf_.c loadctrl_.c login_.c lookslike_.c main_.c manifest_.c markdown_.c markdown_html_.c md5_.c merge_.c merge3_.c moderate_.c name_.c path_.c piechart_.c pivot_.c popen_.c pqueue_.c printf_.c publish_.c purge_.c rebuild_.c regexp_.c repolist_.c report_.c rss_.c schema_.c search_.c security_audit_.c setup_.c setupuser_.c sha1_.c sha1hard_.c sha3_.c shun_.c sitemap_.c skins_.c smtp_.c sqlcmd_.c stash_.c stat_.c statrep_.c style_.c sync_.c tag_.c tar_.c terminal_.c th_main_.c timeline_.c tkt_.c tktsetup_.c undo_.c unicode_.c unversioned_.c update_.c url_.c user_.c utf8_.c util_.c verify_.c vfile_.c webmail_.c wiki_.c wikiformat_.c winfile_.c winhttp_.c wysiwyg_.c xfer_.c xfersetup_.c zip_.c | |
| 33 | +SRC = add_.c ajax_.c alerts_.c allrepo_.c attach_.c backlink_.c backoffice_.c bag_.c bisect_.c blob_.c branch_.c browse_.c builtin_.c bundle_.c cache_.c capabilities_.c captcha_.c cgi_.c checkin_.c checkout_.c clearsign_.c clone_.c comformat_.c configure_.c content_.c cookies_.c db_.c delta_.c deltacmd_.c deltafunc_.c descendants_.c diff_.c diffcmd_.c dispatch_.c doc_.c encode_.c etag_.c event_.c export_.c extcgi_.c file_.c fileedit_.c finfo_.c foci_.c forum_.c fshell_.c fusefs_.c fuzz_.c glob_.c graph_.c gzip_.c hname_.c http_.c http_socket_.c http_ssl_.c http_transport_.c import_.c info_.c json_.c json_artifact_.c json_branch_.c json_config_.c json_diff_.c json_dir_.c json_finfo_.c json_login_.c json_query_.c json_report_.c json_status_.c json_tag_.c json_timeline_.c json_user_.c json_wiki_.c leaf_.c loadctrl_.c login_.c lookslike_.c main_.c manifest_.c markdown_.c markdown_html_.c md5_.c merge_.c merge3_.c moderate_.c name_.c path_.c piechart_.c pivot_.c popen_.c pqueue_.c printf_.c publish_.c purge_.c rebuild_.c regexp_.c repolist_.c report_.c rss_.c schema_.c search_.c security_audit_.c setup_.c setupuser_.c sha1_.c sha1hard_.c sha3_.c shun_.c sitemap_.c skins_.c smtp_.c sqlcmd_.c stash_.c stat_.c statrep_.c style_.c sync_.c tag_.c tar_.c terminal_.c th_main_.c timeline_.c tkt_.c tktsetup_.c undo_.c unicode_.c unversioned_.c update_.c url_.c user_.c utf8_.c util_.c verify_.c vfile_.c webmail_.c wiki_.c wikiformat_.c winfile_.c winhttp_.c wysiwyg_.c xfer_.c xfersetup_.c zip_.c | |
| 34 | 34 | |
| 35 | -OBJ = $(OBJDIR)\add$O $(OBJDIR)\alerts$O $(OBJDIR)\allrepo$O $(OBJDIR)\attach$O $(OBJDIR)\backlink$O $(OBJDIR)\backoffice$O $(OBJDIR)\bag$O $(OBJDIR)\bisect$O $(OBJDIR)\blob$O $(OBJDIR)\branch$O $(OBJDIR)\browse$O $(OBJDIR)\builtin$O $(OBJDIR)\bundle$O $(OBJDIR)\cache$O $(OBJDIR)\capabilities$O $(OBJDIR)\captcha$O $(OBJDIR)\cgi$O $(OBJDIR)\checkin$O $(OBJDIR)\checkout$O $(OBJDIR)\clearsign$O $(OBJDIR)\clone$O $(OBJDIR)\comformat$O $(OBJDIR)\configure$O $(OBJDIR)\content$O $(OBJDIR)\cookies$O $(OBJDIR)\db$O $(OBJDIR)\delta$O $(OBJDIR)\deltacmd$O $(OBJDIR)\deltafunc$O $(OBJDIR)\descendants$O $(OBJDIR)\diff$O $(OBJDIR)\diffcmd$O $(OBJDIR)\dispatch$O $(OBJDIR)\doc$O $(OBJDIR)\encode$O $(OBJDIR)\etag$O $(OBJDIR)\event$O $(OBJDIR)\export$O $(OBJDIR)\extcgi$O $(OBJDIR)\file$O $(OBJDIR)\fileedit$O $(OBJDIR)\finfo$O $(OBJDIR)\foci$O $(OBJDIR)\forum$O $(OBJDIR)\fshell$O $(OBJDIR)\fusefs$O $(OBJDIR)\fuzz$O $(OBJDIR)\glob$O $(OBJDIR)\graph$O $(OBJDIR)\gzip$O $(OBJDIR)\hname$O $(OBJDIR)\http$O $(OBJDIR)\http_socket$O $(OBJDIR)\http_ssl$O $(OBJDIR)\http_transport$O $(OBJDIR)\import$O $(OBJDIR)\info$O $(OBJDIR)\json$O $(OBJDIR)\json_artifact$O $(OBJDIR)\json_branch$O $(OBJDIR)\json_config$O $(OBJDIR)\json_diff$O $(OBJDIR)\json_dir$O $(OBJDIR)\json_finfo$O $(OBJDIR)\json_login$O $(OBJDIR)\json_query$O $(OBJDIR)\json_report$O $(OBJDIR)\json_status$O $(OBJDIR)\json_tag$O $(OBJDIR)\json_timeline$O $(OBJDIR)\json_user$O $(OBJDIR)\json_wiki$O $(OBJDIR)\leaf$O $(OBJDIR)\loadctrl$O $(OBJDIR)\login$O $(OBJDIR)\lookslike$O $(OBJDIR)\main$O $(OBJDIR)\manifest$O $(OBJDIR)\markdown$O $(OBJDIR)\markdown_html$O $(OBJDIR)\md5$O $(OBJDIR)\merge$O $(OBJDIR)\merge3$O $(OBJDIR)\moderate$O $(OBJDIR)\name$O $(OBJDIR)\path$O $(OBJDIR)\piechart$O $(OBJDIR)\pivot$O $(OBJDIR)\popen$O $(OBJDIR)\pqueue$O $(OBJDIR)\printf$O $(OBJDIR)\publish$O $(OBJDIR)\purge$O $(OBJDIR)\rebuild$O $(OBJDIR)\regexp$O $(OBJDIR)\repolist$O $(OBJDIR)\report$O $(OBJDIR)\rss$O $(OBJDIR)\schema$O $(OBJDIR)\search$O $(OBJDIR)\security_audit$O $(OBJDIR)\setup$O $(OBJDIR)\setupuser$O $(OBJDIR)\sha1$O $(OBJDIR)\sha1hard$O $(OBJDIR)\sha3$O $(OBJDIR)\shun$O $(OBJDIR)\sitemap$O $(OBJDIR)\skins$O $(OBJDIR)\smtp$O $(OBJDIR)\sqlcmd$O $(OBJDIR)\stash$O $(OBJDIR)\stat$O $(OBJDIR)\statrep$O $(OBJDIR)\style$O $(OBJDIR)\sync$O $(OBJDIR)\tag$O $(OBJDIR)\tar$O $(OBJDIR)\terminal$O $(OBJDIR)\th_main$O $(OBJDIR)\timeline$O $(OBJDIR)\tkt$O $(OBJDIR)\tktsetup$O $(OBJDIR)\undo$O $(OBJDIR)\unicode$O $(OBJDIR)\unversioned$O $(OBJDIR)\update$O $(OBJDIR)\url$O $(OBJDIR)\user$O $(OBJDIR)\utf8$O $(OBJDIR)\util$O $(OBJDIR)\verify$O $(OBJDIR)\vfile$O $(OBJDIR)\webmail$O $(OBJDIR)\wiki$O $(OBJDIR)\wikiformat$O $(OBJDIR)\winfile$O $(OBJDIR)\winhttp$O $(OBJDIR)\wysiwyg$O $(OBJDIR)\xfer$O $(OBJDIR)\xfersetup$O $(OBJDIR)\zip$O $(OBJDIR)\shell$O $(OBJDIR)\sqlite3$O $(OBJDIR)\th$O $(OBJDIR)\th_lang$O | |
| 35 | +OBJ = $(OBJDIR)\add$O $(OBJDIR)\ajax$O $(OBJDIR)\alerts$O $(OBJDIR)\allrepo$O $(OBJDIR)\attach$O $(OBJDIR)\backlink$O $(OBJDIR)\backoffice$O $(OBJDIR)\bag$O $(OBJDIR)\bisect$O $(OBJDIR)\blob$O $(OBJDIR)\branch$O $(OBJDIR)\browse$O $(OBJDIR)\builtin$O $(OBJDIR)\bundle$O $(OBJDIR)\cache$O $(OBJDIR)\capabilities$O $(OBJDIR)\captcha$O $(OBJDIR)\cgi$O $(OBJDIR)\checkin$O $(OBJDIR)\checkout$O $(OBJDIR)\clearsign$O $(OBJDIR)\clone$O $(OBJDIR)\comformat$O $(OBJDIR)\configure$O $(OBJDIR)\content$O $(OBJDIR)\cookies$O $(OBJDIR)\db$O $(OBJDIR)\delta$O $(OBJDIR)\deltacmd$O $(OBJDIR)\deltafunc$O $(OBJDIR)\descendants$O $(OBJDIR)\diff$O $(OBJDIR)\diffcmd$O $(OBJDIR)\dispatch$O $(OBJDIR)\doc$O $(OBJDIR)\encode$O $(OBJDIR)\etag$O $(OBJDIR)\event$O $(OBJDIR)\export$O $(OBJDIR)\extcgi$O $(OBJDIR)\file$O $(OBJDIR)\fileedit$O $(OBJDIR)\finfo$O $(OBJDIR)\foci$O $(OBJDIR)\forum$O $(OBJDIR)\fshell$O $(OBJDIR)\fusefs$O $(OBJDIR)\fuzz$O $(OBJDIR)\glob$O $(OBJDIR)\graph$O $(OBJDIR)\gzip$O $(OBJDIR)\hname$O $(OBJDIR)\http$O $(OBJDIR)\http_socket$O $(OBJDIR)\http_ssl$O $(OBJDIR)\http_transport$O $(OBJDIR)\import$O $(OBJDIR)\info$O $(OBJDIR)\json$O $(OBJDIR)\json_artifact$O $(OBJDIR)\json_branch$O $(OBJDIR)\json_config$O $(OBJDIR)\json_diff$O $(OBJDIR)\json_dir$O $(OBJDIR)\json_finfo$O $(OBJDIR)\json_login$O $(OBJDIR)\json_query$O $(OBJDIR)\json_report$O $(OBJDIR)\json_status$O $(OBJDIR)\json_tag$O $(OBJDIR)\json_timeline$O $(OBJDIR)\json_user$O $(OBJDIR)\json_wiki$O $(OBJDIR)\leaf$O $(OBJDIR)\loadctrl$O $(OBJDIR)\login$O $(OBJDIR)\lookslike$O $(OBJDIR)\main$O $(OBJDIR)\manifest$O $(OBJDIR)\markdown$O $(OBJDIR)\markdown_html$O $(OBJDIR)\md5$O $(OBJDIR)\merge$O $(OBJDIR)\merge3$O $(OBJDIR)\moderate$O $(OBJDIR)\name$O $(OBJDIR)\path$O $(OBJDIR)\piechart$O $(OBJDIR)\pivot$O $(OBJDIR)\popen$O $(OBJDIR)\pqueue$O $(OBJDIR)\printf$O $(OBJDIR)\publish$O $(OBJDIR)\purge$O $(OBJDIR)\rebuild$O $(OBJDIR)\regexp$O $(OBJDIR)\repolist$O $(OBJDIR)\report$O $(OBJDIR)\rss$O $(OBJDIR)\schema$O $(OBJDIR)\search$O $(OBJDIR)\security_audit$O $(OBJDIR)\setup$O $(OBJDIR)\setupuser$O $(OBJDIR)\sha1$O $(OBJDIR)\sha1hard$O $(OBJDIR)\sha3$O $(OBJDIR)\shun$O $(OBJDIR)\sitemap$O $(OBJDIR)\skins$O $(OBJDIR)\smtp$O $(OBJDIR)\sqlcmd$O $(OBJDIR)\stash$O $(OBJDIR)\stat$O $(OBJDIR)\statrep$O $(OBJDIR)\style$O $(OBJDIR)\sync$O $(OBJDIR)\tag$O $(OBJDIR)\tar$O $(OBJDIR)\terminal$O $(OBJDIR)\th_main$O $(OBJDIR)\timeline$O $(OBJDIR)\tkt$O $(OBJDIR)\tktsetup$O $(OBJDIR)\undo$O $(OBJDIR)\unicode$O $(OBJDIR)\unversioned$O $(OBJDIR)\update$O $(OBJDIR)\url$O $(OBJDIR)\user$O $(OBJDIR)\utf8$O $(OBJDIR)\util$O $(OBJDIR)\verify$O $(OBJDIR)\vfile$O $(OBJDIR)\webmail$O $(OBJDIR)\wiki$O $(OBJDIR)\wikiformat$O $(OBJDIR)\winfile$O $(OBJDIR)\winhttp$O $(OBJDIR)\wysiwyg$O $(OBJDIR)\xfer$O $(OBJDIR)\xfersetup$O $(OBJDIR)\zip$O $(OBJDIR)\shell$O $(OBJDIR)\sqlite3$O $(OBJDIR)\th$O $(OBJDIR)\th_lang$O | |
| 36 | 36 | |
| 37 | 37 | |
| 38 | 38 | RC=$(DMDIR)\bin\rcc |
| 39 | 39 | RCFLAGS=-32 -w1 -I$(SRCDIR) /D__DMC__ |
| 40 | 40 | |
| @@ -49,11 +49,11 @@ | ||
| 49 | 49 | |
| 50 | 50 | $(OBJDIR)\fossil.res: $B\win\fossil.rc |
| 51 | 51 | $(RC) $(RCFLAGS) -o$@ $** |
| 52 | 52 | |
| 53 | 53 | $(OBJDIR)\link: $B\win\Makefile.dmc $(OBJDIR)\fossil.res |
| 54 | - +echo add alerts allrepo attach backlink backoffice bag bisect blob branch browse builtin bundle cache capabilities captcha cgi checkin checkout clearsign clone comformat configure content cookies db delta deltacmd deltafunc descendants diff diffcmd dispatch doc encode etag event export extcgi file fileedit finfo foci forum fshell fusefs fuzz glob graph gzip hname http http_socket http_ssl http_transport import info json json_artifact json_branch json_config json_diff json_dir json_finfo json_login json_query json_report json_status json_tag json_timeline json_user json_wiki leaf loadctrl login lookslike main manifest markdown markdown_html md5 merge merge3 moderate name path piechart pivot popen pqueue printf publish purge rebuild regexp repolist report rss schema search security_audit setup setupuser sha1 sha1hard sha3 shun sitemap skins smtp sqlcmd stash stat statrep style sync tag tar terminal th_main timeline tkt tktsetup undo unicode unversioned update url user utf8 util verify vfile webmail wiki wikiformat winfile winhttp wysiwyg xfer xfersetup zip shell sqlite3 th th_lang > $@ | |
| 54 | + +echo add ajax alerts allrepo attach backlink backoffice bag bisect blob branch browse builtin bundle cache capabilities captcha cgi checkin checkout clearsign clone comformat configure content cookies db delta deltacmd deltafunc descendants diff diffcmd dispatch doc encode etag event export extcgi file fileedit finfo foci forum fshell fusefs fuzz glob graph gzip hname http http_socket http_ssl http_transport import info json json_artifact json_branch json_config json_diff json_dir json_finfo json_login json_query json_report json_status json_tag json_timeline json_user json_wiki leaf loadctrl login lookslike main manifest markdown markdown_html md5 merge merge3 moderate name path piechart pivot popen pqueue printf publish purge rebuild regexp repolist report rss schema search security_audit setup setupuser sha1 sha1hard sha3 shun sitemap skins smtp sqlcmd stash stat statrep style sync tag tar terminal th_main timeline tkt tktsetup undo unicode unversioned update url user utf8 util verify vfile webmail wiki wikiformat winfile winhttp wysiwyg xfer xfersetup zip shell sqlite3 th th_lang > $@ | |
| 55 | 55 | +echo fossil >> $@ |
| 56 | 56 | +echo fossil >> $@ |
| 57 | 57 | +echo $(LIBS) >> $@ |
| 58 | 58 | +echo. >> $@ |
| 59 | 59 | +echo fossil >> $@ |
| @@ -122,16 +122,21 @@ | ||
| 122 | 122 | $(OBJDIR)\json_timeline$O : $(SRCDIR)\json_detail.h |
| 123 | 123 | $(OBJDIR)\json_user$O : $(SRCDIR)\json_detail.h |
| 124 | 124 | $(OBJDIR)\json_wiki$O : $(SRCDIR)\json_detail.h |
| 125 | 125 | |
| 126 | 126 | |
| 127 | - | |
| 128 | 127 | $(OBJDIR)\add$O : add_.c add.h |
| 129 | 128 | $(TCC) -o$@ -c add_.c |
| 130 | 129 | |
| 131 | 130 | add_.c : $(SRCDIR)\add.c |
| 132 | 131 | +translate$E $** > $@ |
| 132 | + | |
| 133 | +$(OBJDIR)\ajax$O : ajax_.c ajax.h | |
| 134 | + $(TCC) -o$@ -c ajax_.c | |
| 135 | + | |
| 136 | +ajax_.c : $(SRCDIR)\ajax.c | |
| 137 | + +translate$E $** > $@ | |
| 133 | 138 | |
| 134 | 139 | $(OBJDIR)\alerts$O : alerts_.c alerts.h |
| 135 | 140 | $(TCC) -o$@ -c alerts_.c |
| 136 | 141 | |
| 137 | 142 | alerts_.c : $(SRCDIR)\alerts.c |
| @@ -976,7 +981,7 @@ | ||
| 976 | 981 | |
| 977 | 982 | zip_.c : $(SRCDIR)\zip.c |
| 978 | 983 | +translate$E $** > $@ |
| 979 | 984 | |
| 980 | 985 | headers: makeheaders$E page_index.h builtin_data.h VERSION.h |
| 981 | - +makeheaders$E add_.c:add.h alerts_.c:alerts.h allrepo_.c:allrepo.h attach_.c:attach.h backlink_.c:backlink.h backoffice_.c:backoffice.h bag_.c:bag.h bisect_.c:bisect.h blob_.c:blob.h branch_.c:branch.h browse_.c:browse.h builtin_.c:builtin.h bundle_.c:bundle.h cache_.c:cache.h capabilities_.c:capabilities.h captcha_.c:captcha.h cgi_.c:cgi.h checkin_.c:checkin.h checkout_.c:checkout.h clearsign_.c:clearsign.h clone_.c:clone.h comformat_.c:comformat.h configure_.c:configure.h content_.c:content.h cookies_.c:cookies.h db_.c:db.h delta_.c:delta.h deltacmd_.c:deltacmd.h deltafunc_.c:deltafunc.h descendants_.c:descendants.h diff_.c:diff.h diffcmd_.c:diffcmd.h dispatch_.c:dispatch.h doc_.c:doc.h encode_.c:encode.h etag_.c:etag.h event_.c:event.h export_.c:export.h extcgi_.c:extcgi.h file_.c:file.h fileedit_.c:fileedit.h finfo_.c:finfo.h foci_.c:foci.h forum_.c:forum.h fshell_.c:fshell.h fusefs_.c:fusefs.h fuzz_.c:fuzz.h glob_.c:glob.h graph_.c:graph.h gzip_.c:gzip.h hname_.c:hname.h http_.c:http.h http_socket_.c:http_socket.h http_ssl_.c:http_ssl.h http_transport_.c:http_transport.h import_.c:import.h info_.c:info.h json_.c:json.h json_artifact_.c:json_artifact.h json_branch_.c:json_branch.h json_config_.c:json_config.h json_diff_.c:json_diff.h json_dir_.c:json_dir.h json_finfo_.c:json_finfo.h json_login_.c:json_login.h json_query_.c:json_query.h json_report_.c:json_report.h json_status_.c:json_status.h json_tag_.c:json_tag.h json_timeline_.c:json_timeline.h json_user_.c:json_user.h json_wiki_.c:json_wiki.h leaf_.c:leaf.h loadctrl_.c:loadctrl.h login_.c:login.h lookslike_.c:lookslike.h main_.c:main.h manifest_.c:manifest.h markdown_.c:markdown.h markdown_html_.c:markdown_html.h md5_.c:md5.h merge_.c:merge.h merge3_.c:merge3.h moderate_.c:moderate.h name_.c:name.h path_.c:path.h piechart_.c:piechart.h pivot_.c:pivot.h popen_.c:popen.h pqueue_.c:pqueue.h printf_.c:printf.h publish_.c:publish.h purge_.c:purge.h rebuild_.c:rebuild.h regexp_.c:regexp.h repolist_.c:repolist.h report_.c:report.h rss_.c:rss.h schema_.c:schema.h search_.c:search.h security_audit_.c:security_audit.h setup_.c:setup.h setupuser_.c:setupuser.h sha1_.c:sha1.h sha1hard_.c:sha1hard.h sha3_.c:sha3.h shun_.c:shun.h sitemap_.c:sitemap.h skins_.c:skins.h smtp_.c:smtp.h sqlcmd_.c:sqlcmd.h stash_.c:stash.h stat_.c:stat.h statrep_.c:statrep.h style_.c:style.h sync_.c:sync.h tag_.c:tag.h tar_.c:tar.h terminal_.c:terminal.h th_main_.c:th_main.h timeline_.c:timeline.h tkt_.c:tkt.h tktsetup_.c:tktsetup.h undo_.c:undo.h unicode_.c:unicode.h unversioned_.c:unversioned.h update_.c:update.h url_.c:url.h user_.c:user.h utf8_.c:utf8.h util_.c:util.h verify_.c:verify.h vfile_.c:vfile.h webmail_.c:webmail.h wiki_.c:wiki.h wikiformat_.c:wikiformat.h winfile_.c:winfile.h winhttp_.c:winhttp.h wysiwyg_.c:wysiwyg.h xfer_.c:xfer.h xfersetup_.c:xfersetup.h zip_.c:zip.h $(SRCDIR)\sqlite3.h $(SRCDIR)\th.h VERSION.h $(SRCDIR)\cson_amalgamation.h | |
| 986 | + +makeheaders$E add_.c:add.h ajax_.c:ajax.h alerts_.c:alerts.h allrepo_.c:allrepo.h attach_.c:attach.h backlink_.c:backlink.h backoffice_.c:backoffice.h bag_.c:bag.h bisect_.c:bisect.h blob_.c:blob.h branch_.c:branch.h browse_.c:browse.h builtin_.c:builtin.h bundle_.c:bundle.h cache_.c:cache.h capabilities_.c:capabilities.h captcha_.c:captcha.h cgi_.c:cgi.h checkin_.c:checkin.h checkout_.c:checkout.h clearsign_.c:clearsign.h clone_.c:clone.h comformat_.c:comformat.h configure_.c:configure.h content_.c:content.h cookies_.c:cookies.h db_.c:db.h delta_.c:delta.h deltacmd_.c:deltacmd.h deltafunc_.c:deltafunc.h descendants_.c:descendants.h diff_.c:diff.h diffcmd_.c:diffcmd.h dispatch_.c:dispatch.h doc_.c:doc.h encode_.c:encode.h etag_.c:etag.h event_.c:event.h export_.c:export.h extcgi_.c:extcgi.h file_.c:file.h fileedit_.c:fileedit.h finfo_.c:finfo.h foci_.c:foci.h forum_.c:forum.h fshell_.c:fshell.h fusefs_.c:fusefs.h fuzz_.c:fuzz.h glob_.c:glob.h graph_.c:graph.h gzip_.c:gzip.h hname_.c:hname.h http_.c:http.h http_socket_.c:http_socket.h http_ssl_.c:http_ssl.h http_transport_.c:http_transport.h import_.c:import.h info_.c:info.h json_.c:json.h json_artifact_.c:json_artifact.h json_branch_.c:json_branch.h json_config_.c:json_config.h json_diff_.c:json_diff.h json_dir_.c:json_dir.h json_finfo_.c:json_finfo.h json_login_.c:json_login.h json_query_.c:json_query.h json_report_.c:json_report.h json_status_.c:json_status.h json_tag_.c:json_tag.h json_timeline_.c:json_timeline.h json_user_.c:json_user.h json_wiki_.c:json_wiki.h leaf_.c:leaf.h loadctrl_.c:loadctrl.h login_.c:login.h lookslike_.c:lookslike.h main_.c:main.h manifest_.c:manifest.h markdown_.c:markdown.h markdown_html_.c:markdown_html.h md5_.c:md5.h merge_.c:merge.h merge3_.c:merge3.h moderate_.c:moderate.h name_.c:name.h path_.c:path.h piechart_.c:piechart.h pivot_.c:pivot.h popen_.c:popen.h pqueue_.c:pqueue.h printf_.c:printf.h publish_.c:publish.h purge_.c:purge.h rebuild_.c:rebuild.h regexp_.c:regexp.h repolist_.c:repolist.h report_.c:report.h rss_.c:rss.h schema_.c:schema.h search_.c:search.h security_audit_.c:security_audit.h setup_.c:setup.h setupuser_.c:setupuser.h sha1_.c:sha1.h sha1hard_.c:sha1hard.h sha3_.c:sha3.h shun_.c:shun.h sitemap_.c:sitemap.h skins_.c:skins.h smtp_.c:smtp.h sqlcmd_.c:sqlcmd.h stash_.c:stash.h stat_.c:stat.h statrep_.c:statrep.h style_.c:style.h sync_.c:sync.h tag_.c:tag.h tar_.c:tar.h terminal_.c:terminal.h th_main_.c:th_main.h timeline_.c:timeline.h tkt_.c:tkt.h tktsetup_.c:tktsetup.h undo_.c:undo.h unicode_.c:unicode.h unversioned_.c:unversioned.h update_.c:update.h url_.c:url.h user_.c:user.h utf8_.c:utf8.h util_.c:util.h verify_.c:verify.h vfile_.c:vfile.h webmail_.c:webmail.h wiki_.c:wiki.h wikiformat_.c:wikiformat.h winfile_.c:winfile.h winhttp_.c:winhttp.h wysiwyg_.c:wysiwyg.h xfer_.c:xfer.h xfersetup_.c:xfersetup.h zip_.c:zip.h $(SRCDIR)\sqlite3.h $(SRCDIR)\th.h VERSION.h $(SRCDIR)\cson_amalgamation.h | |
| 982 | 987 | @copy /Y nul: headers |
| 983 | 988 |
| --- win/Makefile.dmc | |
| +++ win/Makefile.dmc | |
| @@ -24,17 +24,17 @@ | |
| 24 | CFLAGS = -o |
| 25 | BCC = $(DMDIR)\bin\dmc $(CFLAGS) |
| 26 | TCC = $(DMDIR)\bin\dmc $(CFLAGS) $(DMCDEF) $(SSL) $(INCL) |
| 27 | LIBS = $(DMDIR)\extra\lib\ zlib wsock32 advapi32 dnsapi |
| 28 | |
| 29 | SQLITE_OPTIONS = -DNDEBUG=1 -DSQLITE_DQS=0 -DSQLITE_THREADSAFE=0 -DSQLITE_DEFAULT_MEMSTATUS=0 -DSQLITE_DEFAULT_WAL_SYNCHRONOUS=1 -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_OMIT_DECLTYPE -DSQLITE_OMIT_DEPRECATED -DSQLITE_OMIT_GET_TABLE -DSQLITE_OMIT_PROGRESS_CALLBACK -DSQLITE_OMIT_SHARED_CACHE -DSQLITE_OMIT_LOAD_EXTENSION -DSQLITE_MAX_EXPR_DEPTH=0 -DSQLITE_USE_ALLOCA -DSQLITE_ENABLE_LOCKING_STYLE=0 -DSQLITE_DEFAULT_FILE_FORMAT=4 -DSQLITE_ENABLE_EXPLAIN_COMMENTS -DSQLITE_ENABLE_FTS4 -DSQLITE_ENABLE_DBSTAT_VTAB -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_STMTVTAB -DSQLITE_HAVE_ZLIB -DSQLITE_INTROSPECTION_PRAGMAS -DSQLITE_ENABLE_DBPAGE_VTAB -DSQLITE_TRUSTED_SCHEMA=0 |
| 30 | |
| 31 | SHELL_OPTIONS = -DNDEBUG=1 -DSQLITE_DQS=0 -DSQLITE_THREADSAFE=0 -DSQLITE_DEFAULT_MEMSTATUS=0 -DSQLITE_DEFAULT_WAL_SYNCHRONOUS=1 -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_OMIT_DECLTYPE -DSQLITE_OMIT_DEPRECATED -DSQLITE_OMIT_GET_TABLE -DSQLITE_OMIT_PROGRESS_CALLBACK -DSQLITE_OMIT_SHARED_CACHE -DSQLITE_OMIT_LOAD_EXTENSION -DSQLITE_MAX_EXPR_DEPTH=0 -DSQLITE_USE_ALLOCA -DSQLITE_ENABLE_LOCKING_STYLE=0 -DSQLITE_DEFAULT_FILE_FORMAT=4 -DSQLITE_ENABLE_EXPLAIN_COMMENTS -DSQLITE_ENABLE_FTS4 -DSQLITE_ENABLE_DBSTAT_VTAB -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_STMTVTAB -DSQLITE_HAVE_ZLIB -DSQLITE_INTROSPECTION_PRAGMAS -DSQLITE_ENABLE_DBPAGE_VTAB -DSQLITE_TRUSTED_SCHEMA=0 -Dmain=sqlite3_shell -DSQLITE_SHELL_IS_UTF8=1 -DSQLITE_OMIT_LOAD_EXTENSION=1 -DUSE_SYSTEM_SQLITE=$(USE_SYSTEM_SQLITE) -DSQLITE_SHELL_DBNAME_PROC=sqlcmd_get_dbname -DSQLITE_SHELL_INIT_PROC=sqlcmd_init_proc -Daccess=file_access -Dsystem=fossil_system -Dgetenv=fossil_getenv -Dfopen=fossil_fopen |
| 32 | |
| 33 | SRC = add_.c alerts_.c allrepo_.c attach_.c backlink_.c backoffice_.c bag_.c bisect_.c blob_.c branch_.c browse_.c builtin_.c bundle_.c cache_.c capabilities_.c captcha_.c cgi_.c checkin_.c checkout_.c clearsign_.c clone_.c comformat_.c configure_.c content_.c cookies_.c db_.c delta_.c deltacmd_.c deltafunc_.c descendants_.c diff_.c diffcmd_.c dispatch_.c doc_.c encode_.c etag_.c event_.c export_.c extcgi_.c file_.c fileedit_.c finfo_.c foci_.c forum_.c fshell_.c fusefs_.c fuzz_.c glob_.c graph_.c gzip_.c hname_.c http_.c http_socket_.c http_ssl_.c http_transport_.c import_.c info_.c json_.c json_artifact_.c json_branch_.c json_config_.c json_diff_.c json_dir_.c json_finfo_.c json_login_.c json_query_.c json_report_.c json_status_.c json_tag_.c json_timeline_.c json_user_.c json_wiki_.c leaf_.c loadctrl_.c login_.c lookslike_.c main_.c manifest_.c markdown_.c markdown_html_.c md5_.c merge_.c merge3_.c moderate_.c name_.c path_.c piechart_.c pivot_.c popen_.c pqueue_.c printf_.c publish_.c purge_.c rebuild_.c regexp_.c repolist_.c report_.c rss_.c schema_.c search_.c security_audit_.c setup_.c setupuser_.c sha1_.c sha1hard_.c sha3_.c shun_.c sitemap_.c skins_.c smtp_.c sqlcmd_.c stash_.c stat_.c statrep_.c style_.c sync_.c tag_.c tar_.c terminal_.c th_main_.c timeline_.c tkt_.c tktsetup_.c undo_.c unicode_.c unversioned_.c update_.c url_.c user_.c utf8_.c util_.c verify_.c vfile_.c webmail_.c wiki_.c wikiformat_.c winfile_.c winhttp_.c wysiwyg_.c xfer_.c xfersetup_.c zip_.c |
| 34 | |
| 35 | OBJ = $(OBJDIR)\add$O $(OBJDIR)\alerts$O $(OBJDIR)\allrepo$O $(OBJDIR)\attach$O $(OBJDIR)\backlink$O $(OBJDIR)\backoffice$O $(OBJDIR)\bag$O $(OBJDIR)\bisect$O $(OBJDIR)\blob$O $(OBJDIR)\branch$O $(OBJDIR)\browse$O $(OBJDIR)\builtin$O $(OBJDIR)\bundle$O $(OBJDIR)\cache$O $(OBJDIR)\capabilities$O $(OBJDIR)\captcha$O $(OBJDIR)\cgi$O $(OBJDIR)\checkin$O $(OBJDIR)\checkout$O $(OBJDIR)\clearsign$O $(OBJDIR)\clone$O $(OBJDIR)\comformat$O $(OBJDIR)\configure$O $(OBJDIR)\content$O $(OBJDIR)\cookies$O $(OBJDIR)\db$O $(OBJDIR)\delta$O $(OBJDIR)\deltacmd$O $(OBJDIR)\deltafunc$O $(OBJDIR)\descendants$O $(OBJDIR)\diff$O $(OBJDIR)\diffcmd$O $(OBJDIR)\dispatch$O $(OBJDIR)\doc$O $(OBJDIR)\encode$O $(OBJDIR)\etag$O $(OBJDIR)\event$O $(OBJDIR)\export$O $(OBJDIR)\extcgi$O $(OBJDIR)\file$O $(OBJDIR)\fileedit$O $(OBJDIR)\finfo$O $(OBJDIR)\foci$O $(OBJDIR)\forum$O $(OBJDIR)\fshell$O $(OBJDIR)\fusefs$O $(OBJDIR)\fuzz$O $(OBJDIR)\glob$O $(OBJDIR)\graph$O $(OBJDIR)\gzip$O $(OBJDIR)\hname$O $(OBJDIR)\http$O $(OBJDIR)\http_socket$O $(OBJDIR)\http_ssl$O $(OBJDIR)\http_transport$O $(OBJDIR)\import$O $(OBJDIR)\info$O $(OBJDIR)\json$O $(OBJDIR)\json_artifact$O $(OBJDIR)\json_branch$O $(OBJDIR)\json_config$O $(OBJDIR)\json_diff$O $(OBJDIR)\json_dir$O $(OBJDIR)\json_finfo$O $(OBJDIR)\json_login$O $(OBJDIR)\json_query$O $(OBJDIR)\json_report$O $(OBJDIR)\json_status$O $(OBJDIR)\json_tag$O $(OBJDIR)\json_timeline$O $(OBJDIR)\json_user$O $(OBJDIR)\json_wiki$O $(OBJDIR)\leaf$O $(OBJDIR)\loadctrl$O $(OBJDIR)\login$O $(OBJDIR)\lookslike$O $(OBJDIR)\main$O $(OBJDIR)\manifest$O $(OBJDIR)\markdown$O $(OBJDIR)\markdown_html$O $(OBJDIR)\md5$O $(OBJDIR)\merge$O $(OBJDIR)\merge3$O $(OBJDIR)\moderate$O $(OBJDIR)\name$O $(OBJDIR)\path$O $(OBJDIR)\piechart$O $(OBJDIR)\pivot$O $(OBJDIR)\popen$O $(OBJDIR)\pqueue$O $(OBJDIR)\printf$O $(OBJDIR)\publish$O $(OBJDIR)\purge$O $(OBJDIR)\rebuild$O $(OBJDIR)\regexp$O $(OBJDIR)\repolist$O $(OBJDIR)\report$O $(OBJDIR)\rss$O $(OBJDIR)\schema$O $(OBJDIR)\search$O $(OBJDIR)\security_audit$O $(OBJDIR)\setup$O $(OBJDIR)\setupuser$O $(OBJDIR)\sha1$O $(OBJDIR)\sha1hard$O $(OBJDIR)\sha3$O $(OBJDIR)\shun$O $(OBJDIR)\sitemap$O $(OBJDIR)\skins$O $(OBJDIR)\smtp$O $(OBJDIR)\sqlcmd$O $(OBJDIR)\stash$O $(OBJDIR)\stat$O $(OBJDIR)\statrep$O $(OBJDIR)\style$O $(OBJDIR)\sync$O $(OBJDIR)\tag$O $(OBJDIR)\tar$O $(OBJDIR)\terminal$O $(OBJDIR)\th_main$O $(OBJDIR)\timeline$O $(OBJDIR)\tkt$O $(OBJDIR)\tktsetup$O $(OBJDIR)\undo$O $(OBJDIR)\unicode$O $(OBJDIR)\unversioned$O $(OBJDIR)\update$O $(OBJDIR)\url$O $(OBJDIR)\user$O $(OBJDIR)\utf8$O $(OBJDIR)\util$O $(OBJDIR)\verify$O $(OBJDIR)\vfile$O $(OBJDIR)\webmail$O $(OBJDIR)\wiki$O $(OBJDIR)\wikiformat$O $(OBJDIR)\winfile$O $(OBJDIR)\winhttp$O $(OBJDIR)\wysiwyg$O $(OBJDIR)\xfer$O $(OBJDIR)\xfersetup$O $(OBJDIR)\zip$O $(OBJDIR)\shell$O $(OBJDIR)\sqlite3$O $(OBJDIR)\th$O $(OBJDIR)\th_lang$O |
| 36 | |
| 37 | |
| 38 | RC=$(DMDIR)\bin\rcc |
| 39 | RCFLAGS=-32 -w1 -I$(SRCDIR) /D__DMC__ |
| 40 | |
| @@ -49,11 +49,11 @@ | |
| 49 | |
| 50 | $(OBJDIR)\fossil.res: $B\win\fossil.rc |
| 51 | $(RC) $(RCFLAGS) -o$@ $** |
| 52 | |
| 53 | $(OBJDIR)\link: $B\win\Makefile.dmc $(OBJDIR)\fossil.res |
| 54 | +echo add alerts allrepo attach backlink backoffice bag bisect blob branch browse builtin bundle cache capabilities captcha cgi checkin checkout clearsign clone comformat configure content cookies db delta deltacmd deltafunc descendants diff diffcmd dispatch doc encode etag event export extcgi file fileedit finfo foci forum fshell fusefs fuzz glob graph gzip hname http http_socket http_ssl http_transport import info json json_artifact json_branch json_config json_diff json_dir json_finfo json_login json_query json_report json_status json_tag json_timeline json_user json_wiki leaf loadctrl login lookslike main manifest markdown markdown_html md5 merge merge3 moderate name path piechart pivot popen pqueue printf publish purge rebuild regexp repolist report rss schema search security_audit setup setupuser sha1 sha1hard sha3 shun sitemap skins smtp sqlcmd stash stat statrep style sync tag tar terminal th_main timeline tkt tktsetup undo unicode unversioned update url user utf8 util verify vfile webmail wiki wikiformat winfile winhttp wysiwyg xfer xfersetup zip shell sqlite3 th th_lang > $@ |
| 55 | +echo fossil >> $@ |
| 56 | +echo fossil >> $@ |
| 57 | +echo $(LIBS) >> $@ |
| 58 | +echo. >> $@ |
| 59 | +echo fossil >> $@ |
| @@ -122,16 +122,21 @@ | |
| 122 | $(OBJDIR)\json_timeline$O : $(SRCDIR)\json_detail.h |
| 123 | $(OBJDIR)\json_user$O : $(SRCDIR)\json_detail.h |
| 124 | $(OBJDIR)\json_wiki$O : $(SRCDIR)\json_detail.h |
| 125 | |
| 126 | |
| 127 | |
| 128 | $(OBJDIR)\add$O : add_.c add.h |
| 129 | $(TCC) -o$@ -c add_.c |
| 130 | |
| 131 | add_.c : $(SRCDIR)\add.c |
| 132 | +translate$E $** > $@ |
| 133 | |
| 134 | $(OBJDIR)\alerts$O : alerts_.c alerts.h |
| 135 | $(TCC) -o$@ -c alerts_.c |
| 136 | |
| 137 | alerts_.c : $(SRCDIR)\alerts.c |
| @@ -976,7 +981,7 @@ | |
| 976 | |
| 977 | zip_.c : $(SRCDIR)\zip.c |
| 978 | +translate$E $** > $@ |
| 979 | |
| 980 | headers: makeheaders$E page_index.h builtin_data.h VERSION.h |
| 981 | +makeheaders$E add_.c:add.h alerts_.c:alerts.h allrepo_.c:allrepo.h attach_.c:attach.h backlink_.c:backlink.h backoffice_.c:backoffice.h bag_.c:bag.h bisect_.c:bisect.h blob_.c:blob.h branch_.c:branch.h browse_.c:browse.h builtin_.c:builtin.h bundle_.c:bundle.h cache_.c:cache.h capabilities_.c:capabilities.h captcha_.c:captcha.h cgi_.c:cgi.h checkin_.c:checkin.h checkout_.c:checkout.h clearsign_.c:clearsign.h clone_.c:clone.h comformat_.c:comformat.h configure_.c:configure.h content_.c:content.h cookies_.c:cookies.h db_.c:db.h delta_.c:delta.h deltacmd_.c:deltacmd.h deltafunc_.c:deltafunc.h descendants_.c:descendants.h diff_.c:diff.h diffcmd_.c:diffcmd.h dispatch_.c:dispatch.h doc_.c:doc.h encode_.c:encode.h etag_.c:etag.h event_.c:event.h export_.c:export.h extcgi_.c:extcgi.h file_.c:file.h fileedit_.c:fileedit.h finfo_.c:finfo.h foci_.c:foci.h forum_.c:forum.h fshell_.c:fshell.h fusefs_.c:fusefs.h fuzz_.c:fuzz.h glob_.c:glob.h graph_.c:graph.h gzip_.c:gzip.h hname_.c:hname.h http_.c:http.h http_socket_.c:http_socket.h http_ssl_.c:http_ssl.h http_transport_.c:http_transport.h import_.c:import.h info_.c:info.h json_.c:json.h json_artifact_.c:json_artifact.h json_branch_.c:json_branch.h json_config_.c:json_config.h json_diff_.c:json_diff.h json_dir_.c:json_dir.h json_finfo_.c:json_finfo.h json_login_.c:json_login.h json_query_.c:json_query.h json_report_.c:json_report.h json_status_.c:json_status.h json_tag_.c:json_tag.h json_timeline_.c:json_timeline.h json_user_.c:json_user.h json_wiki_.c:json_wiki.h leaf_.c:leaf.h loadctrl_.c:loadctrl.h login_.c:login.h lookslike_.c:lookslike.h main_.c:main.h manifest_.c:manifest.h markdown_.c:markdown.h markdown_html_.c:markdown_html.h md5_.c:md5.h merge_.c:merge.h merge3_.c:merge3.h moderate_.c:moderate.h name_.c:name.h path_.c:path.h piechart_.c:piechart.h pivot_.c:pivot.h popen_.c:popen.h pqueue_.c:pqueue.h printf_.c:printf.h publish_.c:publish.h purge_.c:purge.h rebuild_.c:rebuild.h regexp_.c:regexp.h repolist_.c:repolist.h report_.c:report.h rss_.c:rss.h schema_.c:schema.h search_.c:search.h security_audit_.c:security_audit.h setup_.c:setup.h setupuser_.c:setupuser.h sha1_.c:sha1.h sha1hard_.c:sha1hard.h sha3_.c:sha3.h shun_.c:shun.h sitemap_.c:sitemap.h skins_.c:skins.h smtp_.c:smtp.h sqlcmd_.c:sqlcmd.h stash_.c:stash.h stat_.c:stat.h statrep_.c:statrep.h style_.c:style.h sync_.c:sync.h tag_.c:tag.h tar_.c:tar.h terminal_.c:terminal.h th_main_.c:th_main.h timeline_.c:timeline.h tkt_.c:tkt.h tktsetup_.c:tktsetup.h undo_.c:undo.h unicode_.c:unicode.h unversioned_.c:unversioned.h update_.c:update.h url_.c:url.h user_.c:user.h utf8_.c:utf8.h util_.c:util.h verify_.c:verify.h vfile_.c:vfile.h webmail_.c:webmail.h wiki_.c:wiki.h wikiformat_.c:wikiformat.h winfile_.c:winfile.h winhttp_.c:winhttp.h wysiwyg_.c:wysiwyg.h xfer_.c:xfer.h xfersetup_.c:xfersetup.h zip_.c:zip.h $(SRCDIR)\sqlite3.h $(SRCDIR)\th.h VERSION.h $(SRCDIR)\cson_amalgamation.h |
| 982 | @copy /Y nul: headers |
| 983 |
| --- win/Makefile.dmc | |
| +++ win/Makefile.dmc | |
| @@ -24,17 +24,17 @@ | |
| 24 | CFLAGS = -o |
| 25 | BCC = $(DMDIR)\bin\dmc $(CFLAGS) |
| 26 | TCC = $(DMDIR)\bin\dmc $(CFLAGS) $(DMCDEF) $(SSL) $(INCL) |
| 27 | LIBS = $(DMDIR)\extra\lib\ zlib wsock32 advapi32 dnsapi |
| 28 | |
| 29 | SQLITE_OPTIONS = -DNDEBUG=1 -DSQLITE_DQS=0 -DSQLITE_THREADSAFE=0 -DSQLITE_DEFAULT_MEMSTATUS=0 -DSQLITE_DEFAULT_WAL_SYNCHRONOUS=1 -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_OMIT_DECLTYPE -DSQLITE_OMIT_DEPRECATED -DSQLITE_OMIT_PROGRESS_CALLBACK -DSQLITE_OMIT_SHARED_CACHE -DSQLITE_OMIT_LOAD_EXTENSION -DSQLITE_MAX_EXPR_DEPTH=0 -DSQLITE_USE_ALLOCA -DSQLITE_ENABLE_LOCKING_STYLE=0 -DSQLITE_DEFAULT_FILE_FORMAT=4 -DSQLITE_ENABLE_EXPLAIN_COMMENTS -DSQLITE_ENABLE_FTS4 -DSQLITE_ENABLE_DBSTAT_VTAB -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_STMTVTAB -DSQLITE_HAVE_ZLIB -DSQLITE_INTROSPECTION_PRAGMAS -DSQLITE_ENABLE_DBPAGE_VTAB -DSQLITE_TRUSTED_SCHEMA=0 |
| 30 | |
| 31 | SHELL_OPTIONS = -DNDEBUG=1 -DSQLITE_DQS=0 -DSQLITE_THREADSAFE=0 -DSQLITE_DEFAULT_MEMSTATUS=0 -DSQLITE_DEFAULT_WAL_SYNCHRONOUS=1 -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_OMIT_DECLTYPE -DSQLITE_OMIT_DEPRECATED -DSQLITE_OMIT_PROGRESS_CALLBACK -DSQLITE_OMIT_SHARED_CACHE -DSQLITE_OMIT_LOAD_EXTENSION -DSQLITE_MAX_EXPR_DEPTH=0 -DSQLITE_USE_ALLOCA -DSQLITE_ENABLE_LOCKING_STYLE=0 -DSQLITE_DEFAULT_FILE_FORMAT=4 -DSQLITE_ENABLE_EXPLAIN_COMMENTS -DSQLITE_ENABLE_FTS4 -DSQLITE_ENABLE_DBSTAT_VTAB -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_STMTVTAB -DSQLITE_HAVE_ZLIB -DSQLITE_INTROSPECTION_PRAGMAS -DSQLITE_ENABLE_DBPAGE_VTAB -DSQLITE_TRUSTED_SCHEMA=0 -Dmain=sqlite3_shell -DSQLITE_SHELL_IS_UTF8=1 -DSQLITE_OMIT_LOAD_EXTENSION=1 -DUSE_SYSTEM_SQLITE=$(USE_SYSTEM_SQLITE) -DSQLITE_SHELL_DBNAME_PROC=sqlcmd_get_dbname -DSQLITE_SHELL_INIT_PROC=sqlcmd_init_proc -Daccess=file_access -Dsystem=fossil_system -Dgetenv=fossil_getenv -Dfopen=fossil_fopen |
| 32 | |
| 33 | SRC = add_.c ajax_.c alerts_.c allrepo_.c attach_.c backlink_.c backoffice_.c bag_.c bisect_.c blob_.c branch_.c browse_.c builtin_.c bundle_.c cache_.c capabilities_.c captcha_.c cgi_.c checkin_.c checkout_.c clearsign_.c clone_.c comformat_.c configure_.c content_.c cookies_.c db_.c delta_.c deltacmd_.c deltafunc_.c descendants_.c diff_.c diffcmd_.c dispatch_.c doc_.c encode_.c etag_.c event_.c export_.c extcgi_.c file_.c fileedit_.c finfo_.c foci_.c forum_.c fshell_.c fusefs_.c fuzz_.c glob_.c graph_.c gzip_.c hname_.c http_.c http_socket_.c http_ssl_.c http_transport_.c import_.c info_.c json_.c json_artifact_.c json_branch_.c json_config_.c json_diff_.c json_dir_.c json_finfo_.c json_login_.c json_query_.c json_report_.c json_status_.c json_tag_.c json_timeline_.c json_user_.c json_wiki_.c leaf_.c loadctrl_.c login_.c lookslike_.c main_.c manifest_.c markdown_.c markdown_html_.c md5_.c merge_.c merge3_.c moderate_.c name_.c path_.c piechart_.c pivot_.c popen_.c pqueue_.c printf_.c publish_.c purge_.c rebuild_.c regexp_.c repolist_.c report_.c rss_.c schema_.c search_.c security_audit_.c setup_.c setupuser_.c sha1_.c sha1hard_.c sha3_.c shun_.c sitemap_.c skins_.c smtp_.c sqlcmd_.c stash_.c stat_.c statrep_.c style_.c sync_.c tag_.c tar_.c terminal_.c th_main_.c timeline_.c tkt_.c tktsetup_.c undo_.c unicode_.c unversioned_.c update_.c url_.c user_.c utf8_.c util_.c verify_.c vfile_.c webmail_.c wiki_.c wikiformat_.c winfile_.c winhttp_.c wysiwyg_.c xfer_.c xfersetup_.c zip_.c |
| 34 | |
| 35 | OBJ = $(OBJDIR)\add$O $(OBJDIR)\ajax$O $(OBJDIR)\alerts$O $(OBJDIR)\allrepo$O $(OBJDIR)\attach$O $(OBJDIR)\backlink$O $(OBJDIR)\backoffice$O $(OBJDIR)\bag$O $(OBJDIR)\bisect$O $(OBJDIR)\blob$O $(OBJDIR)\branch$O $(OBJDIR)\browse$O $(OBJDIR)\builtin$O $(OBJDIR)\bundle$O $(OBJDIR)\cache$O $(OBJDIR)\capabilities$O $(OBJDIR)\captcha$O $(OBJDIR)\cgi$O $(OBJDIR)\checkin$O $(OBJDIR)\checkout$O $(OBJDIR)\clearsign$O $(OBJDIR)\clone$O $(OBJDIR)\comformat$O $(OBJDIR)\configure$O $(OBJDIR)\content$O $(OBJDIR)\cookies$O $(OBJDIR)\db$O $(OBJDIR)\delta$O $(OBJDIR)\deltacmd$O $(OBJDIR)\deltafunc$O $(OBJDIR)\descendants$O $(OBJDIR)\diff$O $(OBJDIR)\diffcmd$O $(OBJDIR)\dispatch$O $(OBJDIR)\doc$O $(OBJDIR)\encode$O $(OBJDIR)\etag$O $(OBJDIR)\event$O $(OBJDIR)\export$O $(OBJDIR)\extcgi$O $(OBJDIR)\file$O $(OBJDIR)\fileedit$O $(OBJDIR)\finfo$O $(OBJDIR)\foci$O $(OBJDIR)\forum$O $(OBJDIR)\fshell$O $(OBJDIR)\fusefs$O $(OBJDIR)\fuzz$O $(OBJDIR)\glob$O $(OBJDIR)\graph$O $(OBJDIR)\gzip$O $(OBJDIR)\hname$O $(OBJDIR)\http$O $(OBJDIR)\http_socket$O $(OBJDIR)\http_ssl$O $(OBJDIR)\http_transport$O $(OBJDIR)\import$O $(OBJDIR)\info$O $(OBJDIR)\json$O $(OBJDIR)\json_artifact$O $(OBJDIR)\json_branch$O $(OBJDIR)\json_config$O $(OBJDIR)\json_diff$O $(OBJDIR)\json_dir$O $(OBJDIR)\json_finfo$O $(OBJDIR)\json_login$O $(OBJDIR)\json_query$O $(OBJDIR)\json_report$O $(OBJDIR)\json_status$O $(OBJDIR)\json_tag$O $(OBJDIR)\json_timeline$O $(OBJDIR)\json_user$O $(OBJDIR)\json_wiki$O $(OBJDIR)\leaf$O $(OBJDIR)\loadctrl$O $(OBJDIR)\login$O $(OBJDIR)\lookslike$O $(OBJDIR)\main$O $(OBJDIR)\manifest$O $(OBJDIR)\markdown$O $(OBJDIR)\markdown_html$O $(OBJDIR)\md5$O $(OBJDIR)\merge$O $(OBJDIR)\merge3$O $(OBJDIR)\moderate$O $(OBJDIR)\name$O $(OBJDIR)\path$O $(OBJDIR)\piechart$O $(OBJDIR)\pivot$O $(OBJDIR)\popen$O $(OBJDIR)\pqueue$O $(OBJDIR)\printf$O $(OBJDIR)\publish$O $(OBJDIR)\purge$O $(OBJDIR)\rebuild$O $(OBJDIR)\regexp$O $(OBJDIR)\repolist$O $(OBJDIR)\report$O $(OBJDIR)\rss$O $(OBJDIR)\schema$O $(OBJDIR)\search$O $(OBJDIR)\security_audit$O $(OBJDIR)\setup$O $(OBJDIR)\setupuser$O $(OBJDIR)\sha1$O $(OBJDIR)\sha1hard$O $(OBJDIR)\sha3$O $(OBJDIR)\shun$O $(OBJDIR)\sitemap$O $(OBJDIR)\skins$O $(OBJDIR)\smtp$O $(OBJDIR)\sqlcmd$O $(OBJDIR)\stash$O $(OBJDIR)\stat$O $(OBJDIR)\statrep$O $(OBJDIR)\style$O $(OBJDIR)\sync$O $(OBJDIR)\tag$O $(OBJDIR)\tar$O $(OBJDIR)\terminal$O $(OBJDIR)\th_main$O $(OBJDIR)\timeline$O $(OBJDIR)\tkt$O $(OBJDIR)\tktsetup$O $(OBJDIR)\undo$O $(OBJDIR)\unicode$O $(OBJDIR)\unversioned$O $(OBJDIR)\update$O $(OBJDIR)\url$O $(OBJDIR)\user$O $(OBJDIR)\utf8$O $(OBJDIR)\util$O $(OBJDIR)\verify$O $(OBJDIR)\vfile$O $(OBJDIR)\webmail$O $(OBJDIR)\wiki$O $(OBJDIR)\wikiformat$O $(OBJDIR)\winfile$O $(OBJDIR)\winhttp$O $(OBJDIR)\wysiwyg$O $(OBJDIR)\xfer$O $(OBJDIR)\xfersetup$O $(OBJDIR)\zip$O $(OBJDIR)\shell$O $(OBJDIR)\sqlite3$O $(OBJDIR)\th$O $(OBJDIR)\th_lang$O |
| 36 | |
| 37 | |
| 38 | RC=$(DMDIR)\bin\rcc |
| 39 | RCFLAGS=-32 -w1 -I$(SRCDIR) /D__DMC__ |
| 40 | |
| @@ -49,11 +49,11 @@ | |
| 49 | |
| 50 | $(OBJDIR)\fossil.res: $B\win\fossil.rc |
| 51 | $(RC) $(RCFLAGS) -o$@ $** |
| 52 | |
| 53 | $(OBJDIR)\link: $B\win\Makefile.dmc $(OBJDIR)\fossil.res |
| 54 | +echo add ajax alerts allrepo attach backlink backoffice bag bisect blob branch browse builtin bundle cache capabilities captcha cgi checkin checkout clearsign clone comformat configure content cookies db delta deltacmd deltafunc descendants diff diffcmd dispatch doc encode etag event export extcgi file fileedit finfo foci forum fshell fusefs fuzz glob graph gzip hname http http_socket http_ssl http_transport import info json json_artifact json_branch json_config json_diff json_dir json_finfo json_login json_query json_report json_status json_tag json_timeline json_user json_wiki leaf loadctrl login lookslike main manifest markdown markdown_html md5 merge merge3 moderate name path piechart pivot popen pqueue printf publish purge rebuild regexp repolist report rss schema search security_audit setup setupuser sha1 sha1hard sha3 shun sitemap skins smtp sqlcmd stash stat statrep style sync tag tar terminal th_main timeline tkt tktsetup undo unicode unversioned update url user utf8 util verify vfile webmail wiki wikiformat winfile winhttp wysiwyg xfer xfersetup zip shell sqlite3 th th_lang > $@ |
| 55 | +echo fossil >> $@ |
| 56 | +echo fossil >> $@ |
| 57 | +echo $(LIBS) >> $@ |
| 58 | +echo. >> $@ |
| 59 | +echo fossil >> $@ |
| @@ -122,16 +122,21 @@ | |
| 122 | $(OBJDIR)\json_timeline$O : $(SRCDIR)\json_detail.h |
| 123 | $(OBJDIR)\json_user$O : $(SRCDIR)\json_detail.h |
| 124 | $(OBJDIR)\json_wiki$O : $(SRCDIR)\json_detail.h |
| 125 | |
| 126 | |
| 127 | $(OBJDIR)\add$O : add_.c add.h |
| 128 | $(TCC) -o$@ -c add_.c |
| 129 | |
| 130 | add_.c : $(SRCDIR)\add.c |
| 131 | +translate$E $** > $@ |
| 132 | |
| 133 | $(OBJDIR)\ajax$O : ajax_.c ajax.h |
| 134 | $(TCC) -o$@ -c ajax_.c |
| 135 | |
| 136 | ajax_.c : $(SRCDIR)\ajax.c |
| 137 | +translate$E $** > $@ |
| 138 | |
| 139 | $(OBJDIR)\alerts$O : alerts_.c alerts.h |
| 140 | $(TCC) -o$@ -c alerts_.c |
| 141 | |
| 142 | alerts_.c : $(SRCDIR)\alerts.c |
| @@ -976,7 +981,7 @@ | |
| 981 | |
| 982 | zip_.c : $(SRCDIR)\zip.c |
| 983 | +translate$E $** > $@ |
| 984 | |
| 985 | headers: makeheaders$E page_index.h builtin_data.h VERSION.h |
| 986 | +makeheaders$E add_.c:add.h ajax_.c:ajax.h alerts_.c:alerts.h allrepo_.c:allrepo.h attach_.c:attach.h backlink_.c:backlink.h backoffice_.c:backoffice.h bag_.c:bag.h bisect_.c:bisect.h blob_.c:blob.h branch_.c:branch.h browse_.c:browse.h builtin_.c:builtin.h bundle_.c:bundle.h cache_.c:cache.h capabilities_.c:capabilities.h captcha_.c:captcha.h cgi_.c:cgi.h checkin_.c:checkin.h checkout_.c:checkout.h clearsign_.c:clearsign.h clone_.c:clone.h comformat_.c:comformat.h configure_.c:configure.h content_.c:content.h cookies_.c:cookies.h db_.c:db.h delta_.c:delta.h deltacmd_.c:deltacmd.h deltafunc_.c:deltafunc.h descendants_.c:descendants.h diff_.c:diff.h diffcmd_.c:diffcmd.h dispatch_.c:dispatch.h doc_.c:doc.h encode_.c:encode.h etag_.c:etag.h event_.c:event.h export_.c:export.h extcgi_.c:extcgi.h file_.c:file.h fileedit_.c:fileedit.h finfo_.c:finfo.h foci_.c:foci.h forum_.c:forum.h fshell_.c:fshell.h fusefs_.c:fusefs.h fuzz_.c:fuzz.h glob_.c:glob.h graph_.c:graph.h gzip_.c:gzip.h hname_.c:hname.h http_.c:http.h http_socket_.c:http_socket.h http_ssl_.c:http_ssl.h http_transport_.c:http_transport.h import_.c:import.h info_.c:info.h json_.c:json.h json_artifact_.c:json_artifact.h json_branch_.c:json_branch.h json_config_.c:json_config.h json_diff_.c:json_diff.h json_dir_.c:json_dir.h json_finfo_.c:json_finfo.h json_login_.c:json_login.h json_query_.c:json_query.h json_report_.c:json_report.h json_status_.c:json_status.h json_tag_.c:json_tag.h json_timeline_.c:json_timeline.h json_user_.c:json_user.h json_wiki_.c:json_wiki.h leaf_.c:leaf.h loadctrl_.c:loadctrl.h login_.c:login.h lookslike_.c:lookslike.h main_.c:main.h manifest_.c:manifest.h markdown_.c:markdown.h markdown_html_.c:markdown_html.h md5_.c:md5.h merge_.c:merge.h merge3_.c:merge3.h moderate_.c:moderate.h name_.c:name.h path_.c:path.h piechart_.c:piechart.h pivot_.c:pivot.h popen_.c:popen.h pqueue_.c:pqueue.h printf_.c:printf.h publish_.c:publish.h purge_.c:purge.h rebuild_.c:rebuild.h regexp_.c:regexp.h repolist_.c:repolist.h report_.c:report.h rss_.c:rss.h schema_.c:schema.h search_.c:search.h security_audit_.c:security_audit.h setup_.c:setup.h setupuser_.c:setupuser.h sha1_.c:sha1.h sha1hard_.c:sha1hard.h sha3_.c:sha3.h shun_.c:shun.h sitemap_.c:sitemap.h skins_.c:skins.h smtp_.c:smtp.h sqlcmd_.c:sqlcmd.h stash_.c:stash.h stat_.c:stat.h statrep_.c:statrep.h style_.c:style.h sync_.c:sync.h tag_.c:tag.h tar_.c:tar.h terminal_.c:terminal.h th_main_.c:th_main.h timeline_.c:timeline.h tkt_.c:tkt.h tktsetup_.c:tktsetup.h undo_.c:undo.h unicode_.c:unicode.h unversioned_.c:unversioned.h update_.c:update.h url_.c:url.h user_.c:user.h utf8_.c:utf8.h util_.c:util.h verify_.c:verify.h vfile_.c:vfile.h webmail_.c:webmail.h wiki_.c:wiki.h wikiformat_.c:wikiformat.h winfile_.c:winfile.h winhttp_.c:winhttp.h wysiwyg_.c:wysiwyg.h xfer_.c:xfer.h xfersetup_.c:xfersetup.h zip_.c:zip.h $(SRCDIR)\sqlite3.h $(SRCDIR)\th.h VERSION.h $(SRCDIR)\cson_amalgamation.h |
| 987 | @copy /Y nul: headers |
| 988 |
+12
-7
| --- win/Makefile.dmc | ||
| +++ win/Makefile.dmc | ||
| @@ -24,17 +24,17 @@ | ||
| 24 | 24 | CFLAGS = -o |
| 25 | 25 | BCC = $(DMDIR)\bin\dmc $(CFLAGS) |
| 26 | 26 | TCC = $(DMDIR)\bin\dmc $(CFLAGS) $(DMCDEF) $(SSL) $(INCL) |
| 27 | 27 | LIBS = $(DMDIR)\extra\lib\ zlib wsock32 advapi32 dnsapi |
| 28 | 28 | |
| 29 | -SQLITE_OPTIONS = -DNDEBUG=1 -DSQLITE_DQS=0 -DSQLITE_THREADSAFE=0 -DSQLITE_DEFAULT_MEMSTATUS=0 -DSQLITE_DEFAULT_WAL_SYNCHRONOUS=1 -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_OMIT_DECLTYPE -DSQLITE_OMIT_DEPRECATED -DSQLITE_OMIT_GET_TABLE -DSQLITE_OMIT_PROGRESS_CALLBACK -DSQLITE_OMIT_SHARED_CACHE -DSQLITE_OMIT_LOAD_EXTENSION -DSQLITE_MAX_EXPR_DEPTH=0 -DSQLITE_USE_ALLOCA -DSQLITE_ENABLE_LOCKING_STYLE=0 -DSQLITE_DEFAULT_FILE_FORMAT=4 -DSQLITE_ENABLE_EXPLAIN_COMMENTS -DSQLITE_ENABLE_FTS4 -DSQLITE_ENABLE_DBSTAT_VTAB -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_STMTVTAB -DSQLITE_HAVE_ZLIB -DSQLITE_INTROSPECTION_PRAGMAS -DSQLITE_ENABLE_DBPAGE_VTAB -DSQLITE_TRUSTED_SCHEMA=0 | |
| 29 | +SQLITE_OPTIONS = -DNDEBUG=1 -DSQLITE_DQS=0 -DSQLITE_THREADSAFE=0 -DSQLITE_DEFAULT_MEMSTATUS=0 -DSQLITE_DEFAULT_WAL_SYNCHRONOUS=1 -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_OMIT_DECLTYPE -DSQLITE_OMIT_DEPRECATED -DSQLITE_OMIT_PROGRESS_CALLBACK -DSQLITE_OMIT_SHARED_CACHE -DSQLITE_OMIT_LOAD_EXTENSION -DSQLITE_MAX_EXPR_DEPTH=0 -DSQLITE_USE_ALLOCA -DSQLITE_ENABLE_LOCKING_STYLE=0 -DSQLITE_DEFAULT_FILE_FORMAT=4 -DSQLITE_ENABLE_EXPLAIN_COMMENTS -DSQLITE_ENABLE_FTS4 -DSQLITE_ENABLE_DBSTAT_VTAB -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_STMTVTAB -DSQLITE_HAVE_ZLIB -DSQLITE_INTROSPECTION_PRAGMAS -DSQLITE_ENABLE_DBPAGE_VTAB -DSQLITE_TRUSTED_SCHEMA=0 | |
| 30 | 30 | |
| 31 | -SHELL_OPTIONS = -DNDEBUG=1 -DSQLITE_DQS=0 -DSQLITE_THREADSAFE=0 -DSQLITE_DEFAULT_MEMSTATUS=0 -DSQLITE_DEFAULT_WAL_SYNCHRONOUS=1 -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_OMIT_DECLTYPE -DSQLITE_OMIT_DEPRECATED -DSQLITE_OMIT_GET_TABLE -DSQLITE_OMIT_PROGRESS_CALLBACK -DSQLITE_OMIT_SHARED_CACHE -DSQLITE_OMIT_LOAD_EXTENSION -DSQLITE_MAX_EXPR_DEPTH=0 -DSQLITE_USE_ALLOCA -DSQLITE_ENABLE_LOCKING_STYLE=0 -DSQLITE_DEFAULT_FILE_FORMAT=4 -DSQLITE_ENABLE_EXPLAIN_COMMENTS -DSQLITE_ENABLE_FTS4 -DSQLITE_ENABLE_DBSTAT_VTAB -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_STMTVTAB -DSQLITE_HAVE_ZLIB -DSQLITE_INTROSPECTION_PRAGMAS -DSQLITE_ENABLE_DBPAGE_VTAB -DSQLITE_TRUSTED_SCHEMA=0 -Dmain=sqlite3_shell -DSQLITE_SHELL_IS_UTF8=1 -DSQLITE_OMIT_LOAD_EXTENSION=1 -DUSE_SYSTEM_SQLITE=$(USE_SYSTEM_SQLITE) -DSQLITE_SHELL_DBNAME_PROC=sqlcmd_get_dbname -DSQLITE_SHELL_INIT_PROC=sqlcmd_init_proc -Daccess=file_access -Dsystem=fossil_system -Dgetenv=fossil_getenv -Dfopen=fossil_fopen | |
| 31 | +SHELL_OPTIONS = -DNDEBUG=1 -DSQLITE_DQS=0 -DSQLITE_THREADSAFE=0 -DSQLITE_DEFAULT_MEMSTATUS=0 -DSQLITE_DEFAULT_WAL_SYNCHRONOUS=1 -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_OMIT_DECLTYPE -DSQLITE_OMIT_DEPRECATED -DSQLITE_OMIT_PROGRESS_CALLBACK -DSQLITE_OMIT_SHARED_CACHE -DSQLITE_OMIT_LOAD_EXTENSION -DSQLITE_MAX_EXPR_DEPTH=0 -DSQLITE_USE_ALLOCA -DSQLITE_ENABLE_LOCKING_STYLE=0 -DSQLITE_DEFAULT_FILE_FORMAT=4 -DSQLITE_ENABLE_EXPLAIN_COMMENTS -DSQLITE_ENABLE_FTS4 -DSQLITE_ENABLE_DBSTAT_VTAB -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_STMTVTAB -DSQLITE_HAVE_ZLIB -DSQLITE_INTROSPECTION_PRAGMAS -DSQLITE_ENABLE_DBPAGE_VTAB -DSQLITE_TRUSTED_SCHEMA=0 -Dmain=sqlite3_shell -DSQLITE_SHELL_IS_UTF8=1 -DSQLITE_OMIT_LOAD_EXTENSION=1 -DUSE_SYSTEM_SQLITE=$(USE_SYSTEM_SQLITE) -DSQLITE_SHELL_DBNAME_PROC=sqlcmd_get_dbname -DSQLITE_SHELL_INIT_PROC=sqlcmd_init_proc -Daccess=file_access -Dsystem=fossil_system -Dgetenv=fossil_getenv -Dfopen=fossil_fopen | |
| 32 | 32 | |
| 33 | -SRC = add_.c alerts_.c allrepo_.c attach_.c backlink_.c backoffice_.c bag_.c bisect_.c blob_.c branch_.c browse_.c builtin_.c bundle_.c cache_.c capabilities_.c captcha_.c cgi_.c checkin_.c checkout_.c clearsign_.c clone_.c comformat_.c configure_.c content_.c cookies_.c db_.c delta_.c deltacmd_.c deltafunc_.c descendants_.c diff_.c diffcmd_.c dispatch_.c doc_.c encode_.c etag_.c event_.c export_.c extcgi_.c file_.c fileedit_.c finfo_.c foci_.c forum_.c fshell_.c fusefs_.c fuzz_.c glob_.c graph_.c gzip_.c hname_.c http_.c http_socket_.c http_ssl_.c http_transport_.c import_.c info_.c json_.c json_artifact_.c json_branch_.c json_config_.c json_diff_.c json_dir_.c json_finfo_.c json_login_.c json_query_.c json_report_.c json_status_.c json_tag_.c json_timeline_.c json_user_.c json_wiki_.c leaf_.c loadctrl_.c login_.c lookslike_.c main_.c manifest_.c markdown_.c markdown_html_.c md5_.c merge_.c merge3_.c moderate_.c name_.c path_.c piechart_.c pivot_.c popen_.c pqueue_.c printf_.c publish_.c purge_.c rebuild_.c regexp_.c repolist_.c report_.c rss_.c schema_.c search_.c security_audit_.c setup_.c setupuser_.c sha1_.c sha1hard_.c sha3_.c shun_.c sitemap_.c skins_.c smtp_.c sqlcmd_.c stash_.c stat_.c statrep_.c style_.c sync_.c tag_.c tar_.c terminal_.c th_main_.c timeline_.c tkt_.c tktsetup_.c undo_.c unicode_.c unversioned_.c update_.c url_.c user_.c utf8_.c util_.c verify_.c vfile_.c webmail_.c wiki_.c wikiformat_.c winfile_.c winhttp_.c wysiwyg_.c xfer_.c xfersetup_.c zip_.c | |
| 33 | +SRC = add_.c ajax_.c alerts_.c allrepo_.c attach_.c backlink_.c backoffice_.c bag_.c bisect_.c blob_.c branch_.c browse_.c builtin_.c bundle_.c cache_.c capabilities_.c captcha_.c cgi_.c checkin_.c checkout_.c clearsign_.c clone_.c comformat_.c configure_.c content_.c cookies_.c db_.c delta_.c deltacmd_.c deltafunc_.c descendants_.c diff_.c diffcmd_.c dispatch_.c doc_.c encode_.c etag_.c event_.c export_.c extcgi_.c file_.c fileedit_.c finfo_.c foci_.c forum_.c fshell_.c fusefs_.c fuzz_.c glob_.c graph_.c gzip_.c hname_.c http_.c http_socket_.c http_ssl_.c http_transport_.c import_.c info_.c json_.c json_artifact_.c json_branch_.c json_config_.c json_diff_.c json_dir_.c json_finfo_.c json_login_.c json_query_.c json_report_.c json_status_.c json_tag_.c json_timeline_.c json_user_.c json_wiki_.c leaf_.c loadctrl_.c login_.c lookslike_.c main_.c manifest_.c markdown_.c markdown_html_.c md5_.c merge_.c merge3_.c moderate_.c name_.c path_.c piechart_.c pivot_.c popen_.c pqueue_.c printf_.c publish_.c purge_.c rebuild_.c regexp_.c repolist_.c report_.c rss_.c schema_.c search_.c security_audit_.c setup_.c setupuser_.c sha1_.c sha1hard_.c sha3_.c shun_.c sitemap_.c skins_.c smtp_.c sqlcmd_.c stash_.c stat_.c statrep_.c style_.c sync_.c tag_.c tar_.c terminal_.c th_main_.c timeline_.c tkt_.c tktsetup_.c undo_.c unicode_.c unversioned_.c update_.c url_.c user_.c utf8_.c util_.c verify_.c vfile_.c webmail_.c wiki_.c wikiformat_.c winfile_.c winhttp_.c wysiwyg_.c xfer_.c xfersetup_.c zip_.c | |
| 34 | 34 | |
| 35 | -OBJ = $(OBJDIR)\add$O $(OBJDIR)\alerts$O $(OBJDIR)\allrepo$O $(OBJDIR)\attach$O $(OBJDIR)\backlink$O $(OBJDIR)\backoffice$O $(OBJDIR)\bag$O $(OBJDIR)\bisect$O $(OBJDIR)\blob$O $(OBJDIR)\branch$O $(OBJDIR)\browse$O $(OBJDIR)\builtin$O $(OBJDIR)\bundle$O $(OBJDIR)\cache$O $(OBJDIR)\capabilities$O $(OBJDIR)\captcha$O $(OBJDIR)\cgi$O $(OBJDIR)\checkin$O $(OBJDIR)\checkout$O $(OBJDIR)\clearsign$O $(OBJDIR)\clone$O $(OBJDIR)\comformat$O $(OBJDIR)\configure$O $(OBJDIR)\content$O $(OBJDIR)\cookies$O $(OBJDIR)\db$O $(OBJDIR)\delta$O $(OBJDIR)\deltacmd$O $(OBJDIR)\deltafunc$O $(OBJDIR)\descendants$O $(OBJDIR)\diff$O $(OBJDIR)\diffcmd$O $(OBJDIR)\dispatch$O $(OBJDIR)\doc$O $(OBJDIR)\encode$O $(OBJDIR)\etag$O $(OBJDIR)\event$O $(OBJDIR)\export$O $(OBJDIR)\extcgi$O $(OBJDIR)\file$O $(OBJDIR)\fileedit$O $(OBJDIR)\finfo$O $(OBJDIR)\foci$O $(OBJDIR)\forum$O $(OBJDIR)\fshell$O $(OBJDIR)\fusefs$O $(OBJDIR)\fuzz$O $(OBJDIR)\glob$O $(OBJDIR)\graph$O $(OBJDIR)\gzip$O $(OBJDIR)\hname$O $(OBJDIR)\http$O $(OBJDIR)\http_socket$O $(OBJDIR)\http_ssl$O $(OBJDIR)\http_transport$O $(OBJDIR)\import$O $(OBJDIR)\info$O $(OBJDIR)\json$O $(OBJDIR)\json_artifact$O $(OBJDIR)\json_branch$O $(OBJDIR)\json_config$O $(OBJDIR)\json_diff$O $(OBJDIR)\json_dir$O $(OBJDIR)\json_finfo$O $(OBJDIR)\json_login$O $(OBJDIR)\json_query$O $(OBJDIR)\json_report$O $(OBJDIR)\json_status$O $(OBJDIR)\json_tag$O $(OBJDIR)\json_timeline$O $(OBJDIR)\json_user$O $(OBJDIR)\json_wiki$O $(OBJDIR)\leaf$O $(OBJDIR)\loadctrl$O $(OBJDIR)\login$O $(OBJDIR)\lookslike$O $(OBJDIR)\main$O $(OBJDIR)\manifest$O $(OBJDIR)\markdown$O $(OBJDIR)\markdown_html$O $(OBJDIR)\md5$O $(OBJDIR)\merge$O $(OBJDIR)\merge3$O $(OBJDIR)\moderate$O $(OBJDIR)\name$O $(OBJDIR)\path$O $(OBJDIR)\piechart$O $(OBJDIR)\pivot$O $(OBJDIR)\popen$O $(OBJDIR)\pqueue$O $(OBJDIR)\printf$O $(OBJDIR)\publish$O $(OBJDIR)\purge$O $(OBJDIR)\rebuild$O $(OBJDIR)\regexp$O $(OBJDIR)\repolist$O $(OBJDIR)\report$O $(OBJDIR)\rss$O $(OBJDIR)\schema$O $(OBJDIR)\search$O $(OBJDIR)\security_audit$O $(OBJDIR)\setup$O $(OBJDIR)\setupuser$O $(OBJDIR)\sha1$O $(OBJDIR)\sha1hard$O $(OBJDIR)\sha3$O $(OBJDIR)\shun$O $(OBJDIR)\sitemap$O $(OBJDIR)\skins$O $(OBJDIR)\smtp$O $(OBJDIR)\sqlcmd$O $(OBJDIR)\stash$O $(OBJDIR)\stat$O $(OBJDIR)\statrep$O $(OBJDIR)\style$O $(OBJDIR)\sync$O $(OBJDIR)\tag$O $(OBJDIR)\tar$O $(OBJDIR)\terminal$O $(OBJDIR)\th_main$O $(OBJDIR)\timeline$O $(OBJDIR)\tkt$O $(OBJDIR)\tktsetup$O $(OBJDIR)\undo$O $(OBJDIR)\unicode$O $(OBJDIR)\unversioned$O $(OBJDIR)\update$O $(OBJDIR)\url$O $(OBJDIR)\user$O $(OBJDIR)\utf8$O $(OBJDIR)\util$O $(OBJDIR)\verify$O $(OBJDIR)\vfile$O $(OBJDIR)\webmail$O $(OBJDIR)\wiki$O $(OBJDIR)\wikiformat$O $(OBJDIR)\winfile$O $(OBJDIR)\winhttp$O $(OBJDIR)\wysiwyg$O $(OBJDIR)\xfer$O $(OBJDIR)\xfersetup$O $(OBJDIR)\zip$O $(OBJDIR)\shell$O $(OBJDIR)\sqlite3$O $(OBJDIR)\th$O $(OBJDIR)\th_lang$O | |
| 35 | +OBJ = $(OBJDIR)\add$O $(OBJDIR)\ajax$O $(OBJDIR)\alerts$O $(OBJDIR)\allrepo$O $(OBJDIR)\attach$O $(OBJDIR)\backlink$O $(OBJDIR)\backoffice$O $(OBJDIR)\bag$O $(OBJDIR)\bisect$O $(OBJDIR)\blob$O $(OBJDIR)\branch$O $(OBJDIR)\browse$O $(OBJDIR)\builtin$O $(OBJDIR)\bundle$O $(OBJDIR)\cache$O $(OBJDIR)\capabilities$O $(OBJDIR)\captcha$O $(OBJDIR)\cgi$O $(OBJDIR)\checkin$O $(OBJDIR)\checkout$O $(OBJDIR)\clearsign$O $(OBJDIR)\clone$O $(OBJDIR)\comformat$O $(OBJDIR)\configure$O $(OBJDIR)\content$O $(OBJDIR)\cookies$O $(OBJDIR)\db$O $(OBJDIR)\delta$O $(OBJDIR)\deltacmd$O $(OBJDIR)\deltafunc$O $(OBJDIR)\descendants$O $(OBJDIR)\diff$O $(OBJDIR)\diffcmd$O $(OBJDIR)\dispatch$O $(OBJDIR)\doc$O $(OBJDIR)\encode$O $(OBJDIR)\etag$O $(OBJDIR)\event$O $(OBJDIR)\export$O $(OBJDIR)\extcgi$O $(OBJDIR)\file$O $(OBJDIR)\fileedit$O $(OBJDIR)\finfo$O $(OBJDIR)\foci$O $(OBJDIR)\forum$O $(OBJDIR)\fshell$O $(OBJDIR)\fusefs$O $(OBJDIR)\fuzz$O $(OBJDIR)\glob$O $(OBJDIR)\graph$O $(OBJDIR)\gzip$O $(OBJDIR)\hname$O $(OBJDIR)\http$O $(OBJDIR)\http_socket$O $(OBJDIR)\http_ssl$O $(OBJDIR)\http_transport$O $(OBJDIR)\import$O $(OBJDIR)\info$O $(OBJDIR)\json$O $(OBJDIR)\json_artifact$O $(OBJDIR)\json_branch$O $(OBJDIR)\json_config$O $(OBJDIR)\json_diff$O $(OBJDIR)\json_dir$O $(OBJDIR)\json_finfo$O $(OBJDIR)\json_login$O $(OBJDIR)\json_query$O $(OBJDIR)\json_report$O $(OBJDIR)\json_status$O $(OBJDIR)\json_tag$O $(OBJDIR)\json_timeline$O $(OBJDIR)\json_user$O $(OBJDIR)\json_wiki$O $(OBJDIR)\leaf$O $(OBJDIR)\loadctrl$O $(OBJDIR)\login$O $(OBJDIR)\lookslike$O $(OBJDIR)\main$O $(OBJDIR)\manifest$O $(OBJDIR)\markdown$O $(OBJDIR)\markdown_html$O $(OBJDIR)\md5$O $(OBJDIR)\merge$O $(OBJDIR)\merge3$O $(OBJDIR)\moderate$O $(OBJDIR)\name$O $(OBJDIR)\path$O $(OBJDIR)\piechart$O $(OBJDIR)\pivot$O $(OBJDIR)\popen$O $(OBJDIR)\pqueue$O $(OBJDIR)\printf$O $(OBJDIR)\publish$O $(OBJDIR)\purge$O $(OBJDIR)\rebuild$O $(OBJDIR)\regexp$O $(OBJDIR)\repolist$O $(OBJDIR)\report$O $(OBJDIR)\rss$O $(OBJDIR)\schema$O $(OBJDIR)\search$O $(OBJDIR)\security_audit$O $(OBJDIR)\setup$O $(OBJDIR)\setupuser$O $(OBJDIR)\sha1$O $(OBJDIR)\sha1hard$O $(OBJDIR)\sha3$O $(OBJDIR)\shun$O $(OBJDIR)\sitemap$O $(OBJDIR)\skins$O $(OBJDIR)\smtp$O $(OBJDIR)\sqlcmd$O $(OBJDIR)\stash$O $(OBJDIR)\stat$O $(OBJDIR)\statrep$O $(OBJDIR)\style$O $(OBJDIR)\sync$O $(OBJDIR)\tag$O $(OBJDIR)\tar$O $(OBJDIR)\terminal$O $(OBJDIR)\th_main$O $(OBJDIR)\timeline$O $(OBJDIR)\tkt$O $(OBJDIR)\tktsetup$O $(OBJDIR)\undo$O $(OBJDIR)\unicode$O $(OBJDIR)\unversioned$O $(OBJDIR)\update$O $(OBJDIR)\url$O $(OBJDIR)\user$O $(OBJDIR)\utf8$O $(OBJDIR)\util$O $(OBJDIR)\verify$O $(OBJDIR)\vfile$O $(OBJDIR)\webmail$O $(OBJDIR)\wiki$O $(OBJDIR)\wikiformat$O $(OBJDIR)\winfile$O $(OBJDIR)\winhttp$O $(OBJDIR)\wysiwyg$O $(OBJDIR)\xfer$O $(OBJDIR)\xfersetup$O $(OBJDIR)\zip$O $(OBJDIR)\shell$O $(OBJDIR)\sqlite3$O $(OBJDIR)\th$O $(OBJDIR)\th_lang$O | |
| 36 | 36 | |
| 37 | 37 | |
| 38 | 38 | RC=$(DMDIR)\bin\rcc |
| 39 | 39 | RCFLAGS=-32 -w1 -I$(SRCDIR) /D__DMC__ |
| 40 | 40 | |
| @@ -49,11 +49,11 @@ | ||
| 49 | 49 | |
| 50 | 50 | $(OBJDIR)\fossil.res: $B\win\fossil.rc |
| 51 | 51 | $(RC) $(RCFLAGS) -o$@ $** |
| 52 | 52 | |
| 53 | 53 | $(OBJDIR)\link: $B\win\Makefile.dmc $(OBJDIR)\fossil.res |
| 54 | - +echo add alerts allrepo attach backlink backoffice bag bisect blob branch browse builtin bundle cache capabilities captcha cgi checkin checkout clearsign clone comformat configure content cookies db delta deltacmd deltafunc descendants diff diffcmd dispatch doc encode etag event export extcgi file fileedit finfo foci forum fshell fusefs fuzz glob graph gzip hname http http_socket http_ssl http_transport import info json json_artifact json_branch json_config json_diff json_dir json_finfo json_login json_query json_report json_status json_tag json_timeline json_user json_wiki leaf loadctrl login lookslike main manifest markdown markdown_html md5 merge merge3 moderate name path piechart pivot popen pqueue printf publish purge rebuild regexp repolist report rss schema search security_audit setup setupuser sha1 sha1hard sha3 shun sitemap skins smtp sqlcmd stash stat statrep style sync tag tar terminal th_main timeline tkt tktsetup undo unicode unversioned update url user utf8 util verify vfile webmail wiki wikiformat winfile winhttp wysiwyg xfer xfersetup zip shell sqlite3 th th_lang > $@ | |
| 54 | + +echo add ajax alerts allrepo attach backlink backoffice bag bisect blob branch browse builtin bundle cache capabilities captcha cgi checkin checkout clearsign clone comformat configure content cookies db delta deltacmd deltafunc descendants diff diffcmd dispatch doc encode etag event export extcgi file fileedit finfo foci forum fshell fusefs fuzz glob graph gzip hname http http_socket http_ssl http_transport import info json json_artifact json_branch json_config json_diff json_dir json_finfo json_login json_query json_report json_status json_tag json_timeline json_user json_wiki leaf loadctrl login lookslike main manifest markdown markdown_html md5 merge merge3 moderate name path piechart pivot popen pqueue printf publish purge rebuild regexp repolist report rss schema search security_audit setup setupuser sha1 sha1hard sha3 shun sitemap skins smtp sqlcmd stash stat statrep style sync tag tar terminal th_main timeline tkt tktsetup undo unicode unversioned update url user utf8 util verify vfile webmail wiki wikiformat winfile winhttp wysiwyg xfer xfersetup zip shell sqlite3 th th_lang > $@ | |
| 55 | 55 | +echo fossil >> $@ |
| 56 | 56 | +echo fossil >> $@ |
| 57 | 57 | +echo $(LIBS) >> $@ |
| 58 | 58 | +echo. >> $@ |
| 59 | 59 | +echo fossil >> $@ |
| @@ -122,16 +122,21 @@ | ||
| 122 | 122 | $(OBJDIR)\json_timeline$O : $(SRCDIR)\json_detail.h |
| 123 | 123 | $(OBJDIR)\json_user$O : $(SRCDIR)\json_detail.h |
| 124 | 124 | $(OBJDIR)\json_wiki$O : $(SRCDIR)\json_detail.h |
| 125 | 125 | |
| 126 | 126 | |
| 127 | - | |
| 128 | 127 | $(OBJDIR)\add$O : add_.c add.h |
| 129 | 128 | $(TCC) -o$@ -c add_.c |
| 130 | 129 | |
| 131 | 130 | add_.c : $(SRCDIR)\add.c |
| 132 | 131 | +translate$E $** > $@ |
| 132 | + | |
| 133 | +$(OBJDIR)\ajax$O : ajax_.c ajax.h | |
| 134 | + $(TCC) -o$@ -c ajax_.c | |
| 135 | + | |
| 136 | +ajax_.c : $(SRCDIR)\ajax.c | |
| 137 | + +translate$E $** > $@ | |
| 133 | 138 | |
| 134 | 139 | $(OBJDIR)\alerts$O : alerts_.c alerts.h |
| 135 | 140 | $(TCC) -o$@ -c alerts_.c |
| 136 | 141 | |
| 137 | 142 | alerts_.c : $(SRCDIR)\alerts.c |
| @@ -976,7 +981,7 @@ | ||
| 976 | 981 | |
| 977 | 982 | zip_.c : $(SRCDIR)\zip.c |
| 978 | 983 | +translate$E $** > $@ |
| 979 | 984 | |
| 980 | 985 | headers: makeheaders$E page_index.h builtin_data.h VERSION.h |
| 981 | - +makeheaders$E add_.c:add.h alerts_.c:alerts.h allrepo_.c:allrepo.h attach_.c:attach.h backlink_.c:backlink.h backoffice_.c:backoffice.h bag_.c:bag.h bisect_.c:bisect.h blob_.c:blob.h branch_.c:branch.h browse_.c:browse.h builtin_.c:builtin.h bundle_.c:bundle.h cache_.c:cache.h capabilities_.c:capabilities.h captcha_.c:captcha.h cgi_.c:cgi.h checkin_.c:checkin.h checkout_.c:checkout.h clearsign_.c:clearsign.h clone_.c:clone.h comformat_.c:comformat.h configure_.c:configure.h content_.c:content.h cookies_.c:cookies.h db_.c:db.h delta_.c:delta.h deltacmd_.c:deltacmd.h deltafunc_.c:deltafunc.h descendants_.c:descendants.h diff_.c:diff.h diffcmd_.c:diffcmd.h dispatch_.c:dispatch.h doc_.c:doc.h encode_.c:encode.h etag_.c:etag.h event_.c:event.h export_.c:export.h extcgi_.c:extcgi.h file_.c:file.h fileedit_.c:fileedit.h finfo_.c:finfo.h foci_.c:foci.h forum_.c:forum.h fshell_.c:fshell.h fusefs_.c:fusefs.h fuzz_.c:fuzz.h glob_.c:glob.h graph_.c:graph.h gzip_.c:gzip.h hname_.c:hname.h http_.c:http.h http_socket_.c:http_socket.h http_ssl_.c:http_ssl.h http_transport_.c:http_transport.h import_.c:import.h info_.c:info.h json_.c:json.h json_artifact_.c:json_artifact.h json_branch_.c:json_branch.h json_config_.c:json_config.h json_diff_.c:json_diff.h json_dir_.c:json_dir.h json_finfo_.c:json_finfo.h json_login_.c:json_login.h json_query_.c:json_query.h json_report_.c:json_report.h json_status_.c:json_status.h json_tag_.c:json_tag.h json_timeline_.c:json_timeline.h json_user_.c:json_user.h json_wiki_.c:json_wiki.h leaf_.c:leaf.h loadctrl_.c:loadctrl.h login_.c:login.h lookslike_.c:lookslike.h main_.c:main.h manifest_.c:manifest.h markdown_.c:markdown.h markdown_html_.c:markdown_html.h md5_.c:md5.h merge_.c:merge.h merge3_.c:merge3.h moderate_.c:moderate.h name_.c:name.h path_.c:path.h piechart_.c:piechart.h pivot_.c:pivot.h popen_.c:popen.h pqueue_.c:pqueue.h printf_.c:printf.h publish_.c:publish.h purge_.c:purge.h rebuild_.c:rebuild.h regexp_.c:regexp.h repolist_.c:repolist.h report_.c:report.h rss_.c:rss.h schema_.c:schema.h search_.c:search.h security_audit_.c:security_audit.h setup_.c:setup.h setupuser_.c:setupuser.h sha1_.c:sha1.h sha1hard_.c:sha1hard.h sha3_.c:sha3.h shun_.c:shun.h sitemap_.c:sitemap.h skins_.c:skins.h smtp_.c:smtp.h sqlcmd_.c:sqlcmd.h stash_.c:stash.h stat_.c:stat.h statrep_.c:statrep.h style_.c:style.h sync_.c:sync.h tag_.c:tag.h tar_.c:tar.h terminal_.c:terminal.h th_main_.c:th_main.h timeline_.c:timeline.h tkt_.c:tkt.h tktsetup_.c:tktsetup.h undo_.c:undo.h unicode_.c:unicode.h unversioned_.c:unversioned.h update_.c:update.h url_.c:url.h user_.c:user.h utf8_.c:utf8.h util_.c:util.h verify_.c:verify.h vfile_.c:vfile.h webmail_.c:webmail.h wiki_.c:wiki.h wikiformat_.c:wikiformat.h winfile_.c:winfile.h winhttp_.c:winhttp.h wysiwyg_.c:wysiwyg.h xfer_.c:xfer.h xfersetup_.c:xfersetup.h zip_.c:zip.h $(SRCDIR)\sqlite3.h $(SRCDIR)\th.h VERSION.h $(SRCDIR)\cson_amalgamation.h | |
| 986 | + +makeheaders$E add_.c:add.h ajax_.c:ajax.h alerts_.c:alerts.h allrepo_.c:allrepo.h attach_.c:attach.h backlink_.c:backlink.h backoffice_.c:backoffice.h bag_.c:bag.h bisect_.c:bisect.h blob_.c:blob.h branch_.c:branch.h browse_.c:browse.h builtin_.c:builtin.h bundle_.c:bundle.h cache_.c:cache.h capabilities_.c:capabilities.h captcha_.c:captcha.h cgi_.c:cgi.h checkin_.c:checkin.h checkout_.c:checkout.h clearsign_.c:clearsign.h clone_.c:clone.h comformat_.c:comformat.h configure_.c:configure.h content_.c:content.h cookies_.c:cookies.h db_.c:db.h delta_.c:delta.h deltacmd_.c:deltacmd.h deltafunc_.c:deltafunc.h descendants_.c:descendants.h diff_.c:diff.h diffcmd_.c:diffcmd.h dispatch_.c:dispatch.h doc_.c:doc.h encode_.c:encode.h etag_.c:etag.h event_.c:event.h export_.c:export.h extcgi_.c:extcgi.h file_.c:file.h fileedit_.c:fileedit.h finfo_.c:finfo.h foci_.c:foci.h forum_.c:forum.h fshell_.c:fshell.h fusefs_.c:fusefs.h fuzz_.c:fuzz.h glob_.c:glob.h graph_.c:graph.h gzip_.c:gzip.h hname_.c:hname.h http_.c:http.h http_socket_.c:http_socket.h http_ssl_.c:http_ssl.h http_transport_.c:http_transport.h import_.c:import.h info_.c:info.h json_.c:json.h json_artifact_.c:json_artifact.h json_branch_.c:json_branch.h json_config_.c:json_config.h json_diff_.c:json_diff.h json_dir_.c:json_dir.h json_finfo_.c:json_finfo.h json_login_.c:json_login.h json_query_.c:json_query.h json_report_.c:json_report.h json_status_.c:json_status.h json_tag_.c:json_tag.h json_timeline_.c:json_timeline.h json_user_.c:json_user.h json_wiki_.c:json_wiki.h leaf_.c:leaf.h loadctrl_.c:loadctrl.h login_.c:login.h lookslike_.c:lookslike.h main_.c:main.h manifest_.c:manifest.h markdown_.c:markdown.h markdown_html_.c:markdown_html.h md5_.c:md5.h merge_.c:merge.h merge3_.c:merge3.h moderate_.c:moderate.h name_.c:name.h path_.c:path.h piechart_.c:piechart.h pivot_.c:pivot.h popen_.c:popen.h pqueue_.c:pqueue.h printf_.c:printf.h publish_.c:publish.h purge_.c:purge.h rebuild_.c:rebuild.h regexp_.c:regexp.h repolist_.c:repolist.h report_.c:report.h rss_.c:rss.h schema_.c:schema.h search_.c:search.h security_audit_.c:security_audit.h setup_.c:setup.h setupuser_.c:setupuser.h sha1_.c:sha1.h sha1hard_.c:sha1hard.h sha3_.c:sha3.h shun_.c:shun.h sitemap_.c:sitemap.h skins_.c:skins.h smtp_.c:smtp.h sqlcmd_.c:sqlcmd.h stash_.c:stash.h stat_.c:stat.h statrep_.c:statrep.h style_.c:style.h sync_.c:sync.h tag_.c:tag.h tar_.c:tar.h terminal_.c:terminal.h th_main_.c:th_main.h timeline_.c:timeline.h tkt_.c:tkt.h tktsetup_.c:tktsetup.h undo_.c:undo.h unicode_.c:unicode.h unversioned_.c:unversioned.h update_.c:update.h url_.c:url.h user_.c:user.h utf8_.c:utf8.h util_.c:util.h verify_.c:verify.h vfile_.c:vfile.h webmail_.c:webmail.h wiki_.c:wiki.h wikiformat_.c:wikiformat.h winfile_.c:winfile.h winhttp_.c:winhttp.h wysiwyg_.c:wysiwyg.h xfer_.c:xfer.h xfersetup_.c:xfersetup.h zip_.c:zip.h $(SRCDIR)\sqlite3.h $(SRCDIR)\th.h VERSION.h $(SRCDIR)\cson_amalgamation.h | |
| 982 | 987 | @copy /Y nul: headers |
| 983 | 988 |
| --- win/Makefile.dmc | |
| +++ win/Makefile.dmc | |
| @@ -24,17 +24,17 @@ | |
| 24 | CFLAGS = -o |
| 25 | BCC = $(DMDIR)\bin\dmc $(CFLAGS) |
| 26 | TCC = $(DMDIR)\bin\dmc $(CFLAGS) $(DMCDEF) $(SSL) $(INCL) |
| 27 | LIBS = $(DMDIR)\extra\lib\ zlib wsock32 advapi32 dnsapi |
| 28 | |
| 29 | SQLITE_OPTIONS = -DNDEBUG=1 -DSQLITE_DQS=0 -DSQLITE_THREADSAFE=0 -DSQLITE_DEFAULT_MEMSTATUS=0 -DSQLITE_DEFAULT_WAL_SYNCHRONOUS=1 -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_OMIT_DECLTYPE -DSQLITE_OMIT_DEPRECATED -DSQLITE_OMIT_GET_TABLE -DSQLITE_OMIT_PROGRESS_CALLBACK -DSQLITE_OMIT_SHARED_CACHE -DSQLITE_OMIT_LOAD_EXTENSION -DSQLITE_MAX_EXPR_DEPTH=0 -DSQLITE_USE_ALLOCA -DSQLITE_ENABLE_LOCKING_STYLE=0 -DSQLITE_DEFAULT_FILE_FORMAT=4 -DSQLITE_ENABLE_EXPLAIN_COMMENTS -DSQLITE_ENABLE_FTS4 -DSQLITE_ENABLE_DBSTAT_VTAB -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_STMTVTAB -DSQLITE_HAVE_ZLIB -DSQLITE_INTROSPECTION_PRAGMAS -DSQLITE_ENABLE_DBPAGE_VTAB -DSQLITE_TRUSTED_SCHEMA=0 |
| 30 | |
| 31 | SHELL_OPTIONS = -DNDEBUG=1 -DSQLITE_DQS=0 -DSQLITE_THREADSAFE=0 -DSQLITE_DEFAULT_MEMSTATUS=0 -DSQLITE_DEFAULT_WAL_SYNCHRONOUS=1 -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_OMIT_DECLTYPE -DSQLITE_OMIT_DEPRECATED -DSQLITE_OMIT_GET_TABLE -DSQLITE_OMIT_PROGRESS_CALLBACK -DSQLITE_OMIT_SHARED_CACHE -DSQLITE_OMIT_LOAD_EXTENSION -DSQLITE_MAX_EXPR_DEPTH=0 -DSQLITE_USE_ALLOCA -DSQLITE_ENABLE_LOCKING_STYLE=0 -DSQLITE_DEFAULT_FILE_FORMAT=4 -DSQLITE_ENABLE_EXPLAIN_COMMENTS -DSQLITE_ENABLE_FTS4 -DSQLITE_ENABLE_DBSTAT_VTAB -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_STMTVTAB -DSQLITE_HAVE_ZLIB -DSQLITE_INTROSPECTION_PRAGMAS -DSQLITE_ENABLE_DBPAGE_VTAB -DSQLITE_TRUSTED_SCHEMA=0 -Dmain=sqlite3_shell -DSQLITE_SHELL_IS_UTF8=1 -DSQLITE_OMIT_LOAD_EXTENSION=1 -DUSE_SYSTEM_SQLITE=$(USE_SYSTEM_SQLITE) -DSQLITE_SHELL_DBNAME_PROC=sqlcmd_get_dbname -DSQLITE_SHELL_INIT_PROC=sqlcmd_init_proc -Daccess=file_access -Dsystem=fossil_system -Dgetenv=fossil_getenv -Dfopen=fossil_fopen |
| 32 | |
| 33 | SRC = add_.c alerts_.c allrepo_.c attach_.c backlink_.c backoffice_.c bag_.c bisect_.c blob_.c branch_.c browse_.c builtin_.c bundle_.c cache_.c capabilities_.c captcha_.c cgi_.c checkin_.c checkout_.c clearsign_.c clone_.c comformat_.c configure_.c content_.c cookies_.c db_.c delta_.c deltacmd_.c deltafunc_.c descendants_.c diff_.c diffcmd_.c dispatch_.c doc_.c encode_.c etag_.c event_.c export_.c extcgi_.c file_.c fileedit_.c finfo_.c foci_.c forum_.c fshell_.c fusefs_.c fuzz_.c glob_.c graph_.c gzip_.c hname_.c http_.c http_socket_.c http_ssl_.c http_transport_.c import_.c info_.c json_.c json_artifact_.c json_branch_.c json_config_.c json_diff_.c json_dir_.c json_finfo_.c json_login_.c json_query_.c json_report_.c json_status_.c json_tag_.c json_timeline_.c json_user_.c json_wiki_.c leaf_.c loadctrl_.c login_.c lookslike_.c main_.c manifest_.c markdown_.c markdown_html_.c md5_.c merge_.c merge3_.c moderate_.c name_.c path_.c piechart_.c pivot_.c popen_.c pqueue_.c printf_.c publish_.c purge_.c rebuild_.c regexp_.c repolist_.c report_.c rss_.c schema_.c search_.c security_audit_.c setup_.c setupuser_.c sha1_.c sha1hard_.c sha3_.c shun_.c sitemap_.c skins_.c smtp_.c sqlcmd_.c stash_.c stat_.c statrep_.c style_.c sync_.c tag_.c tar_.c terminal_.c th_main_.c timeline_.c tkt_.c tktsetup_.c undo_.c unicode_.c unversioned_.c update_.c url_.c user_.c utf8_.c util_.c verify_.c vfile_.c webmail_.c wiki_.c wikiformat_.c winfile_.c winhttp_.c wysiwyg_.c xfer_.c xfersetup_.c zip_.c |
| 34 | |
| 35 | OBJ = $(OBJDIR)\add$O $(OBJDIR)\alerts$O $(OBJDIR)\allrepo$O $(OBJDIR)\attach$O $(OBJDIR)\backlink$O $(OBJDIR)\backoffice$O $(OBJDIR)\bag$O $(OBJDIR)\bisect$O $(OBJDIR)\blob$O $(OBJDIR)\branch$O $(OBJDIR)\browse$O $(OBJDIR)\builtin$O $(OBJDIR)\bundle$O $(OBJDIR)\cache$O $(OBJDIR)\capabilities$O $(OBJDIR)\captcha$O $(OBJDIR)\cgi$O $(OBJDIR)\checkin$O $(OBJDIR)\checkout$O $(OBJDIR)\clearsign$O $(OBJDIR)\clone$O $(OBJDIR)\comformat$O $(OBJDIR)\configure$O $(OBJDIR)\content$O $(OBJDIR)\cookies$O $(OBJDIR)\db$O $(OBJDIR)\delta$O $(OBJDIR)\deltacmd$O $(OBJDIR)\deltafunc$O $(OBJDIR)\descendants$O $(OBJDIR)\diff$O $(OBJDIR)\diffcmd$O $(OBJDIR)\dispatch$O $(OBJDIR)\doc$O $(OBJDIR)\encode$O $(OBJDIR)\etag$O $(OBJDIR)\event$O $(OBJDIR)\export$O $(OBJDIR)\extcgi$O $(OBJDIR)\file$O $(OBJDIR)\fileedit$O $(OBJDIR)\finfo$O $(OBJDIR)\foci$O $(OBJDIR)\forum$O $(OBJDIR)\fshell$O $(OBJDIR)\fusefs$O $(OBJDIR)\fuzz$O $(OBJDIR)\glob$O $(OBJDIR)\graph$O $(OBJDIR)\gzip$O $(OBJDIR)\hname$O $(OBJDIR)\http$O $(OBJDIR)\http_socket$O $(OBJDIR)\http_ssl$O $(OBJDIR)\http_transport$O $(OBJDIR)\import$O $(OBJDIR)\info$O $(OBJDIR)\json$O $(OBJDIR)\json_artifact$O $(OBJDIR)\json_branch$O $(OBJDIR)\json_config$O $(OBJDIR)\json_diff$O $(OBJDIR)\json_dir$O $(OBJDIR)\json_finfo$O $(OBJDIR)\json_login$O $(OBJDIR)\json_query$O $(OBJDIR)\json_report$O $(OBJDIR)\json_status$O $(OBJDIR)\json_tag$O $(OBJDIR)\json_timeline$O $(OBJDIR)\json_user$O $(OBJDIR)\json_wiki$O $(OBJDIR)\leaf$O $(OBJDIR)\loadctrl$O $(OBJDIR)\login$O $(OBJDIR)\lookslike$O $(OBJDIR)\main$O $(OBJDIR)\manifest$O $(OBJDIR)\markdown$O $(OBJDIR)\markdown_html$O $(OBJDIR)\md5$O $(OBJDIR)\merge$O $(OBJDIR)\merge3$O $(OBJDIR)\moderate$O $(OBJDIR)\name$O $(OBJDIR)\path$O $(OBJDIR)\piechart$O $(OBJDIR)\pivot$O $(OBJDIR)\popen$O $(OBJDIR)\pqueue$O $(OBJDIR)\printf$O $(OBJDIR)\publish$O $(OBJDIR)\purge$O $(OBJDIR)\rebuild$O $(OBJDIR)\regexp$O $(OBJDIR)\repolist$O $(OBJDIR)\report$O $(OBJDIR)\rss$O $(OBJDIR)\schema$O $(OBJDIR)\search$O $(OBJDIR)\security_audit$O $(OBJDIR)\setup$O $(OBJDIR)\setupuser$O $(OBJDIR)\sha1$O $(OBJDIR)\sha1hard$O $(OBJDIR)\sha3$O $(OBJDIR)\shun$O $(OBJDIR)\sitemap$O $(OBJDIR)\skins$O $(OBJDIR)\smtp$O $(OBJDIR)\sqlcmd$O $(OBJDIR)\stash$O $(OBJDIR)\stat$O $(OBJDIR)\statrep$O $(OBJDIR)\style$O $(OBJDIR)\sync$O $(OBJDIR)\tag$O $(OBJDIR)\tar$O $(OBJDIR)\terminal$O $(OBJDIR)\th_main$O $(OBJDIR)\timeline$O $(OBJDIR)\tkt$O $(OBJDIR)\tktsetup$O $(OBJDIR)\undo$O $(OBJDIR)\unicode$O $(OBJDIR)\unversioned$O $(OBJDIR)\update$O $(OBJDIR)\url$O $(OBJDIR)\user$O $(OBJDIR)\utf8$O $(OBJDIR)\util$O $(OBJDIR)\verify$O $(OBJDIR)\vfile$O $(OBJDIR)\webmail$O $(OBJDIR)\wiki$O $(OBJDIR)\wikiformat$O $(OBJDIR)\winfile$O $(OBJDIR)\winhttp$O $(OBJDIR)\wysiwyg$O $(OBJDIR)\xfer$O $(OBJDIR)\xfersetup$O $(OBJDIR)\zip$O $(OBJDIR)\shell$O $(OBJDIR)\sqlite3$O $(OBJDIR)\th$O $(OBJDIR)\th_lang$O |
| 36 | |
| 37 | |
| 38 | RC=$(DMDIR)\bin\rcc |
| 39 | RCFLAGS=-32 -w1 -I$(SRCDIR) /D__DMC__ |
| 40 | |
| @@ -49,11 +49,11 @@ | |
| 49 | |
| 50 | $(OBJDIR)\fossil.res: $B\win\fossil.rc |
| 51 | $(RC) $(RCFLAGS) -o$@ $** |
| 52 | |
| 53 | $(OBJDIR)\link: $B\win\Makefile.dmc $(OBJDIR)\fossil.res |
| 54 | +echo add alerts allrepo attach backlink backoffice bag bisect blob branch browse builtin bundle cache capabilities captcha cgi checkin checkout clearsign clone comformat configure content cookies db delta deltacmd deltafunc descendants diff diffcmd dispatch doc encode etag event export extcgi file fileedit finfo foci forum fshell fusefs fuzz glob graph gzip hname http http_socket http_ssl http_transport import info json json_artifact json_branch json_config json_diff json_dir json_finfo json_login json_query json_report json_status json_tag json_timeline json_user json_wiki leaf loadctrl login lookslike main manifest markdown markdown_html md5 merge merge3 moderate name path piechart pivot popen pqueue printf publish purge rebuild regexp repolist report rss schema search security_audit setup setupuser sha1 sha1hard sha3 shun sitemap skins smtp sqlcmd stash stat statrep style sync tag tar terminal th_main timeline tkt tktsetup undo unicode unversioned update url user utf8 util verify vfile webmail wiki wikiformat winfile winhttp wysiwyg xfer xfersetup zip shell sqlite3 th th_lang > $@ |
| 55 | +echo fossil >> $@ |
| 56 | +echo fossil >> $@ |
| 57 | +echo $(LIBS) >> $@ |
| 58 | +echo. >> $@ |
| 59 | +echo fossil >> $@ |
| @@ -122,16 +122,21 @@ | |
| 122 | $(OBJDIR)\json_timeline$O : $(SRCDIR)\json_detail.h |
| 123 | $(OBJDIR)\json_user$O : $(SRCDIR)\json_detail.h |
| 124 | $(OBJDIR)\json_wiki$O : $(SRCDIR)\json_detail.h |
| 125 | |
| 126 | |
| 127 | |
| 128 | $(OBJDIR)\add$O : add_.c add.h |
| 129 | $(TCC) -o$@ -c add_.c |
| 130 | |
| 131 | add_.c : $(SRCDIR)\add.c |
| 132 | +translate$E $** > $@ |
| 133 | |
| 134 | $(OBJDIR)\alerts$O : alerts_.c alerts.h |
| 135 | $(TCC) -o$@ -c alerts_.c |
| 136 | |
| 137 | alerts_.c : $(SRCDIR)\alerts.c |
| @@ -976,7 +981,7 @@ | |
| 976 | |
| 977 | zip_.c : $(SRCDIR)\zip.c |
| 978 | +translate$E $** > $@ |
| 979 | |
| 980 | headers: makeheaders$E page_index.h builtin_data.h VERSION.h |
| 981 | +makeheaders$E add_.c:add.h alerts_.c:alerts.h allrepo_.c:allrepo.h attach_.c:attach.h backlink_.c:backlink.h backoffice_.c:backoffice.h bag_.c:bag.h bisect_.c:bisect.h blob_.c:blob.h branch_.c:branch.h browse_.c:browse.h builtin_.c:builtin.h bundle_.c:bundle.h cache_.c:cache.h capabilities_.c:capabilities.h captcha_.c:captcha.h cgi_.c:cgi.h checkin_.c:checkin.h checkout_.c:checkout.h clearsign_.c:clearsign.h clone_.c:clone.h comformat_.c:comformat.h configure_.c:configure.h content_.c:content.h cookies_.c:cookies.h db_.c:db.h delta_.c:delta.h deltacmd_.c:deltacmd.h deltafunc_.c:deltafunc.h descendants_.c:descendants.h diff_.c:diff.h diffcmd_.c:diffcmd.h dispatch_.c:dispatch.h doc_.c:doc.h encode_.c:encode.h etag_.c:etag.h event_.c:event.h export_.c:export.h extcgi_.c:extcgi.h file_.c:file.h fileedit_.c:fileedit.h finfo_.c:finfo.h foci_.c:foci.h forum_.c:forum.h fshell_.c:fshell.h fusefs_.c:fusefs.h fuzz_.c:fuzz.h glob_.c:glob.h graph_.c:graph.h gzip_.c:gzip.h hname_.c:hname.h http_.c:http.h http_socket_.c:http_socket.h http_ssl_.c:http_ssl.h http_transport_.c:http_transport.h import_.c:import.h info_.c:info.h json_.c:json.h json_artifact_.c:json_artifact.h json_branch_.c:json_branch.h json_config_.c:json_config.h json_diff_.c:json_diff.h json_dir_.c:json_dir.h json_finfo_.c:json_finfo.h json_login_.c:json_login.h json_query_.c:json_query.h json_report_.c:json_report.h json_status_.c:json_status.h json_tag_.c:json_tag.h json_timeline_.c:json_timeline.h json_user_.c:json_user.h json_wiki_.c:json_wiki.h leaf_.c:leaf.h loadctrl_.c:loadctrl.h login_.c:login.h lookslike_.c:lookslike.h main_.c:main.h manifest_.c:manifest.h markdown_.c:markdown.h markdown_html_.c:markdown_html.h md5_.c:md5.h merge_.c:merge.h merge3_.c:merge3.h moderate_.c:moderate.h name_.c:name.h path_.c:path.h piechart_.c:piechart.h pivot_.c:pivot.h popen_.c:popen.h pqueue_.c:pqueue.h printf_.c:printf.h publish_.c:publish.h purge_.c:purge.h rebuild_.c:rebuild.h regexp_.c:regexp.h repolist_.c:repolist.h report_.c:report.h rss_.c:rss.h schema_.c:schema.h search_.c:search.h security_audit_.c:security_audit.h setup_.c:setup.h setupuser_.c:setupuser.h sha1_.c:sha1.h sha1hard_.c:sha1hard.h sha3_.c:sha3.h shun_.c:shun.h sitemap_.c:sitemap.h skins_.c:skins.h smtp_.c:smtp.h sqlcmd_.c:sqlcmd.h stash_.c:stash.h stat_.c:stat.h statrep_.c:statrep.h style_.c:style.h sync_.c:sync.h tag_.c:tag.h tar_.c:tar.h terminal_.c:terminal.h th_main_.c:th_main.h timeline_.c:timeline.h tkt_.c:tkt.h tktsetup_.c:tktsetup.h undo_.c:undo.h unicode_.c:unicode.h unversioned_.c:unversioned.h update_.c:update.h url_.c:url.h user_.c:user.h utf8_.c:utf8.h util_.c:util.h verify_.c:verify.h vfile_.c:vfile.h webmail_.c:webmail.h wiki_.c:wiki.h wikiformat_.c:wikiformat.h winfile_.c:winfile.h winhttp_.c:winhttp.h wysiwyg_.c:wysiwyg.h xfer_.c:xfer.h xfersetup_.c:xfersetup.h zip_.c:zip.h $(SRCDIR)\sqlite3.h $(SRCDIR)\th.h VERSION.h $(SRCDIR)\cson_amalgamation.h |
| 982 | @copy /Y nul: headers |
| 983 |
| --- win/Makefile.dmc | |
| +++ win/Makefile.dmc | |
| @@ -24,17 +24,17 @@ | |
| 24 | CFLAGS = -o |
| 25 | BCC = $(DMDIR)\bin\dmc $(CFLAGS) |
| 26 | TCC = $(DMDIR)\bin\dmc $(CFLAGS) $(DMCDEF) $(SSL) $(INCL) |
| 27 | LIBS = $(DMDIR)\extra\lib\ zlib wsock32 advapi32 dnsapi |
| 28 | |
| 29 | SQLITE_OPTIONS = -DNDEBUG=1 -DSQLITE_DQS=0 -DSQLITE_THREADSAFE=0 -DSQLITE_DEFAULT_MEMSTATUS=0 -DSQLITE_DEFAULT_WAL_SYNCHRONOUS=1 -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_OMIT_DECLTYPE -DSQLITE_OMIT_DEPRECATED -DSQLITE_OMIT_PROGRESS_CALLBACK -DSQLITE_OMIT_SHARED_CACHE -DSQLITE_OMIT_LOAD_EXTENSION -DSQLITE_MAX_EXPR_DEPTH=0 -DSQLITE_USE_ALLOCA -DSQLITE_ENABLE_LOCKING_STYLE=0 -DSQLITE_DEFAULT_FILE_FORMAT=4 -DSQLITE_ENABLE_EXPLAIN_COMMENTS -DSQLITE_ENABLE_FTS4 -DSQLITE_ENABLE_DBSTAT_VTAB -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_STMTVTAB -DSQLITE_HAVE_ZLIB -DSQLITE_INTROSPECTION_PRAGMAS -DSQLITE_ENABLE_DBPAGE_VTAB -DSQLITE_TRUSTED_SCHEMA=0 |
| 30 | |
| 31 | SHELL_OPTIONS = -DNDEBUG=1 -DSQLITE_DQS=0 -DSQLITE_THREADSAFE=0 -DSQLITE_DEFAULT_MEMSTATUS=0 -DSQLITE_DEFAULT_WAL_SYNCHRONOUS=1 -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_OMIT_DECLTYPE -DSQLITE_OMIT_DEPRECATED -DSQLITE_OMIT_PROGRESS_CALLBACK -DSQLITE_OMIT_SHARED_CACHE -DSQLITE_OMIT_LOAD_EXTENSION -DSQLITE_MAX_EXPR_DEPTH=0 -DSQLITE_USE_ALLOCA -DSQLITE_ENABLE_LOCKING_STYLE=0 -DSQLITE_DEFAULT_FILE_FORMAT=4 -DSQLITE_ENABLE_EXPLAIN_COMMENTS -DSQLITE_ENABLE_FTS4 -DSQLITE_ENABLE_DBSTAT_VTAB -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_STMTVTAB -DSQLITE_HAVE_ZLIB -DSQLITE_INTROSPECTION_PRAGMAS -DSQLITE_ENABLE_DBPAGE_VTAB -DSQLITE_TRUSTED_SCHEMA=0 -Dmain=sqlite3_shell -DSQLITE_SHELL_IS_UTF8=1 -DSQLITE_OMIT_LOAD_EXTENSION=1 -DUSE_SYSTEM_SQLITE=$(USE_SYSTEM_SQLITE) -DSQLITE_SHELL_DBNAME_PROC=sqlcmd_get_dbname -DSQLITE_SHELL_INIT_PROC=sqlcmd_init_proc -Daccess=file_access -Dsystem=fossil_system -Dgetenv=fossil_getenv -Dfopen=fossil_fopen |
| 32 | |
| 33 | SRC = add_.c ajax_.c alerts_.c allrepo_.c attach_.c backlink_.c backoffice_.c bag_.c bisect_.c blob_.c branch_.c browse_.c builtin_.c bundle_.c cache_.c capabilities_.c captcha_.c cgi_.c checkin_.c checkout_.c clearsign_.c clone_.c comformat_.c configure_.c content_.c cookies_.c db_.c delta_.c deltacmd_.c deltafunc_.c descendants_.c diff_.c diffcmd_.c dispatch_.c doc_.c encode_.c etag_.c event_.c export_.c extcgi_.c file_.c fileedit_.c finfo_.c foci_.c forum_.c fshell_.c fusefs_.c fuzz_.c glob_.c graph_.c gzip_.c hname_.c http_.c http_socket_.c http_ssl_.c http_transport_.c import_.c info_.c json_.c json_artifact_.c json_branch_.c json_config_.c json_diff_.c json_dir_.c json_finfo_.c json_login_.c json_query_.c json_report_.c json_status_.c json_tag_.c json_timeline_.c json_user_.c json_wiki_.c leaf_.c loadctrl_.c login_.c lookslike_.c main_.c manifest_.c markdown_.c markdown_html_.c md5_.c merge_.c merge3_.c moderate_.c name_.c path_.c piechart_.c pivot_.c popen_.c pqueue_.c printf_.c publish_.c purge_.c rebuild_.c regexp_.c repolist_.c report_.c rss_.c schema_.c search_.c security_audit_.c setup_.c setupuser_.c sha1_.c sha1hard_.c sha3_.c shun_.c sitemap_.c skins_.c smtp_.c sqlcmd_.c stash_.c stat_.c statrep_.c style_.c sync_.c tag_.c tar_.c terminal_.c th_main_.c timeline_.c tkt_.c tktsetup_.c undo_.c unicode_.c unversioned_.c update_.c url_.c user_.c utf8_.c util_.c verify_.c vfile_.c webmail_.c wiki_.c wikiformat_.c winfile_.c winhttp_.c wysiwyg_.c xfer_.c xfersetup_.c zip_.c |
| 34 | |
| 35 | OBJ = $(OBJDIR)\add$O $(OBJDIR)\ajax$O $(OBJDIR)\alerts$O $(OBJDIR)\allrepo$O $(OBJDIR)\attach$O $(OBJDIR)\backlink$O $(OBJDIR)\backoffice$O $(OBJDIR)\bag$O $(OBJDIR)\bisect$O $(OBJDIR)\blob$O $(OBJDIR)\branch$O $(OBJDIR)\browse$O $(OBJDIR)\builtin$O $(OBJDIR)\bundle$O $(OBJDIR)\cache$O $(OBJDIR)\capabilities$O $(OBJDIR)\captcha$O $(OBJDIR)\cgi$O $(OBJDIR)\checkin$O $(OBJDIR)\checkout$O $(OBJDIR)\clearsign$O $(OBJDIR)\clone$O $(OBJDIR)\comformat$O $(OBJDIR)\configure$O $(OBJDIR)\content$O $(OBJDIR)\cookies$O $(OBJDIR)\db$O $(OBJDIR)\delta$O $(OBJDIR)\deltacmd$O $(OBJDIR)\deltafunc$O $(OBJDIR)\descendants$O $(OBJDIR)\diff$O $(OBJDIR)\diffcmd$O $(OBJDIR)\dispatch$O $(OBJDIR)\doc$O $(OBJDIR)\encode$O $(OBJDIR)\etag$O $(OBJDIR)\event$O $(OBJDIR)\export$O $(OBJDIR)\extcgi$O $(OBJDIR)\file$O $(OBJDIR)\fileedit$O $(OBJDIR)\finfo$O $(OBJDIR)\foci$O $(OBJDIR)\forum$O $(OBJDIR)\fshell$O $(OBJDIR)\fusefs$O $(OBJDIR)\fuzz$O $(OBJDIR)\glob$O $(OBJDIR)\graph$O $(OBJDIR)\gzip$O $(OBJDIR)\hname$O $(OBJDIR)\http$O $(OBJDIR)\http_socket$O $(OBJDIR)\http_ssl$O $(OBJDIR)\http_transport$O $(OBJDIR)\import$O $(OBJDIR)\info$O $(OBJDIR)\json$O $(OBJDIR)\json_artifact$O $(OBJDIR)\json_branch$O $(OBJDIR)\json_config$O $(OBJDIR)\json_diff$O $(OBJDIR)\json_dir$O $(OBJDIR)\json_finfo$O $(OBJDIR)\json_login$O $(OBJDIR)\json_query$O $(OBJDIR)\json_report$O $(OBJDIR)\json_status$O $(OBJDIR)\json_tag$O $(OBJDIR)\json_timeline$O $(OBJDIR)\json_user$O $(OBJDIR)\json_wiki$O $(OBJDIR)\leaf$O $(OBJDIR)\loadctrl$O $(OBJDIR)\login$O $(OBJDIR)\lookslike$O $(OBJDIR)\main$O $(OBJDIR)\manifest$O $(OBJDIR)\markdown$O $(OBJDIR)\markdown_html$O $(OBJDIR)\md5$O $(OBJDIR)\merge$O $(OBJDIR)\merge3$O $(OBJDIR)\moderate$O $(OBJDIR)\name$O $(OBJDIR)\path$O $(OBJDIR)\piechart$O $(OBJDIR)\pivot$O $(OBJDIR)\popen$O $(OBJDIR)\pqueue$O $(OBJDIR)\printf$O $(OBJDIR)\publish$O $(OBJDIR)\purge$O $(OBJDIR)\rebuild$O $(OBJDIR)\regexp$O $(OBJDIR)\repolist$O $(OBJDIR)\report$O $(OBJDIR)\rss$O $(OBJDIR)\schema$O $(OBJDIR)\search$O $(OBJDIR)\security_audit$O $(OBJDIR)\setup$O $(OBJDIR)\setupuser$O $(OBJDIR)\sha1$O $(OBJDIR)\sha1hard$O $(OBJDIR)\sha3$O $(OBJDIR)\shun$O $(OBJDIR)\sitemap$O $(OBJDIR)\skins$O $(OBJDIR)\smtp$O $(OBJDIR)\sqlcmd$O $(OBJDIR)\stash$O $(OBJDIR)\stat$O $(OBJDIR)\statrep$O $(OBJDIR)\style$O $(OBJDIR)\sync$O $(OBJDIR)\tag$O $(OBJDIR)\tar$O $(OBJDIR)\terminal$O $(OBJDIR)\th_main$O $(OBJDIR)\timeline$O $(OBJDIR)\tkt$O $(OBJDIR)\tktsetup$O $(OBJDIR)\undo$O $(OBJDIR)\unicode$O $(OBJDIR)\unversioned$O $(OBJDIR)\update$O $(OBJDIR)\url$O $(OBJDIR)\user$O $(OBJDIR)\utf8$O $(OBJDIR)\util$O $(OBJDIR)\verify$O $(OBJDIR)\vfile$O $(OBJDIR)\webmail$O $(OBJDIR)\wiki$O $(OBJDIR)\wikiformat$O $(OBJDIR)\winfile$O $(OBJDIR)\winhttp$O $(OBJDIR)\wysiwyg$O $(OBJDIR)\xfer$O $(OBJDIR)\xfersetup$O $(OBJDIR)\zip$O $(OBJDIR)\shell$O $(OBJDIR)\sqlite3$O $(OBJDIR)\th$O $(OBJDIR)\th_lang$O |
| 36 | |
| 37 | |
| 38 | RC=$(DMDIR)\bin\rcc |
| 39 | RCFLAGS=-32 -w1 -I$(SRCDIR) /D__DMC__ |
| 40 | |
| @@ -49,11 +49,11 @@ | |
| 49 | |
| 50 | $(OBJDIR)\fossil.res: $B\win\fossil.rc |
| 51 | $(RC) $(RCFLAGS) -o$@ $** |
| 52 | |
| 53 | $(OBJDIR)\link: $B\win\Makefile.dmc $(OBJDIR)\fossil.res |
| 54 | +echo add ajax alerts allrepo attach backlink backoffice bag bisect blob branch browse builtin bundle cache capabilities captcha cgi checkin checkout clearsign clone comformat configure content cookies db delta deltacmd deltafunc descendants diff diffcmd dispatch doc encode etag event export extcgi file fileedit finfo foci forum fshell fusefs fuzz glob graph gzip hname http http_socket http_ssl http_transport import info json json_artifact json_branch json_config json_diff json_dir json_finfo json_login json_query json_report json_status json_tag json_timeline json_user json_wiki leaf loadctrl login lookslike main manifest markdown markdown_html md5 merge merge3 moderate name path piechart pivot popen pqueue printf publish purge rebuild regexp repolist report rss schema search security_audit setup setupuser sha1 sha1hard sha3 shun sitemap skins smtp sqlcmd stash stat statrep style sync tag tar terminal th_main timeline tkt tktsetup undo unicode unversioned update url user utf8 util verify vfile webmail wiki wikiformat winfile winhttp wysiwyg xfer xfersetup zip shell sqlite3 th th_lang > $@ |
| 55 | +echo fossil >> $@ |
| 56 | +echo fossil >> $@ |
| 57 | +echo $(LIBS) >> $@ |
| 58 | +echo. >> $@ |
| 59 | +echo fossil >> $@ |
| @@ -122,16 +122,21 @@ | |
| 122 | $(OBJDIR)\json_timeline$O : $(SRCDIR)\json_detail.h |
| 123 | $(OBJDIR)\json_user$O : $(SRCDIR)\json_detail.h |
| 124 | $(OBJDIR)\json_wiki$O : $(SRCDIR)\json_detail.h |
| 125 | |
| 126 | |
| 127 | $(OBJDIR)\add$O : add_.c add.h |
| 128 | $(TCC) -o$@ -c add_.c |
| 129 | |
| 130 | add_.c : $(SRCDIR)\add.c |
| 131 | +translate$E $** > $@ |
| 132 | |
| 133 | $(OBJDIR)\ajax$O : ajax_.c ajax.h |
| 134 | $(TCC) -o$@ -c ajax_.c |
| 135 | |
| 136 | ajax_.c : $(SRCDIR)\ajax.c |
| 137 | +translate$E $** > $@ |
| 138 | |
| 139 | $(OBJDIR)\alerts$O : alerts_.c alerts.h |
| 140 | $(TCC) -o$@ -c alerts_.c |
| 141 | |
| 142 | alerts_.c : $(SRCDIR)\alerts.c |
| @@ -976,7 +981,7 @@ | |
| 981 | |
| 982 | zip_.c : $(SRCDIR)\zip.c |
| 983 | +translate$E $** > $@ |
| 984 | |
| 985 | headers: makeheaders$E page_index.h builtin_data.h VERSION.h |
| 986 | +makeheaders$E add_.c:add.h ajax_.c:ajax.h alerts_.c:alerts.h allrepo_.c:allrepo.h attach_.c:attach.h backlink_.c:backlink.h backoffice_.c:backoffice.h bag_.c:bag.h bisect_.c:bisect.h blob_.c:blob.h branch_.c:branch.h browse_.c:browse.h builtin_.c:builtin.h bundle_.c:bundle.h cache_.c:cache.h capabilities_.c:capabilities.h captcha_.c:captcha.h cgi_.c:cgi.h checkin_.c:checkin.h checkout_.c:checkout.h clearsign_.c:clearsign.h clone_.c:clone.h comformat_.c:comformat.h configure_.c:configure.h content_.c:content.h cookies_.c:cookies.h db_.c:db.h delta_.c:delta.h deltacmd_.c:deltacmd.h deltafunc_.c:deltafunc.h descendants_.c:descendants.h diff_.c:diff.h diffcmd_.c:diffcmd.h dispatch_.c:dispatch.h doc_.c:doc.h encode_.c:encode.h etag_.c:etag.h event_.c:event.h export_.c:export.h extcgi_.c:extcgi.h file_.c:file.h fileedit_.c:fileedit.h finfo_.c:finfo.h foci_.c:foci.h forum_.c:forum.h fshell_.c:fshell.h fusefs_.c:fusefs.h fuzz_.c:fuzz.h glob_.c:glob.h graph_.c:graph.h gzip_.c:gzip.h hname_.c:hname.h http_.c:http.h http_socket_.c:http_socket.h http_ssl_.c:http_ssl.h http_transport_.c:http_transport.h import_.c:import.h info_.c:info.h json_.c:json.h json_artifact_.c:json_artifact.h json_branch_.c:json_branch.h json_config_.c:json_config.h json_diff_.c:json_diff.h json_dir_.c:json_dir.h json_finfo_.c:json_finfo.h json_login_.c:json_login.h json_query_.c:json_query.h json_report_.c:json_report.h json_status_.c:json_status.h json_tag_.c:json_tag.h json_timeline_.c:json_timeline.h json_user_.c:json_user.h json_wiki_.c:json_wiki.h leaf_.c:leaf.h loadctrl_.c:loadctrl.h login_.c:login.h lookslike_.c:lookslike.h main_.c:main.h manifest_.c:manifest.h markdown_.c:markdown.h markdown_html_.c:markdown_html.h md5_.c:md5.h merge_.c:merge.h merge3_.c:merge3.h moderate_.c:moderate.h name_.c:name.h path_.c:path.h piechart_.c:piechart.h pivot_.c:pivot.h popen_.c:popen.h pqueue_.c:pqueue.h printf_.c:printf.h publish_.c:publish.h purge_.c:purge.h rebuild_.c:rebuild.h regexp_.c:regexp.h repolist_.c:repolist.h report_.c:report.h rss_.c:rss.h schema_.c:schema.h search_.c:search.h security_audit_.c:security_audit.h setup_.c:setup.h setupuser_.c:setupuser.h sha1_.c:sha1.h sha1hard_.c:sha1hard.h sha3_.c:sha3.h shun_.c:shun.h sitemap_.c:sitemap.h skins_.c:skins.h smtp_.c:smtp.h sqlcmd_.c:sqlcmd.h stash_.c:stash.h stat_.c:stat.h statrep_.c:statrep.h style_.c:style.h sync_.c:sync.h tag_.c:tag.h tar_.c:tar.h terminal_.c:terminal.h th_main_.c:th_main.h timeline_.c:timeline.h tkt_.c:tkt.h tktsetup_.c:tktsetup.h undo_.c:undo.h unicode_.c:unicode.h unversioned_.c:unversioned.h update_.c:update.h url_.c:url.h user_.c:user.h utf8_.c:utf8.h util_.c:util.h verify_.c:verify.h vfile_.c:vfile.h webmail_.c:webmail.h wiki_.c:wiki.h wikiformat_.c:wikiformat.h winfile_.c:winfile.h winhttp_.c:winhttp.h wysiwyg_.c:wysiwyg.h xfer_.c:xfer.h xfersetup_.c:xfersetup.h zip_.c:zip.h $(SRCDIR)\sqlite3.h $(SRCDIR)\th.h VERSION.h $(SRCDIR)\cson_amalgamation.h |
| 987 | @copy /Y nul: headers |
| 988 |
+12
-2
| --- win/Makefile.mingw | ||
| +++ win/Makefile.mingw | ||
| @@ -437,10 +437,11 @@ | ||
| 437 | 437 | XBCC = $(BCC) $(CFLAGS) |
| 438 | 438 | XTCC = $(TCC) $(CFLAGS) -I. -I$(SRCDIR) |
| 439 | 439 | |
| 440 | 440 | SRC = \ |
| 441 | 441 | $(SRCDIR)/add.c \ |
| 442 | + $(SRCDIR)/ajax.c \ | |
| 442 | 443 | $(SRCDIR)/alerts.c \ |
| 443 | 444 | $(SRCDIR)/allrepo.c \ |
| 444 | 445 | $(SRCDIR)/attach.c \ |
| 445 | 446 | $(SRCDIR)/backlink.c \ |
| 446 | 447 | $(SRCDIR)/backoffice.c \ |
| @@ -682,10 +683,11 @@ | ||
| 682 | 683 | $(SRCDIR)/useredit.js \ |
| 683 | 684 | $(SRCDIR)/wiki.wiki |
| 684 | 685 | |
| 685 | 686 | TRANS_SRC = \ |
| 686 | 687 | $(OBJDIR)/add_.c \ |
| 688 | + $(OBJDIR)/ajax_.c \ | |
| 687 | 689 | $(OBJDIR)/alerts_.c \ |
| 688 | 690 | $(OBJDIR)/allrepo_.c \ |
| 689 | 691 | $(OBJDIR)/attach_.c \ |
| 690 | 692 | $(OBJDIR)/backlink_.c \ |
| 691 | 693 | $(OBJDIR)/backoffice_.c \ |
| @@ -826,10 +828,11 @@ | ||
| 826 | 828 | $(OBJDIR)/xfersetup_.c \ |
| 827 | 829 | $(OBJDIR)/zip_.c |
| 828 | 830 | |
| 829 | 831 | OBJ = \ |
| 830 | 832 | $(OBJDIR)/add.o \ |
| 833 | + $(OBJDIR)/ajax.o \ | |
| 831 | 834 | $(OBJDIR)/alerts.o \ |
| 832 | 835 | $(OBJDIR)/allrepo.o \ |
| 833 | 836 | $(OBJDIR)/attach.o \ |
| 834 | 837 | $(OBJDIR)/backlink.o \ |
| 835 | 838 | $(OBJDIR)/backoffice.o \ |
| @@ -1182,10 +1185,11 @@ | ||
| 1182 | 1185 | $(OBJDIR)/builtin_data.h: $(MKBUILTIN) $(EXTRA_FILES) |
| 1183 | 1186 | $(MKBUILTIN) --prefix $(SRCDIR)/ $(EXTRA_FILES) >$@ |
| 1184 | 1187 | |
| 1185 | 1188 | $(OBJDIR)/headers: $(OBJDIR)/page_index.h $(OBJDIR)/builtin_data.h $(MAKEHEADERS) $(OBJDIR)/VERSION.h |
| 1186 | 1189 | $(MAKEHEADERS) $(OBJDIR)/add_.c:$(OBJDIR)/add.h \ |
| 1190 | + $(OBJDIR)/ajax_.c:$(OBJDIR)/ajax.h \ | |
| 1187 | 1191 | $(OBJDIR)/alerts_.c:$(OBJDIR)/alerts.h \ |
| 1188 | 1192 | $(OBJDIR)/allrepo_.c:$(OBJDIR)/allrepo.h \ |
| 1189 | 1193 | $(OBJDIR)/attach_.c:$(OBJDIR)/attach.h \ |
| 1190 | 1194 | $(OBJDIR)/backlink_.c:$(OBJDIR)/backlink.h \ |
| 1191 | 1195 | $(OBJDIR)/backoffice_.c:$(OBJDIR)/backoffice.h \ |
| @@ -1339,10 +1343,18 @@ | ||
| 1339 | 1343 | |
| 1340 | 1344 | $(OBJDIR)/add.o: $(OBJDIR)/add_.c $(OBJDIR)/add.h $(SRCDIR)/config.h |
| 1341 | 1345 | $(XTCC) -o $(OBJDIR)/add.o -c $(OBJDIR)/add_.c |
| 1342 | 1346 | |
| 1343 | 1347 | $(OBJDIR)/add.h: $(OBJDIR)/headers |
| 1348 | + | |
| 1349 | +$(OBJDIR)/ajax_.c: $(SRCDIR)/ajax.c $(TRANSLATE) | |
| 1350 | + $(TRANSLATE) $(SRCDIR)/ajax.c >$@ | |
| 1351 | + | |
| 1352 | +$(OBJDIR)/ajax.o: $(OBJDIR)/ajax_.c $(OBJDIR)/ajax.h $(SRCDIR)/config.h | |
| 1353 | + $(XTCC) -o $(OBJDIR)/ajax.o -c $(OBJDIR)/ajax_.c | |
| 1354 | + | |
| 1355 | +$(OBJDIR)/ajax.h: $(OBJDIR)/headers | |
| 1344 | 1356 | |
| 1345 | 1357 | $(OBJDIR)/alerts_.c: $(SRCDIR)/alerts.c $(TRANSLATE) |
| 1346 | 1358 | $(TRANSLATE) $(SRCDIR)/alerts.c >$@ |
| 1347 | 1359 | |
| 1348 | 1360 | $(OBJDIR)/alerts.o: $(OBJDIR)/alerts_.c $(OBJDIR)/alerts.h $(SRCDIR)/config.h |
| @@ -2478,11 +2490,10 @@ | ||
| 2478 | 2490 | -DSQLITE_DEFAULT_MEMSTATUS=0 \ |
| 2479 | 2491 | -DSQLITE_DEFAULT_WAL_SYNCHRONOUS=1 \ |
| 2480 | 2492 | -DSQLITE_LIKE_DOESNT_MATCH_BLOBS \ |
| 2481 | 2493 | -DSQLITE_OMIT_DECLTYPE \ |
| 2482 | 2494 | -DSQLITE_OMIT_DEPRECATED \ |
| 2483 | - -DSQLITE_OMIT_GET_TABLE \ | |
| 2484 | 2495 | -DSQLITE_OMIT_PROGRESS_CALLBACK \ |
| 2485 | 2496 | -DSQLITE_OMIT_SHARED_CACHE \ |
| 2486 | 2497 | -DSQLITE_OMIT_LOAD_EXTENSION \ |
| 2487 | 2498 | -DSQLITE_MAX_EXPR_DEPTH=0 \ |
| 2488 | 2499 | -DSQLITE_USE_ALLOCA \ |
| @@ -2509,11 +2520,10 @@ | ||
| 2509 | 2520 | -DSQLITE_DEFAULT_MEMSTATUS=0 \ |
| 2510 | 2521 | -DSQLITE_DEFAULT_WAL_SYNCHRONOUS=1 \ |
| 2511 | 2522 | -DSQLITE_LIKE_DOESNT_MATCH_BLOBS \ |
| 2512 | 2523 | -DSQLITE_OMIT_DECLTYPE \ |
| 2513 | 2524 | -DSQLITE_OMIT_DEPRECATED \ |
| 2514 | - -DSQLITE_OMIT_GET_TABLE \ | |
| 2515 | 2525 | -DSQLITE_OMIT_PROGRESS_CALLBACK \ |
| 2516 | 2526 | -DSQLITE_OMIT_SHARED_CACHE \ |
| 2517 | 2527 | -DSQLITE_OMIT_LOAD_EXTENSION \ |
| 2518 | 2528 | -DSQLITE_MAX_EXPR_DEPTH=0 \ |
| 2519 | 2529 | -DSQLITE_USE_ALLOCA \ |
| 2520 | 2530 |
| --- win/Makefile.mingw | |
| +++ win/Makefile.mingw | |
| @@ -437,10 +437,11 @@ | |
| 437 | XBCC = $(BCC) $(CFLAGS) |
| 438 | XTCC = $(TCC) $(CFLAGS) -I. -I$(SRCDIR) |
| 439 | |
| 440 | SRC = \ |
| 441 | $(SRCDIR)/add.c \ |
| 442 | $(SRCDIR)/alerts.c \ |
| 443 | $(SRCDIR)/allrepo.c \ |
| 444 | $(SRCDIR)/attach.c \ |
| 445 | $(SRCDIR)/backlink.c \ |
| 446 | $(SRCDIR)/backoffice.c \ |
| @@ -682,10 +683,11 @@ | |
| 682 | $(SRCDIR)/useredit.js \ |
| 683 | $(SRCDIR)/wiki.wiki |
| 684 | |
| 685 | TRANS_SRC = \ |
| 686 | $(OBJDIR)/add_.c \ |
| 687 | $(OBJDIR)/alerts_.c \ |
| 688 | $(OBJDIR)/allrepo_.c \ |
| 689 | $(OBJDIR)/attach_.c \ |
| 690 | $(OBJDIR)/backlink_.c \ |
| 691 | $(OBJDIR)/backoffice_.c \ |
| @@ -826,10 +828,11 @@ | |
| 826 | $(OBJDIR)/xfersetup_.c \ |
| 827 | $(OBJDIR)/zip_.c |
| 828 | |
| 829 | OBJ = \ |
| 830 | $(OBJDIR)/add.o \ |
| 831 | $(OBJDIR)/alerts.o \ |
| 832 | $(OBJDIR)/allrepo.o \ |
| 833 | $(OBJDIR)/attach.o \ |
| 834 | $(OBJDIR)/backlink.o \ |
| 835 | $(OBJDIR)/backoffice.o \ |
| @@ -1182,10 +1185,11 @@ | |
| 1182 | $(OBJDIR)/builtin_data.h: $(MKBUILTIN) $(EXTRA_FILES) |
| 1183 | $(MKBUILTIN) --prefix $(SRCDIR)/ $(EXTRA_FILES) >$@ |
| 1184 | |
| 1185 | $(OBJDIR)/headers: $(OBJDIR)/page_index.h $(OBJDIR)/builtin_data.h $(MAKEHEADERS) $(OBJDIR)/VERSION.h |
| 1186 | $(MAKEHEADERS) $(OBJDIR)/add_.c:$(OBJDIR)/add.h \ |
| 1187 | $(OBJDIR)/alerts_.c:$(OBJDIR)/alerts.h \ |
| 1188 | $(OBJDIR)/allrepo_.c:$(OBJDIR)/allrepo.h \ |
| 1189 | $(OBJDIR)/attach_.c:$(OBJDIR)/attach.h \ |
| 1190 | $(OBJDIR)/backlink_.c:$(OBJDIR)/backlink.h \ |
| 1191 | $(OBJDIR)/backoffice_.c:$(OBJDIR)/backoffice.h \ |
| @@ -1339,10 +1343,18 @@ | |
| 1339 | |
| 1340 | $(OBJDIR)/add.o: $(OBJDIR)/add_.c $(OBJDIR)/add.h $(SRCDIR)/config.h |
| 1341 | $(XTCC) -o $(OBJDIR)/add.o -c $(OBJDIR)/add_.c |
| 1342 | |
| 1343 | $(OBJDIR)/add.h: $(OBJDIR)/headers |
| 1344 | |
| 1345 | $(OBJDIR)/alerts_.c: $(SRCDIR)/alerts.c $(TRANSLATE) |
| 1346 | $(TRANSLATE) $(SRCDIR)/alerts.c >$@ |
| 1347 | |
| 1348 | $(OBJDIR)/alerts.o: $(OBJDIR)/alerts_.c $(OBJDIR)/alerts.h $(SRCDIR)/config.h |
| @@ -2478,11 +2490,10 @@ | |
| 2478 | -DSQLITE_DEFAULT_MEMSTATUS=0 \ |
| 2479 | -DSQLITE_DEFAULT_WAL_SYNCHRONOUS=1 \ |
| 2480 | -DSQLITE_LIKE_DOESNT_MATCH_BLOBS \ |
| 2481 | -DSQLITE_OMIT_DECLTYPE \ |
| 2482 | -DSQLITE_OMIT_DEPRECATED \ |
| 2483 | -DSQLITE_OMIT_GET_TABLE \ |
| 2484 | -DSQLITE_OMIT_PROGRESS_CALLBACK \ |
| 2485 | -DSQLITE_OMIT_SHARED_CACHE \ |
| 2486 | -DSQLITE_OMIT_LOAD_EXTENSION \ |
| 2487 | -DSQLITE_MAX_EXPR_DEPTH=0 \ |
| 2488 | -DSQLITE_USE_ALLOCA \ |
| @@ -2509,11 +2520,10 @@ | |
| 2509 | -DSQLITE_DEFAULT_MEMSTATUS=0 \ |
| 2510 | -DSQLITE_DEFAULT_WAL_SYNCHRONOUS=1 \ |
| 2511 | -DSQLITE_LIKE_DOESNT_MATCH_BLOBS \ |
| 2512 | -DSQLITE_OMIT_DECLTYPE \ |
| 2513 | -DSQLITE_OMIT_DEPRECATED \ |
| 2514 | -DSQLITE_OMIT_GET_TABLE \ |
| 2515 | -DSQLITE_OMIT_PROGRESS_CALLBACK \ |
| 2516 | -DSQLITE_OMIT_SHARED_CACHE \ |
| 2517 | -DSQLITE_OMIT_LOAD_EXTENSION \ |
| 2518 | -DSQLITE_MAX_EXPR_DEPTH=0 \ |
| 2519 | -DSQLITE_USE_ALLOCA \ |
| 2520 |
| --- win/Makefile.mingw | |
| +++ win/Makefile.mingw | |
| @@ -437,10 +437,11 @@ | |
| 437 | XBCC = $(BCC) $(CFLAGS) |
| 438 | XTCC = $(TCC) $(CFLAGS) -I. -I$(SRCDIR) |
| 439 | |
| 440 | SRC = \ |
| 441 | $(SRCDIR)/add.c \ |
| 442 | $(SRCDIR)/ajax.c \ |
| 443 | $(SRCDIR)/alerts.c \ |
| 444 | $(SRCDIR)/allrepo.c \ |
| 445 | $(SRCDIR)/attach.c \ |
| 446 | $(SRCDIR)/backlink.c \ |
| 447 | $(SRCDIR)/backoffice.c \ |
| @@ -682,10 +683,11 @@ | |
| 683 | $(SRCDIR)/useredit.js \ |
| 684 | $(SRCDIR)/wiki.wiki |
| 685 | |
| 686 | TRANS_SRC = \ |
| 687 | $(OBJDIR)/add_.c \ |
| 688 | $(OBJDIR)/ajax_.c \ |
| 689 | $(OBJDIR)/alerts_.c \ |
| 690 | $(OBJDIR)/allrepo_.c \ |
| 691 | $(OBJDIR)/attach_.c \ |
| 692 | $(OBJDIR)/backlink_.c \ |
| 693 | $(OBJDIR)/backoffice_.c \ |
| @@ -826,10 +828,11 @@ | |
| 828 | $(OBJDIR)/xfersetup_.c \ |
| 829 | $(OBJDIR)/zip_.c |
| 830 | |
| 831 | OBJ = \ |
| 832 | $(OBJDIR)/add.o \ |
| 833 | $(OBJDIR)/ajax.o \ |
| 834 | $(OBJDIR)/alerts.o \ |
| 835 | $(OBJDIR)/allrepo.o \ |
| 836 | $(OBJDIR)/attach.o \ |
| 837 | $(OBJDIR)/backlink.o \ |
| 838 | $(OBJDIR)/backoffice.o \ |
| @@ -1182,10 +1185,11 @@ | |
| 1185 | $(OBJDIR)/builtin_data.h: $(MKBUILTIN) $(EXTRA_FILES) |
| 1186 | $(MKBUILTIN) --prefix $(SRCDIR)/ $(EXTRA_FILES) >$@ |
| 1187 | |
| 1188 | $(OBJDIR)/headers: $(OBJDIR)/page_index.h $(OBJDIR)/builtin_data.h $(MAKEHEADERS) $(OBJDIR)/VERSION.h |
| 1189 | $(MAKEHEADERS) $(OBJDIR)/add_.c:$(OBJDIR)/add.h \ |
| 1190 | $(OBJDIR)/ajax_.c:$(OBJDIR)/ajax.h \ |
| 1191 | $(OBJDIR)/alerts_.c:$(OBJDIR)/alerts.h \ |
| 1192 | $(OBJDIR)/allrepo_.c:$(OBJDIR)/allrepo.h \ |
| 1193 | $(OBJDIR)/attach_.c:$(OBJDIR)/attach.h \ |
| 1194 | $(OBJDIR)/backlink_.c:$(OBJDIR)/backlink.h \ |
| 1195 | $(OBJDIR)/backoffice_.c:$(OBJDIR)/backoffice.h \ |
| @@ -1339,10 +1343,18 @@ | |
| 1343 | |
| 1344 | $(OBJDIR)/add.o: $(OBJDIR)/add_.c $(OBJDIR)/add.h $(SRCDIR)/config.h |
| 1345 | $(XTCC) -o $(OBJDIR)/add.o -c $(OBJDIR)/add_.c |
| 1346 | |
| 1347 | $(OBJDIR)/add.h: $(OBJDIR)/headers |
| 1348 | |
| 1349 | $(OBJDIR)/ajax_.c: $(SRCDIR)/ajax.c $(TRANSLATE) |
| 1350 | $(TRANSLATE) $(SRCDIR)/ajax.c >$@ |
| 1351 | |
| 1352 | $(OBJDIR)/ajax.o: $(OBJDIR)/ajax_.c $(OBJDIR)/ajax.h $(SRCDIR)/config.h |
| 1353 | $(XTCC) -o $(OBJDIR)/ajax.o -c $(OBJDIR)/ajax_.c |
| 1354 | |
| 1355 | $(OBJDIR)/ajax.h: $(OBJDIR)/headers |
| 1356 | |
| 1357 | $(OBJDIR)/alerts_.c: $(SRCDIR)/alerts.c $(TRANSLATE) |
| 1358 | $(TRANSLATE) $(SRCDIR)/alerts.c >$@ |
| 1359 | |
| 1360 | $(OBJDIR)/alerts.o: $(OBJDIR)/alerts_.c $(OBJDIR)/alerts.h $(SRCDIR)/config.h |
| @@ -2478,11 +2490,10 @@ | |
| 2490 | -DSQLITE_DEFAULT_MEMSTATUS=0 \ |
| 2491 | -DSQLITE_DEFAULT_WAL_SYNCHRONOUS=1 \ |
| 2492 | -DSQLITE_LIKE_DOESNT_MATCH_BLOBS \ |
| 2493 | -DSQLITE_OMIT_DECLTYPE \ |
| 2494 | -DSQLITE_OMIT_DEPRECATED \ |
| 2495 | -DSQLITE_OMIT_PROGRESS_CALLBACK \ |
| 2496 | -DSQLITE_OMIT_SHARED_CACHE \ |
| 2497 | -DSQLITE_OMIT_LOAD_EXTENSION \ |
| 2498 | -DSQLITE_MAX_EXPR_DEPTH=0 \ |
| 2499 | -DSQLITE_USE_ALLOCA \ |
| @@ -2509,11 +2520,10 @@ | |
| 2520 | -DSQLITE_DEFAULT_MEMSTATUS=0 \ |
| 2521 | -DSQLITE_DEFAULT_WAL_SYNCHRONOUS=1 \ |
| 2522 | -DSQLITE_LIKE_DOESNT_MATCH_BLOBS \ |
| 2523 | -DSQLITE_OMIT_DECLTYPE \ |
| 2524 | -DSQLITE_OMIT_DEPRECATED \ |
| 2525 | -DSQLITE_OMIT_PROGRESS_CALLBACK \ |
| 2526 | -DSQLITE_OMIT_SHARED_CACHE \ |
| 2527 | -DSQLITE_OMIT_LOAD_EXTENSION \ |
| 2528 | -DSQLITE_MAX_EXPR_DEPTH=0 \ |
| 2529 | -DSQLITE_USE_ALLOCA \ |
| 2530 |
+12
-2
| --- win/Makefile.mingw | ||
| +++ win/Makefile.mingw | ||
| @@ -437,10 +437,11 @@ | ||
| 437 | 437 | XBCC = $(BCC) $(CFLAGS) |
| 438 | 438 | XTCC = $(TCC) $(CFLAGS) -I. -I$(SRCDIR) |
| 439 | 439 | |
| 440 | 440 | SRC = \ |
| 441 | 441 | $(SRCDIR)/add.c \ |
| 442 | + $(SRCDIR)/ajax.c \ | |
| 442 | 443 | $(SRCDIR)/alerts.c \ |
| 443 | 444 | $(SRCDIR)/allrepo.c \ |
| 444 | 445 | $(SRCDIR)/attach.c \ |
| 445 | 446 | $(SRCDIR)/backlink.c \ |
| 446 | 447 | $(SRCDIR)/backoffice.c \ |
| @@ -682,10 +683,11 @@ | ||
| 682 | 683 | $(SRCDIR)/useredit.js \ |
| 683 | 684 | $(SRCDIR)/wiki.wiki |
| 684 | 685 | |
| 685 | 686 | TRANS_SRC = \ |
| 686 | 687 | $(OBJDIR)/add_.c \ |
| 688 | + $(OBJDIR)/ajax_.c \ | |
| 687 | 689 | $(OBJDIR)/alerts_.c \ |
| 688 | 690 | $(OBJDIR)/allrepo_.c \ |
| 689 | 691 | $(OBJDIR)/attach_.c \ |
| 690 | 692 | $(OBJDIR)/backlink_.c \ |
| 691 | 693 | $(OBJDIR)/backoffice_.c \ |
| @@ -826,10 +828,11 @@ | ||
| 826 | 828 | $(OBJDIR)/xfersetup_.c \ |
| 827 | 829 | $(OBJDIR)/zip_.c |
| 828 | 830 | |
| 829 | 831 | OBJ = \ |
| 830 | 832 | $(OBJDIR)/add.o \ |
| 833 | + $(OBJDIR)/ajax.o \ | |
| 831 | 834 | $(OBJDIR)/alerts.o \ |
| 832 | 835 | $(OBJDIR)/allrepo.o \ |
| 833 | 836 | $(OBJDIR)/attach.o \ |
| 834 | 837 | $(OBJDIR)/backlink.o \ |
| 835 | 838 | $(OBJDIR)/backoffice.o \ |
| @@ -1182,10 +1185,11 @@ | ||
| 1182 | 1185 | $(OBJDIR)/builtin_data.h: $(MKBUILTIN) $(EXTRA_FILES) |
| 1183 | 1186 | $(MKBUILTIN) --prefix $(SRCDIR)/ $(EXTRA_FILES) >$@ |
| 1184 | 1187 | |
| 1185 | 1188 | $(OBJDIR)/headers: $(OBJDIR)/page_index.h $(OBJDIR)/builtin_data.h $(MAKEHEADERS) $(OBJDIR)/VERSION.h |
| 1186 | 1189 | $(MAKEHEADERS) $(OBJDIR)/add_.c:$(OBJDIR)/add.h \ |
| 1190 | + $(OBJDIR)/ajax_.c:$(OBJDIR)/ajax.h \ | |
| 1187 | 1191 | $(OBJDIR)/alerts_.c:$(OBJDIR)/alerts.h \ |
| 1188 | 1192 | $(OBJDIR)/allrepo_.c:$(OBJDIR)/allrepo.h \ |
| 1189 | 1193 | $(OBJDIR)/attach_.c:$(OBJDIR)/attach.h \ |
| 1190 | 1194 | $(OBJDIR)/backlink_.c:$(OBJDIR)/backlink.h \ |
| 1191 | 1195 | $(OBJDIR)/backoffice_.c:$(OBJDIR)/backoffice.h \ |
| @@ -1339,10 +1343,18 @@ | ||
| 1339 | 1343 | |
| 1340 | 1344 | $(OBJDIR)/add.o: $(OBJDIR)/add_.c $(OBJDIR)/add.h $(SRCDIR)/config.h |
| 1341 | 1345 | $(XTCC) -o $(OBJDIR)/add.o -c $(OBJDIR)/add_.c |
| 1342 | 1346 | |
| 1343 | 1347 | $(OBJDIR)/add.h: $(OBJDIR)/headers |
| 1348 | + | |
| 1349 | +$(OBJDIR)/ajax_.c: $(SRCDIR)/ajax.c $(TRANSLATE) | |
| 1350 | + $(TRANSLATE) $(SRCDIR)/ajax.c >$@ | |
| 1351 | + | |
| 1352 | +$(OBJDIR)/ajax.o: $(OBJDIR)/ajax_.c $(OBJDIR)/ajax.h $(SRCDIR)/config.h | |
| 1353 | + $(XTCC) -o $(OBJDIR)/ajax.o -c $(OBJDIR)/ajax_.c | |
| 1354 | + | |
| 1355 | +$(OBJDIR)/ajax.h: $(OBJDIR)/headers | |
| 1344 | 1356 | |
| 1345 | 1357 | $(OBJDIR)/alerts_.c: $(SRCDIR)/alerts.c $(TRANSLATE) |
| 1346 | 1358 | $(TRANSLATE) $(SRCDIR)/alerts.c >$@ |
| 1347 | 1359 | |
| 1348 | 1360 | $(OBJDIR)/alerts.o: $(OBJDIR)/alerts_.c $(OBJDIR)/alerts.h $(SRCDIR)/config.h |
| @@ -2478,11 +2490,10 @@ | ||
| 2478 | 2490 | -DSQLITE_DEFAULT_MEMSTATUS=0 \ |
| 2479 | 2491 | -DSQLITE_DEFAULT_WAL_SYNCHRONOUS=1 \ |
| 2480 | 2492 | -DSQLITE_LIKE_DOESNT_MATCH_BLOBS \ |
| 2481 | 2493 | -DSQLITE_OMIT_DECLTYPE \ |
| 2482 | 2494 | -DSQLITE_OMIT_DEPRECATED \ |
| 2483 | - -DSQLITE_OMIT_GET_TABLE \ | |
| 2484 | 2495 | -DSQLITE_OMIT_PROGRESS_CALLBACK \ |
| 2485 | 2496 | -DSQLITE_OMIT_SHARED_CACHE \ |
| 2486 | 2497 | -DSQLITE_OMIT_LOAD_EXTENSION \ |
| 2487 | 2498 | -DSQLITE_MAX_EXPR_DEPTH=0 \ |
| 2488 | 2499 | -DSQLITE_USE_ALLOCA \ |
| @@ -2509,11 +2520,10 @@ | ||
| 2509 | 2520 | -DSQLITE_DEFAULT_MEMSTATUS=0 \ |
| 2510 | 2521 | -DSQLITE_DEFAULT_WAL_SYNCHRONOUS=1 \ |
| 2511 | 2522 | -DSQLITE_LIKE_DOESNT_MATCH_BLOBS \ |
| 2512 | 2523 | -DSQLITE_OMIT_DECLTYPE \ |
| 2513 | 2524 | -DSQLITE_OMIT_DEPRECATED \ |
| 2514 | - -DSQLITE_OMIT_GET_TABLE \ | |
| 2515 | 2525 | -DSQLITE_OMIT_PROGRESS_CALLBACK \ |
| 2516 | 2526 | -DSQLITE_OMIT_SHARED_CACHE \ |
| 2517 | 2527 | -DSQLITE_OMIT_LOAD_EXTENSION \ |
| 2518 | 2528 | -DSQLITE_MAX_EXPR_DEPTH=0 \ |
| 2519 | 2529 | -DSQLITE_USE_ALLOCA \ |
| 2520 | 2530 |
| --- win/Makefile.mingw | |
| +++ win/Makefile.mingw | |
| @@ -437,10 +437,11 @@ | |
| 437 | XBCC = $(BCC) $(CFLAGS) |
| 438 | XTCC = $(TCC) $(CFLAGS) -I. -I$(SRCDIR) |
| 439 | |
| 440 | SRC = \ |
| 441 | $(SRCDIR)/add.c \ |
| 442 | $(SRCDIR)/alerts.c \ |
| 443 | $(SRCDIR)/allrepo.c \ |
| 444 | $(SRCDIR)/attach.c \ |
| 445 | $(SRCDIR)/backlink.c \ |
| 446 | $(SRCDIR)/backoffice.c \ |
| @@ -682,10 +683,11 @@ | |
| 682 | $(SRCDIR)/useredit.js \ |
| 683 | $(SRCDIR)/wiki.wiki |
| 684 | |
| 685 | TRANS_SRC = \ |
| 686 | $(OBJDIR)/add_.c \ |
| 687 | $(OBJDIR)/alerts_.c \ |
| 688 | $(OBJDIR)/allrepo_.c \ |
| 689 | $(OBJDIR)/attach_.c \ |
| 690 | $(OBJDIR)/backlink_.c \ |
| 691 | $(OBJDIR)/backoffice_.c \ |
| @@ -826,10 +828,11 @@ | |
| 826 | $(OBJDIR)/xfersetup_.c \ |
| 827 | $(OBJDIR)/zip_.c |
| 828 | |
| 829 | OBJ = \ |
| 830 | $(OBJDIR)/add.o \ |
| 831 | $(OBJDIR)/alerts.o \ |
| 832 | $(OBJDIR)/allrepo.o \ |
| 833 | $(OBJDIR)/attach.o \ |
| 834 | $(OBJDIR)/backlink.o \ |
| 835 | $(OBJDIR)/backoffice.o \ |
| @@ -1182,10 +1185,11 @@ | |
| 1182 | $(OBJDIR)/builtin_data.h: $(MKBUILTIN) $(EXTRA_FILES) |
| 1183 | $(MKBUILTIN) --prefix $(SRCDIR)/ $(EXTRA_FILES) >$@ |
| 1184 | |
| 1185 | $(OBJDIR)/headers: $(OBJDIR)/page_index.h $(OBJDIR)/builtin_data.h $(MAKEHEADERS) $(OBJDIR)/VERSION.h |
| 1186 | $(MAKEHEADERS) $(OBJDIR)/add_.c:$(OBJDIR)/add.h \ |
| 1187 | $(OBJDIR)/alerts_.c:$(OBJDIR)/alerts.h \ |
| 1188 | $(OBJDIR)/allrepo_.c:$(OBJDIR)/allrepo.h \ |
| 1189 | $(OBJDIR)/attach_.c:$(OBJDIR)/attach.h \ |
| 1190 | $(OBJDIR)/backlink_.c:$(OBJDIR)/backlink.h \ |
| 1191 | $(OBJDIR)/backoffice_.c:$(OBJDIR)/backoffice.h \ |
| @@ -1339,10 +1343,18 @@ | |
| 1339 | |
| 1340 | $(OBJDIR)/add.o: $(OBJDIR)/add_.c $(OBJDIR)/add.h $(SRCDIR)/config.h |
| 1341 | $(XTCC) -o $(OBJDIR)/add.o -c $(OBJDIR)/add_.c |
| 1342 | |
| 1343 | $(OBJDIR)/add.h: $(OBJDIR)/headers |
| 1344 | |
| 1345 | $(OBJDIR)/alerts_.c: $(SRCDIR)/alerts.c $(TRANSLATE) |
| 1346 | $(TRANSLATE) $(SRCDIR)/alerts.c >$@ |
| 1347 | |
| 1348 | $(OBJDIR)/alerts.o: $(OBJDIR)/alerts_.c $(OBJDIR)/alerts.h $(SRCDIR)/config.h |
| @@ -2478,11 +2490,10 @@ | |
| 2478 | -DSQLITE_DEFAULT_MEMSTATUS=0 \ |
| 2479 | -DSQLITE_DEFAULT_WAL_SYNCHRONOUS=1 \ |
| 2480 | -DSQLITE_LIKE_DOESNT_MATCH_BLOBS \ |
| 2481 | -DSQLITE_OMIT_DECLTYPE \ |
| 2482 | -DSQLITE_OMIT_DEPRECATED \ |
| 2483 | -DSQLITE_OMIT_GET_TABLE \ |
| 2484 | -DSQLITE_OMIT_PROGRESS_CALLBACK \ |
| 2485 | -DSQLITE_OMIT_SHARED_CACHE \ |
| 2486 | -DSQLITE_OMIT_LOAD_EXTENSION \ |
| 2487 | -DSQLITE_MAX_EXPR_DEPTH=0 \ |
| 2488 | -DSQLITE_USE_ALLOCA \ |
| @@ -2509,11 +2520,10 @@ | |
| 2509 | -DSQLITE_DEFAULT_MEMSTATUS=0 \ |
| 2510 | -DSQLITE_DEFAULT_WAL_SYNCHRONOUS=1 \ |
| 2511 | -DSQLITE_LIKE_DOESNT_MATCH_BLOBS \ |
| 2512 | -DSQLITE_OMIT_DECLTYPE \ |
| 2513 | -DSQLITE_OMIT_DEPRECATED \ |
| 2514 | -DSQLITE_OMIT_GET_TABLE \ |
| 2515 | -DSQLITE_OMIT_PROGRESS_CALLBACK \ |
| 2516 | -DSQLITE_OMIT_SHARED_CACHE \ |
| 2517 | -DSQLITE_OMIT_LOAD_EXTENSION \ |
| 2518 | -DSQLITE_MAX_EXPR_DEPTH=0 \ |
| 2519 | -DSQLITE_USE_ALLOCA \ |
| 2520 |
| --- win/Makefile.mingw | |
| +++ win/Makefile.mingw | |
| @@ -437,10 +437,11 @@ | |
| 437 | XBCC = $(BCC) $(CFLAGS) |
| 438 | XTCC = $(TCC) $(CFLAGS) -I. -I$(SRCDIR) |
| 439 | |
| 440 | SRC = \ |
| 441 | $(SRCDIR)/add.c \ |
| 442 | $(SRCDIR)/ajax.c \ |
| 443 | $(SRCDIR)/alerts.c \ |
| 444 | $(SRCDIR)/allrepo.c \ |
| 445 | $(SRCDIR)/attach.c \ |
| 446 | $(SRCDIR)/backlink.c \ |
| 447 | $(SRCDIR)/backoffice.c \ |
| @@ -682,10 +683,11 @@ | |
| 683 | $(SRCDIR)/useredit.js \ |
| 684 | $(SRCDIR)/wiki.wiki |
| 685 | |
| 686 | TRANS_SRC = \ |
| 687 | $(OBJDIR)/add_.c \ |
| 688 | $(OBJDIR)/ajax_.c \ |
| 689 | $(OBJDIR)/alerts_.c \ |
| 690 | $(OBJDIR)/allrepo_.c \ |
| 691 | $(OBJDIR)/attach_.c \ |
| 692 | $(OBJDIR)/backlink_.c \ |
| 693 | $(OBJDIR)/backoffice_.c \ |
| @@ -826,10 +828,11 @@ | |
| 828 | $(OBJDIR)/xfersetup_.c \ |
| 829 | $(OBJDIR)/zip_.c |
| 830 | |
| 831 | OBJ = \ |
| 832 | $(OBJDIR)/add.o \ |
| 833 | $(OBJDIR)/ajax.o \ |
| 834 | $(OBJDIR)/alerts.o \ |
| 835 | $(OBJDIR)/allrepo.o \ |
| 836 | $(OBJDIR)/attach.o \ |
| 837 | $(OBJDIR)/backlink.o \ |
| 838 | $(OBJDIR)/backoffice.o \ |
| @@ -1182,10 +1185,11 @@ | |
| 1185 | $(OBJDIR)/builtin_data.h: $(MKBUILTIN) $(EXTRA_FILES) |
| 1186 | $(MKBUILTIN) --prefix $(SRCDIR)/ $(EXTRA_FILES) >$@ |
| 1187 | |
| 1188 | $(OBJDIR)/headers: $(OBJDIR)/page_index.h $(OBJDIR)/builtin_data.h $(MAKEHEADERS) $(OBJDIR)/VERSION.h |
| 1189 | $(MAKEHEADERS) $(OBJDIR)/add_.c:$(OBJDIR)/add.h \ |
| 1190 | $(OBJDIR)/ajax_.c:$(OBJDIR)/ajax.h \ |
| 1191 | $(OBJDIR)/alerts_.c:$(OBJDIR)/alerts.h \ |
| 1192 | $(OBJDIR)/allrepo_.c:$(OBJDIR)/allrepo.h \ |
| 1193 | $(OBJDIR)/attach_.c:$(OBJDIR)/attach.h \ |
| 1194 | $(OBJDIR)/backlink_.c:$(OBJDIR)/backlink.h \ |
| 1195 | $(OBJDIR)/backoffice_.c:$(OBJDIR)/backoffice.h \ |
| @@ -1339,10 +1343,18 @@ | |
| 1343 | |
| 1344 | $(OBJDIR)/add.o: $(OBJDIR)/add_.c $(OBJDIR)/add.h $(SRCDIR)/config.h |
| 1345 | $(XTCC) -o $(OBJDIR)/add.o -c $(OBJDIR)/add_.c |
| 1346 | |
| 1347 | $(OBJDIR)/add.h: $(OBJDIR)/headers |
| 1348 | |
| 1349 | $(OBJDIR)/ajax_.c: $(SRCDIR)/ajax.c $(TRANSLATE) |
| 1350 | $(TRANSLATE) $(SRCDIR)/ajax.c >$@ |
| 1351 | |
| 1352 | $(OBJDIR)/ajax.o: $(OBJDIR)/ajax_.c $(OBJDIR)/ajax.h $(SRCDIR)/config.h |
| 1353 | $(XTCC) -o $(OBJDIR)/ajax.o -c $(OBJDIR)/ajax_.c |
| 1354 | |
| 1355 | $(OBJDIR)/ajax.h: $(OBJDIR)/headers |
| 1356 | |
| 1357 | $(OBJDIR)/alerts_.c: $(SRCDIR)/alerts.c $(TRANSLATE) |
| 1358 | $(TRANSLATE) $(SRCDIR)/alerts.c >$@ |
| 1359 | |
| 1360 | $(OBJDIR)/alerts.o: $(OBJDIR)/alerts_.c $(OBJDIR)/alerts.h $(SRCDIR)/config.h |
| @@ -2478,11 +2490,10 @@ | |
| 2490 | -DSQLITE_DEFAULT_MEMSTATUS=0 \ |
| 2491 | -DSQLITE_DEFAULT_WAL_SYNCHRONOUS=1 \ |
| 2492 | -DSQLITE_LIKE_DOESNT_MATCH_BLOBS \ |
| 2493 | -DSQLITE_OMIT_DECLTYPE \ |
| 2494 | -DSQLITE_OMIT_DEPRECATED \ |
| 2495 | -DSQLITE_OMIT_PROGRESS_CALLBACK \ |
| 2496 | -DSQLITE_OMIT_SHARED_CACHE \ |
| 2497 | -DSQLITE_OMIT_LOAD_EXTENSION \ |
| 2498 | -DSQLITE_MAX_EXPR_DEPTH=0 \ |
| 2499 | -DSQLITE_USE_ALLOCA \ |
| @@ -2509,11 +2520,10 @@ | |
| 2520 | -DSQLITE_DEFAULT_MEMSTATUS=0 \ |
| 2521 | -DSQLITE_DEFAULT_WAL_SYNCHRONOUS=1 \ |
| 2522 | -DSQLITE_LIKE_DOESNT_MATCH_BLOBS \ |
| 2523 | -DSQLITE_OMIT_DECLTYPE \ |
| 2524 | -DSQLITE_OMIT_DEPRECATED \ |
| 2525 | -DSQLITE_OMIT_PROGRESS_CALLBACK \ |
| 2526 | -DSQLITE_OMIT_SHARED_CACHE \ |
| 2527 | -DSQLITE_OMIT_LOAD_EXTENSION \ |
| 2528 | -DSQLITE_MAX_EXPR_DEPTH=0 \ |
| 2529 | -DSQLITE_USE_ALLOCA \ |
| 2530 |
+21
-2
| --- win/Makefile.mingw.mistachkin | ||
| +++ win/Makefile.mingw.mistachkin | ||
| @@ -476,10 +476,11 @@ | ||
| 476 | 476 | $(SRCDIR)/etag.c \ |
| 477 | 477 | $(SRCDIR)/event.c \ |
| 478 | 478 | $(SRCDIR)/export.c \ |
| 479 | 479 | $(SRCDIR)/extcgi.c \ |
| 480 | 480 | $(SRCDIR)/file.c \ |
| 481 | + $(SRCDIR)/fileedit.c \ | |
| 481 | 482 | $(SRCDIR)/finfo.c \ |
| 482 | 483 | $(SRCDIR)/foci.c \ |
| 483 | 484 | $(SRCDIR)/forum.c \ |
| 484 | 485 | $(SRCDIR)/fshell.c \ |
| 485 | 486 | $(SRCDIR)/fusefs.c \ |
| @@ -640,10 +641,17 @@ | ||
| 640 | 641 | $(SRCDIR)/accordion.js \ |
| 641 | 642 | $(SRCDIR)/ci_edit.js \ |
| 642 | 643 | $(SRCDIR)/copybtn.js \ |
| 643 | 644 | $(SRCDIR)/diff.tcl \ |
| 644 | 645 | $(SRCDIR)/forum.js \ |
| 646 | + $(SRCDIR)/fossil.bootstrap.js \ | |
| 647 | + $(SRCDIR)/fossil.confirmer.js \ | |
| 648 | + $(SRCDIR)/fossil.dom.js \ | |
| 649 | + $(SRCDIR)/fossil.fetch.js \ | |
| 650 | + $(SRCDIR)/fossil.page.fileedit.js \ | |
| 651 | + $(SRCDIR)/fossil.storage.js \ | |
| 652 | + $(SRCDIR)/fossil.tabs.js \ | |
| 645 | 653 | $(SRCDIR)/graph.js \ |
| 646 | 654 | $(SRCDIR)/href.js \ |
| 647 | 655 | $(SRCDIR)/login.js \ |
| 648 | 656 | $(SRCDIR)/markdown.md \ |
| 649 | 657 | $(SRCDIR)/menu.js \ |
| @@ -665,10 +673,12 @@ | ||
| 665 | 673 | $(SRCDIR)/sounds/b.wav \ |
| 666 | 674 | $(SRCDIR)/sounds/c.wav \ |
| 667 | 675 | $(SRCDIR)/sounds/d.wav \ |
| 668 | 676 | $(SRCDIR)/sounds/e.wav \ |
| 669 | 677 | $(SRCDIR)/sounds/f.wav \ |
| 678 | + $(SRCDIR)/style.admin_log.css \ | |
| 679 | + $(SRCDIR)/style.fileedit.css \ | |
| 670 | 680 | $(SRCDIR)/tree.js \ |
| 671 | 681 | $(SRCDIR)/useredit.js \ |
| 672 | 682 | $(SRCDIR)/wiki.wiki |
| 673 | 683 | |
| 674 | 684 | TRANS_SRC = \ |
| @@ -710,10 +720,11 @@ | ||
| 710 | 720 | $(OBJDIR)/etag_.c \ |
| 711 | 721 | $(OBJDIR)/event_.c \ |
| 712 | 722 | $(OBJDIR)/export_.c \ |
| 713 | 723 | $(OBJDIR)/extcgi_.c \ |
| 714 | 724 | $(OBJDIR)/file_.c \ |
| 725 | + $(OBJDIR)/fileedit_.c \ | |
| 715 | 726 | $(OBJDIR)/finfo_.c \ |
| 716 | 727 | $(OBJDIR)/foci_.c \ |
| 717 | 728 | $(OBJDIR)/forum_.c \ |
| 718 | 729 | $(OBJDIR)/fshell_.c \ |
| 719 | 730 | $(OBJDIR)/fusefs_.c \ |
| @@ -853,10 +864,11 @@ | ||
| 853 | 864 | $(OBJDIR)/etag.o \ |
| 854 | 865 | $(OBJDIR)/event.o \ |
| 855 | 866 | $(OBJDIR)/export.o \ |
| 856 | 867 | $(OBJDIR)/extcgi.o \ |
| 857 | 868 | $(OBJDIR)/file.o \ |
| 869 | + $(OBJDIR)/fileedit.o \ | |
| 858 | 870 | $(OBJDIR)/finfo.o \ |
| 859 | 871 | $(OBJDIR)/foci.o \ |
| 860 | 872 | $(OBJDIR)/forum.o \ |
| 861 | 873 | $(OBJDIR)/fshell.o \ |
| 862 | 874 | $(OBJDIR)/fusefs.o \ |
| @@ -1216,10 +1228,11 @@ | ||
| 1216 | 1228 | $(OBJDIR)/etag_.c:$(OBJDIR)/etag.h \ |
| 1217 | 1229 | $(OBJDIR)/event_.c:$(OBJDIR)/event.h \ |
| 1218 | 1230 | $(OBJDIR)/export_.c:$(OBJDIR)/export.h \ |
| 1219 | 1231 | $(OBJDIR)/extcgi_.c:$(OBJDIR)/extcgi.h \ |
| 1220 | 1232 | $(OBJDIR)/file_.c:$(OBJDIR)/file.h \ |
| 1233 | + $(OBJDIR)/fileedit_.c:$(OBJDIR)/fileedit.h \ | |
| 1221 | 1234 | $(OBJDIR)/finfo_.c:$(OBJDIR)/finfo.h \ |
| 1222 | 1235 | $(OBJDIR)/foci_.c:$(OBJDIR)/foci.h \ |
| 1223 | 1236 | $(OBJDIR)/forum_.c:$(OBJDIR)/forum.h \ |
| 1224 | 1237 | $(OBJDIR)/fshell_.c:$(OBJDIR)/fshell.h \ |
| 1225 | 1238 | $(OBJDIR)/fusefs_.c:$(OBJDIR)/fusefs.h \ |
| @@ -1645,10 +1658,18 @@ | ||
| 1645 | 1658 | |
| 1646 | 1659 | $(OBJDIR)/file.o: $(OBJDIR)/file_.c $(OBJDIR)/file.h $(SRCDIR)/config.h |
| 1647 | 1660 | $(XTCC) -o $(OBJDIR)/file.o -c $(OBJDIR)/file_.c |
| 1648 | 1661 | |
| 1649 | 1662 | $(OBJDIR)/file.h: $(OBJDIR)/headers |
| 1663 | + | |
| 1664 | +$(OBJDIR)/fileedit_.c: $(SRCDIR)/fileedit.c $(TRANSLATE) | |
| 1665 | + $(TRANSLATE) $(SRCDIR)/fileedit.c >$@ | |
| 1666 | + | |
| 1667 | +$(OBJDIR)/fileedit.o: $(OBJDIR)/fileedit_.c $(OBJDIR)/fileedit.h $(SRCDIR)/config.h | |
| 1668 | + $(XTCC) -o $(OBJDIR)/fileedit.o -c $(OBJDIR)/fileedit_.c | |
| 1669 | + | |
| 1670 | +$(OBJDIR)/fileedit.h: $(OBJDIR)/headers | |
| 1650 | 1671 | |
| 1651 | 1672 | $(OBJDIR)/finfo_.c: $(SRCDIR)/finfo.c $(TRANSLATE) |
| 1652 | 1673 | $(TRANSLATE) $(SRCDIR)/finfo.c >$@ |
| 1653 | 1674 | |
| 1654 | 1675 | $(OBJDIR)/finfo.o: $(OBJDIR)/finfo_.c $(OBJDIR)/finfo.h $(SRCDIR)/config.h |
| @@ -2464,11 +2485,10 @@ | ||
| 2464 | 2485 | -DSQLITE_DEFAULT_MEMSTATUS=0 \ |
| 2465 | 2486 | -DSQLITE_DEFAULT_WAL_SYNCHRONOUS=1 \ |
| 2466 | 2487 | -DSQLITE_LIKE_DOESNT_MATCH_BLOBS \ |
| 2467 | 2488 | -DSQLITE_OMIT_DECLTYPE \ |
| 2468 | 2489 | -DSQLITE_OMIT_DEPRECATED \ |
| 2469 | - -DSQLITE_OMIT_GET_TABLE \ | |
| 2470 | 2490 | -DSQLITE_OMIT_PROGRESS_CALLBACK \ |
| 2471 | 2491 | -DSQLITE_OMIT_SHARED_CACHE \ |
| 2472 | 2492 | -DSQLITE_OMIT_LOAD_EXTENSION \ |
| 2473 | 2493 | -DSQLITE_MAX_EXPR_DEPTH=0 \ |
| 2474 | 2494 | -DSQLITE_USE_ALLOCA \ |
| @@ -2495,11 +2515,10 @@ | ||
| 2495 | 2515 | -DSQLITE_DEFAULT_MEMSTATUS=0 \ |
| 2496 | 2516 | -DSQLITE_DEFAULT_WAL_SYNCHRONOUS=1 \ |
| 2497 | 2517 | -DSQLITE_LIKE_DOESNT_MATCH_BLOBS \ |
| 2498 | 2518 | -DSQLITE_OMIT_DECLTYPE \ |
| 2499 | 2519 | -DSQLITE_OMIT_DEPRECATED \ |
| 2500 | - -DSQLITE_OMIT_GET_TABLE \ | |
| 2501 | 2520 | -DSQLITE_OMIT_PROGRESS_CALLBACK \ |
| 2502 | 2521 | -DSQLITE_OMIT_SHARED_CACHE \ |
| 2503 | 2522 | -DSQLITE_OMIT_LOAD_EXTENSION \ |
| 2504 | 2523 | -DSQLITE_MAX_EXPR_DEPTH=0 \ |
| 2505 | 2524 | -DSQLITE_USE_ALLOCA \ |
| 2506 | 2525 |
| --- win/Makefile.mingw.mistachkin | |
| +++ win/Makefile.mingw.mistachkin | |
| @@ -476,10 +476,11 @@ | |
| 476 | $(SRCDIR)/etag.c \ |
| 477 | $(SRCDIR)/event.c \ |
| 478 | $(SRCDIR)/export.c \ |
| 479 | $(SRCDIR)/extcgi.c \ |
| 480 | $(SRCDIR)/file.c \ |
| 481 | $(SRCDIR)/finfo.c \ |
| 482 | $(SRCDIR)/foci.c \ |
| 483 | $(SRCDIR)/forum.c \ |
| 484 | $(SRCDIR)/fshell.c \ |
| 485 | $(SRCDIR)/fusefs.c \ |
| @@ -640,10 +641,17 @@ | |
| 640 | $(SRCDIR)/accordion.js \ |
| 641 | $(SRCDIR)/ci_edit.js \ |
| 642 | $(SRCDIR)/copybtn.js \ |
| 643 | $(SRCDIR)/diff.tcl \ |
| 644 | $(SRCDIR)/forum.js \ |
| 645 | $(SRCDIR)/graph.js \ |
| 646 | $(SRCDIR)/href.js \ |
| 647 | $(SRCDIR)/login.js \ |
| 648 | $(SRCDIR)/markdown.md \ |
| 649 | $(SRCDIR)/menu.js \ |
| @@ -665,10 +673,12 @@ | |
| 665 | $(SRCDIR)/sounds/b.wav \ |
| 666 | $(SRCDIR)/sounds/c.wav \ |
| 667 | $(SRCDIR)/sounds/d.wav \ |
| 668 | $(SRCDIR)/sounds/e.wav \ |
| 669 | $(SRCDIR)/sounds/f.wav \ |
| 670 | $(SRCDIR)/tree.js \ |
| 671 | $(SRCDIR)/useredit.js \ |
| 672 | $(SRCDIR)/wiki.wiki |
| 673 | |
| 674 | TRANS_SRC = \ |
| @@ -710,10 +720,11 @@ | |
| 710 | $(OBJDIR)/etag_.c \ |
| 711 | $(OBJDIR)/event_.c \ |
| 712 | $(OBJDIR)/export_.c \ |
| 713 | $(OBJDIR)/extcgi_.c \ |
| 714 | $(OBJDIR)/file_.c \ |
| 715 | $(OBJDIR)/finfo_.c \ |
| 716 | $(OBJDIR)/foci_.c \ |
| 717 | $(OBJDIR)/forum_.c \ |
| 718 | $(OBJDIR)/fshell_.c \ |
| 719 | $(OBJDIR)/fusefs_.c \ |
| @@ -853,10 +864,11 @@ | |
| 853 | $(OBJDIR)/etag.o \ |
| 854 | $(OBJDIR)/event.o \ |
| 855 | $(OBJDIR)/export.o \ |
| 856 | $(OBJDIR)/extcgi.o \ |
| 857 | $(OBJDIR)/file.o \ |
| 858 | $(OBJDIR)/finfo.o \ |
| 859 | $(OBJDIR)/foci.o \ |
| 860 | $(OBJDIR)/forum.o \ |
| 861 | $(OBJDIR)/fshell.o \ |
| 862 | $(OBJDIR)/fusefs.o \ |
| @@ -1216,10 +1228,11 @@ | |
| 1216 | $(OBJDIR)/etag_.c:$(OBJDIR)/etag.h \ |
| 1217 | $(OBJDIR)/event_.c:$(OBJDIR)/event.h \ |
| 1218 | $(OBJDIR)/export_.c:$(OBJDIR)/export.h \ |
| 1219 | $(OBJDIR)/extcgi_.c:$(OBJDIR)/extcgi.h \ |
| 1220 | $(OBJDIR)/file_.c:$(OBJDIR)/file.h \ |
| 1221 | $(OBJDIR)/finfo_.c:$(OBJDIR)/finfo.h \ |
| 1222 | $(OBJDIR)/foci_.c:$(OBJDIR)/foci.h \ |
| 1223 | $(OBJDIR)/forum_.c:$(OBJDIR)/forum.h \ |
| 1224 | $(OBJDIR)/fshell_.c:$(OBJDIR)/fshell.h \ |
| 1225 | $(OBJDIR)/fusefs_.c:$(OBJDIR)/fusefs.h \ |
| @@ -1645,10 +1658,18 @@ | |
| 1645 | |
| 1646 | $(OBJDIR)/file.o: $(OBJDIR)/file_.c $(OBJDIR)/file.h $(SRCDIR)/config.h |
| 1647 | $(XTCC) -o $(OBJDIR)/file.o -c $(OBJDIR)/file_.c |
| 1648 | |
| 1649 | $(OBJDIR)/file.h: $(OBJDIR)/headers |
| 1650 | |
| 1651 | $(OBJDIR)/finfo_.c: $(SRCDIR)/finfo.c $(TRANSLATE) |
| 1652 | $(TRANSLATE) $(SRCDIR)/finfo.c >$@ |
| 1653 | |
| 1654 | $(OBJDIR)/finfo.o: $(OBJDIR)/finfo_.c $(OBJDIR)/finfo.h $(SRCDIR)/config.h |
| @@ -2464,11 +2485,10 @@ | |
| 2464 | -DSQLITE_DEFAULT_MEMSTATUS=0 \ |
| 2465 | -DSQLITE_DEFAULT_WAL_SYNCHRONOUS=1 \ |
| 2466 | -DSQLITE_LIKE_DOESNT_MATCH_BLOBS \ |
| 2467 | -DSQLITE_OMIT_DECLTYPE \ |
| 2468 | -DSQLITE_OMIT_DEPRECATED \ |
| 2469 | -DSQLITE_OMIT_GET_TABLE \ |
| 2470 | -DSQLITE_OMIT_PROGRESS_CALLBACK \ |
| 2471 | -DSQLITE_OMIT_SHARED_CACHE \ |
| 2472 | -DSQLITE_OMIT_LOAD_EXTENSION \ |
| 2473 | -DSQLITE_MAX_EXPR_DEPTH=0 \ |
| 2474 | -DSQLITE_USE_ALLOCA \ |
| @@ -2495,11 +2515,10 @@ | |
| 2495 | -DSQLITE_DEFAULT_MEMSTATUS=0 \ |
| 2496 | -DSQLITE_DEFAULT_WAL_SYNCHRONOUS=1 \ |
| 2497 | -DSQLITE_LIKE_DOESNT_MATCH_BLOBS \ |
| 2498 | -DSQLITE_OMIT_DECLTYPE \ |
| 2499 | -DSQLITE_OMIT_DEPRECATED \ |
| 2500 | -DSQLITE_OMIT_GET_TABLE \ |
| 2501 | -DSQLITE_OMIT_PROGRESS_CALLBACK \ |
| 2502 | -DSQLITE_OMIT_SHARED_CACHE \ |
| 2503 | -DSQLITE_OMIT_LOAD_EXTENSION \ |
| 2504 | -DSQLITE_MAX_EXPR_DEPTH=0 \ |
| 2505 | -DSQLITE_USE_ALLOCA \ |
| 2506 |
| --- win/Makefile.mingw.mistachkin | |
| +++ win/Makefile.mingw.mistachkin | |
| @@ -476,10 +476,11 @@ | |
| 476 | $(SRCDIR)/etag.c \ |
| 477 | $(SRCDIR)/event.c \ |
| 478 | $(SRCDIR)/export.c \ |
| 479 | $(SRCDIR)/extcgi.c \ |
| 480 | $(SRCDIR)/file.c \ |
| 481 | $(SRCDIR)/fileedit.c \ |
| 482 | $(SRCDIR)/finfo.c \ |
| 483 | $(SRCDIR)/foci.c \ |
| 484 | $(SRCDIR)/forum.c \ |
| 485 | $(SRCDIR)/fshell.c \ |
| 486 | $(SRCDIR)/fusefs.c \ |
| @@ -640,10 +641,17 @@ | |
| 641 | $(SRCDIR)/accordion.js \ |
| 642 | $(SRCDIR)/ci_edit.js \ |
| 643 | $(SRCDIR)/copybtn.js \ |
| 644 | $(SRCDIR)/diff.tcl \ |
| 645 | $(SRCDIR)/forum.js \ |
| 646 | $(SRCDIR)/fossil.bootstrap.js \ |
| 647 | $(SRCDIR)/fossil.confirmer.js \ |
| 648 | $(SRCDIR)/fossil.dom.js \ |
| 649 | $(SRCDIR)/fossil.fetch.js \ |
| 650 | $(SRCDIR)/fossil.page.fileedit.js \ |
| 651 | $(SRCDIR)/fossil.storage.js \ |
| 652 | $(SRCDIR)/fossil.tabs.js \ |
| 653 | $(SRCDIR)/graph.js \ |
| 654 | $(SRCDIR)/href.js \ |
| 655 | $(SRCDIR)/login.js \ |
| 656 | $(SRCDIR)/markdown.md \ |
| 657 | $(SRCDIR)/menu.js \ |
| @@ -665,10 +673,12 @@ | |
| 673 | $(SRCDIR)/sounds/b.wav \ |
| 674 | $(SRCDIR)/sounds/c.wav \ |
| 675 | $(SRCDIR)/sounds/d.wav \ |
| 676 | $(SRCDIR)/sounds/e.wav \ |
| 677 | $(SRCDIR)/sounds/f.wav \ |
| 678 | $(SRCDIR)/style.admin_log.css \ |
| 679 | $(SRCDIR)/style.fileedit.css \ |
| 680 | $(SRCDIR)/tree.js \ |
| 681 | $(SRCDIR)/useredit.js \ |
| 682 | $(SRCDIR)/wiki.wiki |
| 683 | |
| 684 | TRANS_SRC = \ |
| @@ -710,10 +720,11 @@ | |
| 720 | $(OBJDIR)/etag_.c \ |
| 721 | $(OBJDIR)/event_.c \ |
| 722 | $(OBJDIR)/export_.c \ |
| 723 | $(OBJDIR)/extcgi_.c \ |
| 724 | $(OBJDIR)/file_.c \ |
| 725 | $(OBJDIR)/fileedit_.c \ |
| 726 | $(OBJDIR)/finfo_.c \ |
| 727 | $(OBJDIR)/foci_.c \ |
| 728 | $(OBJDIR)/forum_.c \ |
| 729 | $(OBJDIR)/fshell_.c \ |
| 730 | $(OBJDIR)/fusefs_.c \ |
| @@ -853,10 +864,11 @@ | |
| 864 | $(OBJDIR)/etag.o \ |
| 865 | $(OBJDIR)/event.o \ |
| 866 | $(OBJDIR)/export.o \ |
| 867 | $(OBJDIR)/extcgi.o \ |
| 868 | $(OBJDIR)/file.o \ |
| 869 | $(OBJDIR)/fileedit.o \ |
| 870 | $(OBJDIR)/finfo.o \ |
| 871 | $(OBJDIR)/foci.o \ |
| 872 | $(OBJDIR)/forum.o \ |
| 873 | $(OBJDIR)/fshell.o \ |
| 874 | $(OBJDIR)/fusefs.o \ |
| @@ -1216,10 +1228,11 @@ | |
| 1228 | $(OBJDIR)/etag_.c:$(OBJDIR)/etag.h \ |
| 1229 | $(OBJDIR)/event_.c:$(OBJDIR)/event.h \ |
| 1230 | $(OBJDIR)/export_.c:$(OBJDIR)/export.h \ |
| 1231 | $(OBJDIR)/extcgi_.c:$(OBJDIR)/extcgi.h \ |
| 1232 | $(OBJDIR)/file_.c:$(OBJDIR)/file.h \ |
| 1233 | $(OBJDIR)/fileedit_.c:$(OBJDIR)/fileedit.h \ |
| 1234 | $(OBJDIR)/finfo_.c:$(OBJDIR)/finfo.h \ |
| 1235 | $(OBJDIR)/foci_.c:$(OBJDIR)/foci.h \ |
| 1236 | $(OBJDIR)/forum_.c:$(OBJDIR)/forum.h \ |
| 1237 | $(OBJDIR)/fshell_.c:$(OBJDIR)/fshell.h \ |
| 1238 | $(OBJDIR)/fusefs_.c:$(OBJDIR)/fusefs.h \ |
| @@ -1645,10 +1658,18 @@ | |
| 1658 | |
| 1659 | $(OBJDIR)/file.o: $(OBJDIR)/file_.c $(OBJDIR)/file.h $(SRCDIR)/config.h |
| 1660 | $(XTCC) -o $(OBJDIR)/file.o -c $(OBJDIR)/file_.c |
| 1661 | |
| 1662 | $(OBJDIR)/file.h: $(OBJDIR)/headers |
| 1663 | |
| 1664 | $(OBJDIR)/fileedit_.c: $(SRCDIR)/fileedit.c $(TRANSLATE) |
| 1665 | $(TRANSLATE) $(SRCDIR)/fileedit.c >$@ |
| 1666 | |
| 1667 | $(OBJDIR)/fileedit.o: $(OBJDIR)/fileedit_.c $(OBJDIR)/fileedit.h $(SRCDIR)/config.h |
| 1668 | $(XTCC) -o $(OBJDIR)/fileedit.o -c $(OBJDIR)/fileedit_.c |
| 1669 | |
| 1670 | $(OBJDIR)/fileedit.h: $(OBJDIR)/headers |
| 1671 | |
| 1672 | $(OBJDIR)/finfo_.c: $(SRCDIR)/finfo.c $(TRANSLATE) |
| 1673 | $(TRANSLATE) $(SRCDIR)/finfo.c >$@ |
| 1674 | |
| 1675 | $(OBJDIR)/finfo.o: $(OBJDIR)/finfo_.c $(OBJDIR)/finfo.h $(SRCDIR)/config.h |
| @@ -2464,11 +2485,10 @@ | |
| 2485 | -DSQLITE_DEFAULT_MEMSTATUS=0 \ |
| 2486 | -DSQLITE_DEFAULT_WAL_SYNCHRONOUS=1 \ |
| 2487 | -DSQLITE_LIKE_DOESNT_MATCH_BLOBS \ |
| 2488 | -DSQLITE_OMIT_DECLTYPE \ |
| 2489 | -DSQLITE_OMIT_DEPRECATED \ |
| 2490 | -DSQLITE_OMIT_PROGRESS_CALLBACK \ |
| 2491 | -DSQLITE_OMIT_SHARED_CACHE \ |
| 2492 | -DSQLITE_OMIT_LOAD_EXTENSION \ |
| 2493 | -DSQLITE_MAX_EXPR_DEPTH=0 \ |
| 2494 | -DSQLITE_USE_ALLOCA \ |
| @@ -2495,11 +2515,10 @@ | |
| 2515 | -DSQLITE_DEFAULT_MEMSTATUS=0 \ |
| 2516 | -DSQLITE_DEFAULT_WAL_SYNCHRONOUS=1 \ |
| 2517 | -DSQLITE_LIKE_DOESNT_MATCH_BLOBS \ |
| 2518 | -DSQLITE_OMIT_DECLTYPE \ |
| 2519 | -DSQLITE_OMIT_DEPRECATED \ |
| 2520 | -DSQLITE_OMIT_PROGRESS_CALLBACK \ |
| 2521 | -DSQLITE_OMIT_SHARED_CACHE \ |
| 2522 | -DSQLITE_OMIT_LOAD_EXTENSION \ |
| 2523 | -DSQLITE_MAX_EXPR_DEPTH=0 \ |
| 2524 | -DSQLITE_USE_ALLOCA \ |
| 2525 |
+1820
-1674
| --- win/Makefile.msc | ||
| +++ win/Makefile.msc | ||
| @@ -1,39 +1,52 @@ | ||
| 1 | 1 | # |
| 2 | 2 | ############################################################################## |
| 3 | 3 | # WARNING: DO NOT EDIT, AUTOMATICALLY GENERATED FILE (SEE "src/makemake.tcl") |
| 4 | 4 | ############################################################################## |
| 5 | 5 | # |
| 6 | -# This Makefile will only function correctly if used from a sub-directory | |
| 7 | -# that is a direct child of the top-level directory for this project. | |
| 8 | -# | |
| 9 | -!if !exist("..\.fossil-settings") | |
| 10 | -!error "Please change the current directory to the one containing this file." | |
| 11 | -!endif | |
| 12 | - | |
| 13 | 6 | # |
| 14 | 7 | # This file is automatically generated. Instead of editing this |
| 15 | 8 | # file, edit "makemake.tcl" then run "tclsh makemake.tcl" |
| 16 | 9 | # to regenerate this file. |
| 17 | 10 | # |
| 18 | 11 | B = .. |
| 19 | -SRCDIR = $B\src | |
| 20 | -OBJDIR = . | |
| 21 | -OX = . | |
| 12 | +SRCDIR = $(B)\src | |
| 13 | +T = . | |
| 14 | +OBJDIR = $(T) | |
| 15 | +OX = $(OBJDIR) | |
| 22 | 16 | O = .obj |
| 23 | 17 | E = .exe |
| 24 | 18 | P = .pdb |
| 25 | 19 | |
| 26 | -# Perl is only necessary if OpenSSL support is enabled and it must | |
| 27 | -# be built from source code. The PERLDIR variable should point to | |
| 28 | -# the directory containing the main Perl binary (i.e. "perl.exe"). | |
| 29 | -PERLDIR = C:\Perl\bin | |
| 20 | +INSTALLDIR = . | |
| 21 | +!ifdef DESTDIR | |
| 22 | +INSTALLDIR = $(DESTDIR)\$(INSTALLDIR) | |
| 23 | +!endif | |
| 24 | + | |
| 25 | +# When building out of source, this Makefile needs to know the path to the base | |
| 26 | +# top-level directory for this project. Pass it on NMAKE command line via make | |
| 27 | +# variable B: | |
| 28 | +# NMAKE /f "path\to\this\Makefile" B="path/to/fossil/root" | |
| 29 | +# | |
| 30 | +# NOTE: Make sure B path has no trailing backslash, UNIX-style path is OK too. | |
| 31 | +# | |
| 32 | +!if !exist("$(B)\.fossil-settings") | |
| 33 | +!error Please specify path to project base directory: B="path/to/fossil" | |
| 34 | +!endif | |
| 35 | + | |
| 36 | +# Perl is only necessary if OpenSSL support is enabled and it is built from | |
| 37 | +# source code. The PERLDIR environment variable, if it exists, should point | |
| 38 | +# to the directory containing the main Perl executable specified here (i.e. | |
| 39 | +# "perl.exe"). | |
| 30 | 40 | PERL = perl.exe |
| 31 | 41 | |
| 32 | 42 | # Enable debugging symbols? |
| 33 | 43 | !ifndef DEBUG |
| 34 | 44 | DEBUG = 0 |
| 45 | +!endif | |
| 46 | +!ifdef FOSSIL_DEBUG | |
| 47 | +DEBUG = 1 | |
| 35 | 48 | !endif |
| 36 | 49 | |
| 37 | 50 | # Build the OpenSSL libraries? |
| 38 | 51 | !ifndef FOSSIL_BUILD_SSL |
| 39 | 52 | FOSSIL_BUILD_SSL = 0 |
| @@ -150,27 +163,30 @@ | ||
| 150 | 163 | ZLIB = zdll.lib |
| 151 | 164 | !else |
| 152 | 165 | ZLIB = zlib.lib |
| 153 | 166 | !endif |
| 154 | 167 | |
| 155 | -INCL = /I. /I$(SRCDIR) /I$B\win\include | |
| 168 | +INCL = /I. /I"$(OX)" /I"$(SRCDIR)" /I"$(B)\win\include" | |
| 156 | 169 | |
| 157 | 170 | !if $(FOSSIL_ENABLE_MINIZ)==0 |
| 158 | -INCL = $(INCL) /I$(ZINCDIR) | |
| 171 | +INCL = $(INCL) /I"$(ZINCDIR)" | |
| 159 | 172 | !endif |
| 160 | 173 | |
| 161 | 174 | !if $(FOSSIL_ENABLE_SSL)!=0 |
| 162 | -INCL = $(INCL) /I$(SSLINCDIR) | |
| 175 | +INCL = $(INCL) /I"$(SSLINCDIR)" | |
| 163 | 176 | !endif |
| 164 | 177 | |
| 165 | 178 | !if $(FOSSIL_ENABLE_TCL)!=0 |
| 166 | -INCL = $(INCL) /I$(TCLINCDIR) | |
| 179 | +INCL = $(INCL) /I"$(TCLINCDIR)" | |
| 167 | 180 | !endif |
| 168 | 181 | |
| 169 | 182 | CFLAGS = /nologo |
| 170 | 183 | LDFLAGS = |
| 171 | 184 | |
| 185 | +CFLAGS = $(CFLAGS) /D_CRT_SECURE_NO_DEPRECATE /D_CRT_SECURE_NO_WARNINGS | |
| 186 | +CFLAGS = $(CFLAGS) /D_CRT_NONSTDC_NO_DEPRECATE /D_CRT_NONSTDC_NO_WARNINGS | |
| 187 | + | |
| 172 | 188 | !if $(FOSSIL_DYNAMIC_BUILD)!=0 |
| 173 | 189 | LDFLAGS = $(LDFLAGS) /MANIFEST |
| 174 | 190 | !else |
| 175 | 191 | LDFLAGS = $(LDFLAGS) /NODEFAULTLIB:msvcrt /MANIFEST:NO |
| 176 | 192 | !endif |
| @@ -199,11 +215,11 @@ | ||
| 199 | 215 | CRTFLAGS = /MT |
| 200 | 216 | !endif |
| 201 | 217 | !endif |
| 202 | 218 | |
| 203 | 219 | !if $(DEBUG)!=0 |
| 204 | -CFLAGS = $(CFLAGS) /Zi $(CRTFLAGS) /Od | |
| 220 | +CFLAGS = $(CFLAGS) /Zi $(CRTFLAGS) /Od /DFOSSIL_DEBUG | |
| 205 | 221 | LDFLAGS = $(LDFLAGS) /DEBUG |
| 206 | 222 | !else |
| 207 | 223 | CFLAGS = $(CFLAGS) $(CRTFLAGS) /O2 |
| 208 | 224 | !endif |
| 209 | 225 | |
| @@ -219,11 +235,11 @@ | ||
| 219 | 235 | RCC = $(RCC) /DFOSSIL_DYNAMIC_BUILD=1 |
| 220 | 236 | !endif |
| 221 | 237 | |
| 222 | 238 | !if $(FOSSIL_ENABLE_MINIZ)==0 |
| 223 | 239 | LIBS = $(LIBS) $(ZLIB) |
| 224 | -LIBDIR = $(LIBDIR) /LIBPATH:$(ZLIBDIR) | |
| 240 | +LIBDIR = $(LIBDIR) /LIBPATH:"$(ZLIBDIR)" | |
| 225 | 241 | !endif |
| 226 | 242 | |
| 227 | 243 | !if $(FOSSIL_ENABLE_MINIZ)!=0 |
| 228 | 244 | TCC = $(TCC) /DFOSSIL_ENABLE_MINIZ=1 |
| 229 | 245 | RCC = $(RCC) /DFOSSIL_ENABLE_MINIZ=1 |
| @@ -236,11 +252,11 @@ | ||
| 236 | 252 | |
| 237 | 253 | !if $(FOSSIL_ENABLE_SSL)!=0 |
| 238 | 254 | TCC = $(TCC) /DFOSSIL_ENABLE_SSL=1 |
| 239 | 255 | RCC = $(RCC) /DFOSSIL_ENABLE_SSL=1 |
| 240 | 256 | LIBS = $(LIBS) $(SSLLIB) |
| 241 | -LIBDIR = $(LIBDIR) /LIBPATH:$(SSLLIBDIR) | |
| 257 | +LIBDIR = $(LIBDIR) /LIBPATH:"$(SSLLIBDIR)" | |
| 242 | 258 | !endif |
| 243 | 259 | |
| 244 | 260 | !if $(FOSSIL_ENABLE_EXEC_REL_PATHS)!=0 |
| 245 | 261 | TCC = $(TCC) /DFOSSIL_ENABLE_EXEC_REL_PATHS=1 |
| 246 | 262 | RCC = $(RCC) /DFOSSIL_ENABLE_EXEC_REL_PATHS=1 |
| @@ -283,11 +299,10 @@ | ||
| 283 | 299 | /DSQLITE_DEFAULT_MEMSTATUS=0 \ |
| 284 | 300 | /DSQLITE_DEFAULT_WAL_SYNCHRONOUS=1 \ |
| 285 | 301 | /DSQLITE_LIKE_DOESNT_MATCH_BLOBS \ |
| 286 | 302 | /DSQLITE_OMIT_DECLTYPE \ |
| 287 | 303 | /DSQLITE_OMIT_DEPRECATED \ |
| 288 | - /DSQLITE_OMIT_GET_TABLE \ | |
| 289 | 304 | /DSQLITE_OMIT_PROGRESS_CALLBACK \ |
| 290 | 305 | /DSQLITE_OMIT_SHARED_CACHE \ |
| 291 | 306 | /DSQLITE_OMIT_LOAD_EXTENSION \ |
| 292 | 307 | /DSQLITE_MAX_EXPR_DEPTH=0 \ |
| 293 | 308 | /DSQLITE_USE_ALLOCA \ |
| @@ -311,11 +326,10 @@ | ||
| 311 | 326 | /DSQLITE_DEFAULT_MEMSTATUS=0 \ |
| 312 | 327 | /DSQLITE_DEFAULT_WAL_SYNCHRONOUS=1 \ |
| 313 | 328 | /DSQLITE_LIKE_DOESNT_MATCH_BLOBS \ |
| 314 | 329 | /DSQLITE_OMIT_DECLTYPE \ |
| 315 | 330 | /DSQLITE_OMIT_DEPRECATED \ |
| 316 | - /DSQLITE_OMIT_GET_TABLE \ | |
| 317 | 331 | /DSQLITE_OMIT_PROGRESS_CALLBACK \ |
| 318 | 332 | /DSQLITE_OMIT_SHARED_CACHE \ |
| 319 | 333 | /DSQLITE_OMIT_LOAD_EXTENSION \ |
| 320 | 334 | /DSQLITE_MAX_EXPR_DEPTH=0 \ |
| 321 | 335 | /DSQLITE_USE_ALLOCA \ |
| @@ -344,405 +358,407 @@ | ||
| 344 | 358 | |
| 345 | 359 | MINIZ_OPTIONS = /DMINIZ_NO_STDIO \ |
| 346 | 360 | /DMINIZ_NO_TIME \ |
| 347 | 361 | /DMINIZ_NO_ARCHIVE_APIS |
| 348 | 362 | |
| 349 | -SRC = add_.c \ | |
| 350 | - alerts_.c \ | |
| 351 | - allrepo_.c \ | |
| 352 | - attach_.c \ | |
| 353 | - backlink_.c \ | |
| 354 | - backoffice_.c \ | |
| 355 | - bag_.c \ | |
| 356 | - bisect_.c \ | |
| 357 | - blob_.c \ | |
| 358 | - branch_.c \ | |
| 359 | - browse_.c \ | |
| 360 | - builtin_.c \ | |
| 361 | - bundle_.c \ | |
| 362 | - cache_.c \ | |
| 363 | - capabilities_.c \ | |
| 364 | - captcha_.c \ | |
| 365 | - cgi_.c \ | |
| 366 | - checkin_.c \ | |
| 367 | - checkout_.c \ | |
| 368 | - clearsign_.c \ | |
| 369 | - clone_.c \ | |
| 370 | - comformat_.c \ | |
| 371 | - configure_.c \ | |
| 372 | - content_.c \ | |
| 373 | - cookies_.c \ | |
| 374 | - db_.c \ | |
| 375 | - delta_.c \ | |
| 376 | - deltacmd_.c \ | |
| 377 | - deltafunc_.c \ | |
| 378 | - descendants_.c \ | |
| 379 | - diff_.c \ | |
| 380 | - diffcmd_.c \ | |
| 381 | - dispatch_.c \ | |
| 382 | - doc_.c \ | |
| 383 | - encode_.c \ | |
| 384 | - etag_.c \ | |
| 385 | - event_.c \ | |
| 386 | - export_.c \ | |
| 387 | - extcgi_.c \ | |
| 388 | - file_.c \ | |
| 389 | - fileedit_.c \ | |
| 390 | - finfo_.c \ | |
| 391 | - foci_.c \ | |
| 392 | - forum_.c \ | |
| 393 | - fshell_.c \ | |
| 394 | - fusefs_.c \ | |
| 395 | - fuzz_.c \ | |
| 396 | - glob_.c \ | |
| 397 | - graph_.c \ | |
| 398 | - gzip_.c \ | |
| 399 | - hname_.c \ | |
| 400 | - http_.c \ | |
| 401 | - http_socket_.c \ | |
| 402 | - http_ssl_.c \ | |
| 403 | - http_transport_.c \ | |
| 404 | - import_.c \ | |
| 405 | - info_.c \ | |
| 406 | - json_.c \ | |
| 407 | - json_artifact_.c \ | |
| 408 | - json_branch_.c \ | |
| 409 | - json_config_.c \ | |
| 410 | - json_diff_.c \ | |
| 411 | - json_dir_.c \ | |
| 412 | - json_finfo_.c \ | |
| 413 | - json_login_.c \ | |
| 414 | - json_query_.c \ | |
| 415 | - json_report_.c \ | |
| 416 | - json_status_.c \ | |
| 417 | - json_tag_.c \ | |
| 418 | - json_timeline_.c \ | |
| 419 | - json_user_.c \ | |
| 420 | - json_wiki_.c \ | |
| 421 | - leaf_.c \ | |
| 422 | - loadctrl_.c \ | |
| 423 | - login_.c \ | |
| 424 | - lookslike_.c \ | |
| 425 | - main_.c \ | |
| 426 | - manifest_.c \ | |
| 427 | - markdown_.c \ | |
| 428 | - markdown_html_.c \ | |
| 429 | - md5_.c \ | |
| 430 | - merge_.c \ | |
| 431 | - merge3_.c \ | |
| 432 | - moderate_.c \ | |
| 433 | - name_.c \ | |
| 434 | - path_.c \ | |
| 435 | - piechart_.c \ | |
| 436 | - pivot_.c \ | |
| 437 | - popen_.c \ | |
| 438 | - pqueue_.c \ | |
| 439 | - printf_.c \ | |
| 440 | - publish_.c \ | |
| 441 | - purge_.c \ | |
| 442 | - rebuild_.c \ | |
| 443 | - regexp_.c \ | |
| 444 | - repolist_.c \ | |
| 445 | - report_.c \ | |
| 446 | - rss_.c \ | |
| 447 | - schema_.c \ | |
| 448 | - search_.c \ | |
| 449 | - security_audit_.c \ | |
| 450 | - setup_.c \ | |
| 451 | - setupuser_.c \ | |
| 452 | - sha1_.c \ | |
| 453 | - sha1hard_.c \ | |
| 454 | - sha3_.c \ | |
| 455 | - shun_.c \ | |
| 456 | - sitemap_.c \ | |
| 457 | - skins_.c \ | |
| 458 | - smtp_.c \ | |
| 459 | - sqlcmd_.c \ | |
| 460 | - stash_.c \ | |
| 461 | - stat_.c \ | |
| 462 | - statrep_.c \ | |
| 463 | - style_.c \ | |
| 464 | - sync_.c \ | |
| 465 | - tag_.c \ | |
| 466 | - tar_.c \ | |
| 467 | - terminal_.c \ | |
| 468 | - th_main_.c \ | |
| 469 | - timeline_.c \ | |
| 470 | - tkt_.c \ | |
| 471 | - tktsetup_.c \ | |
| 472 | - undo_.c \ | |
| 473 | - unicode_.c \ | |
| 474 | - unversioned_.c \ | |
| 475 | - update_.c \ | |
| 476 | - url_.c \ | |
| 477 | - user_.c \ | |
| 478 | - utf8_.c \ | |
| 479 | - util_.c \ | |
| 480 | - verify_.c \ | |
| 481 | - vfile_.c \ | |
| 482 | - webmail_.c \ | |
| 483 | - wiki_.c \ | |
| 484 | - wikiformat_.c \ | |
| 485 | - winfile_.c \ | |
| 486 | - winhttp_.c \ | |
| 487 | - wysiwyg_.c \ | |
| 488 | - xfer_.c \ | |
| 489 | - xfersetup_.c \ | |
| 490 | - zip_.c | |
| 491 | - | |
| 492 | -EXTRA_FILES = $(SRCDIR)\..\skins\aht\details.txt \ | |
| 493 | - $(SRCDIR)\..\skins\ardoise\css.txt \ | |
| 494 | - $(SRCDIR)\..\skins\ardoise\details.txt \ | |
| 495 | - $(SRCDIR)\..\skins\ardoise\footer.txt \ | |
| 496 | - $(SRCDIR)\..\skins\ardoise\header.txt \ | |
| 497 | - $(SRCDIR)\..\skins\black_and_white\css.txt \ | |
| 498 | - $(SRCDIR)\..\skins\black_and_white\details.txt \ | |
| 499 | - $(SRCDIR)\..\skins\black_and_white\footer.txt \ | |
| 500 | - $(SRCDIR)\..\skins\black_and_white\header.txt \ | |
| 501 | - $(SRCDIR)\..\skins\blitz\css.txt \ | |
| 502 | - $(SRCDIR)\..\skins\blitz\details.txt \ | |
| 503 | - $(SRCDIR)\..\skins\blitz\footer.txt \ | |
| 504 | - $(SRCDIR)\..\skins\blitz\header.txt \ | |
| 505 | - $(SRCDIR)\..\skins\blitz\ticket.txt \ | |
| 506 | - $(SRCDIR)\..\skins\blitz_no_logo\css.txt \ | |
| 507 | - $(SRCDIR)\..\skins\blitz_no_logo\details.txt \ | |
| 508 | - $(SRCDIR)\..\skins\blitz_no_logo\footer.txt \ | |
| 509 | - $(SRCDIR)\..\skins\blitz_no_logo\header.txt \ | |
| 510 | - $(SRCDIR)\..\skins\blitz_no_logo\ticket.txt \ | |
| 511 | - $(SRCDIR)\..\skins\bootstrap\css.txt \ | |
| 512 | - $(SRCDIR)\..\skins\bootstrap\details.txt \ | |
| 513 | - $(SRCDIR)\..\skins\bootstrap\footer.txt \ | |
| 514 | - $(SRCDIR)\..\skins\bootstrap\header.txt \ | |
| 515 | - $(SRCDIR)\..\skins\default\css.txt \ | |
| 516 | - $(SRCDIR)\..\skins\default\details.txt \ | |
| 517 | - $(SRCDIR)\..\skins\default\footer.txt \ | |
| 518 | - $(SRCDIR)\..\skins\default\header.txt \ | |
| 519 | - $(SRCDIR)\..\skins\default\js.txt \ | |
| 520 | - $(SRCDIR)\..\skins\eagle\css.txt \ | |
| 521 | - $(SRCDIR)\..\skins\eagle\details.txt \ | |
| 522 | - $(SRCDIR)\..\skins\eagle\footer.txt \ | |
| 523 | - $(SRCDIR)\..\skins\eagle\header.txt \ | |
| 524 | - $(SRCDIR)\..\skins\enhanced1\css.txt \ | |
| 525 | - $(SRCDIR)\..\skins\enhanced1\details.txt \ | |
| 526 | - $(SRCDIR)\..\skins\enhanced1\footer.txt \ | |
| 527 | - $(SRCDIR)\..\skins\enhanced1\header.txt \ | |
| 528 | - $(SRCDIR)\..\skins\khaki\css.txt \ | |
| 529 | - $(SRCDIR)\..\skins\khaki\details.txt \ | |
| 530 | - $(SRCDIR)\..\skins\khaki\footer.txt \ | |
| 531 | - $(SRCDIR)\..\skins\khaki\header.txt \ | |
| 532 | - $(SRCDIR)\..\skins\original\css.txt \ | |
| 533 | - $(SRCDIR)\..\skins\original\details.txt \ | |
| 534 | - $(SRCDIR)\..\skins\original\footer.txt \ | |
| 535 | - $(SRCDIR)\..\skins\original\header.txt \ | |
| 536 | - $(SRCDIR)\..\skins\plain_gray\css.txt \ | |
| 537 | - $(SRCDIR)\..\skins\plain_gray\details.txt \ | |
| 538 | - $(SRCDIR)\..\skins\plain_gray\footer.txt \ | |
| 539 | - $(SRCDIR)\..\skins\plain_gray\header.txt \ | |
| 540 | - $(SRCDIR)\..\skins\rounded1\css.txt \ | |
| 541 | - $(SRCDIR)\..\skins\rounded1\details.txt \ | |
| 542 | - $(SRCDIR)\..\skins\rounded1\footer.txt \ | |
| 543 | - $(SRCDIR)\..\skins\rounded1\header.txt \ | |
| 544 | - $(SRCDIR)\..\skins\xekri\css.txt \ | |
| 545 | - $(SRCDIR)\..\skins\xekri\details.txt \ | |
| 546 | - $(SRCDIR)\..\skins\xekri\footer.txt \ | |
| 547 | - $(SRCDIR)\..\skins\xekri\header.txt \ | |
| 548 | - $(SRCDIR)\accordion.js \ | |
| 549 | - $(SRCDIR)\ci_edit.js \ | |
| 550 | - $(SRCDIR)\copybtn.js \ | |
| 551 | - $(SRCDIR)\default.css \ | |
| 552 | - $(SRCDIR)\diff.tcl \ | |
| 553 | - $(SRCDIR)\forum.js \ | |
| 554 | - $(SRCDIR)\fossil.bootstrap.js \ | |
| 555 | - $(SRCDIR)\fossil.confirmer.js \ | |
| 556 | - $(SRCDIR)\fossil.dom.js \ | |
| 557 | - $(SRCDIR)\fossil.fetch.js \ | |
| 558 | - $(SRCDIR)\fossil.page.fileedit.js \ | |
| 559 | - $(SRCDIR)\fossil.storage.js \ | |
| 560 | - $(SRCDIR)\fossil.tabs.js \ | |
| 561 | - $(SRCDIR)\graph.js \ | |
| 562 | - $(SRCDIR)\href.js \ | |
| 563 | - $(SRCDIR)\login.js \ | |
| 564 | - $(SRCDIR)\markdown.md \ | |
| 565 | - $(SRCDIR)\menu.js \ | |
| 566 | - $(SRCDIR)\sbsdiff.js \ | |
| 567 | - $(SRCDIR)\scroll.js \ | |
| 568 | - $(SRCDIR)\skin.js \ | |
| 569 | - $(SRCDIR)\sorttable.js \ | |
| 570 | - $(SRCDIR)\sounds\0.wav \ | |
| 571 | - $(SRCDIR)\sounds\1.wav \ | |
| 572 | - $(SRCDIR)\sounds\2.wav \ | |
| 573 | - $(SRCDIR)\sounds\3.wav \ | |
| 574 | - $(SRCDIR)\sounds\4.wav \ | |
| 575 | - $(SRCDIR)\sounds\5.wav \ | |
| 576 | - $(SRCDIR)\sounds\6.wav \ | |
| 577 | - $(SRCDIR)\sounds\7.wav \ | |
| 578 | - $(SRCDIR)\sounds\8.wav \ | |
| 579 | - $(SRCDIR)\sounds\9.wav \ | |
| 580 | - $(SRCDIR)\sounds\a.wav \ | |
| 581 | - $(SRCDIR)\sounds\b.wav \ | |
| 582 | - $(SRCDIR)\sounds\c.wav \ | |
| 583 | - $(SRCDIR)\sounds\d.wav \ | |
| 584 | - $(SRCDIR)\sounds\e.wav \ | |
| 585 | - $(SRCDIR)\sounds\f.wav \ | |
| 586 | - $(SRCDIR)\style.admin_log.css \ | |
| 587 | - $(SRCDIR)\style.fileedit.css \ | |
| 588 | - $(SRCDIR)\tree.js \ | |
| 589 | - $(SRCDIR)\useredit.js \ | |
| 590 | - $(SRCDIR)\wiki.wiki | |
| 591 | - | |
| 592 | -OBJ = $(OX)\add$O \ | |
| 593 | - $(OX)\alerts$O \ | |
| 594 | - $(OX)\allrepo$O \ | |
| 595 | - $(OX)\attach$O \ | |
| 596 | - $(OX)\backlink$O \ | |
| 597 | - $(OX)\backoffice$O \ | |
| 598 | - $(OX)\bag$O \ | |
| 599 | - $(OX)\bisect$O \ | |
| 600 | - $(OX)\blob$O \ | |
| 601 | - $(OX)\branch$O \ | |
| 602 | - $(OX)\browse$O \ | |
| 603 | - $(OX)\builtin$O \ | |
| 604 | - $(OX)\bundle$O \ | |
| 605 | - $(OX)\cache$O \ | |
| 606 | - $(OX)\capabilities$O \ | |
| 607 | - $(OX)\captcha$O \ | |
| 608 | - $(OX)\cgi$O \ | |
| 609 | - $(OX)\checkin$O \ | |
| 610 | - $(OX)\checkout$O \ | |
| 611 | - $(OX)\clearsign$O \ | |
| 612 | - $(OX)\clone$O \ | |
| 613 | - $(OX)\comformat$O \ | |
| 614 | - $(OX)\configure$O \ | |
| 615 | - $(OX)\content$O \ | |
| 616 | - $(OX)\cookies$O \ | |
| 617 | - $(OX)\cson_amalgamation$O \ | |
| 618 | - $(OX)\db$O \ | |
| 619 | - $(OX)\delta$O \ | |
| 620 | - $(OX)\deltacmd$O \ | |
| 621 | - $(OX)\deltafunc$O \ | |
| 622 | - $(OX)\descendants$O \ | |
| 623 | - $(OX)\diff$O \ | |
| 624 | - $(OX)\diffcmd$O \ | |
| 625 | - $(OX)\dispatch$O \ | |
| 626 | - $(OX)\doc$O \ | |
| 627 | - $(OX)\encode$O \ | |
| 628 | - $(OX)\etag$O \ | |
| 629 | - $(OX)\event$O \ | |
| 630 | - $(OX)\export$O \ | |
| 631 | - $(OX)\extcgi$O \ | |
| 632 | - $(OX)\file$O \ | |
| 633 | - $(OX)\fileedit$O \ | |
| 634 | - $(OX)\finfo$O \ | |
| 635 | - $(OX)\foci$O \ | |
| 636 | - $(OX)\forum$O \ | |
| 637 | - $(OX)\fshell$O \ | |
| 638 | - $(OX)\fusefs$O \ | |
| 639 | - $(OX)\fuzz$O \ | |
| 640 | - $(OX)\glob$O \ | |
| 641 | - $(OX)\graph$O \ | |
| 642 | - $(OX)\gzip$O \ | |
| 643 | - $(OX)\hname$O \ | |
| 644 | - $(OX)\http$O \ | |
| 645 | - $(OX)\http_socket$O \ | |
| 646 | - $(OX)\http_ssl$O \ | |
| 647 | - $(OX)\http_transport$O \ | |
| 648 | - $(OX)\import$O \ | |
| 649 | - $(OX)\info$O \ | |
| 650 | - $(OX)\json$O \ | |
| 651 | - $(OX)\json_artifact$O \ | |
| 652 | - $(OX)\json_branch$O \ | |
| 653 | - $(OX)\json_config$O \ | |
| 654 | - $(OX)\json_diff$O \ | |
| 655 | - $(OX)\json_dir$O \ | |
| 656 | - $(OX)\json_finfo$O \ | |
| 657 | - $(OX)\json_login$O \ | |
| 658 | - $(OX)\json_query$O \ | |
| 659 | - $(OX)\json_report$O \ | |
| 660 | - $(OX)\json_status$O \ | |
| 661 | - $(OX)\json_tag$O \ | |
| 662 | - $(OX)\json_timeline$O \ | |
| 663 | - $(OX)\json_user$O \ | |
| 664 | - $(OX)\json_wiki$O \ | |
| 665 | - $(OX)\leaf$O \ | |
| 666 | - $(OX)\loadctrl$O \ | |
| 667 | - $(OX)\login$O \ | |
| 668 | - $(OX)\lookslike$O \ | |
| 669 | - $(OX)\main$O \ | |
| 670 | - $(OX)\manifest$O \ | |
| 671 | - $(OX)\markdown$O \ | |
| 672 | - $(OX)\markdown_html$O \ | |
| 673 | - $(OX)\md5$O \ | |
| 674 | - $(OX)\merge$O \ | |
| 675 | - $(OX)\merge3$O \ | |
| 676 | - $(OX)\moderate$O \ | |
| 677 | - $(OX)\name$O \ | |
| 678 | - $(OX)\path$O \ | |
| 679 | - $(OX)\piechart$O \ | |
| 680 | - $(OX)\pivot$O \ | |
| 681 | - $(OX)\popen$O \ | |
| 682 | - $(OX)\pqueue$O \ | |
| 683 | - $(OX)\printf$O \ | |
| 684 | - $(OX)\publish$O \ | |
| 685 | - $(OX)\purge$O \ | |
| 686 | - $(OX)\rebuild$O \ | |
| 687 | - $(OX)\regexp$O \ | |
| 688 | - $(OX)\repolist$O \ | |
| 689 | - $(OX)\report$O \ | |
| 690 | - $(OX)\rss$O \ | |
| 691 | - $(OX)\schema$O \ | |
| 692 | - $(OX)\search$O \ | |
| 693 | - $(OX)\security_audit$O \ | |
| 694 | - $(OX)\setup$O \ | |
| 695 | - $(OX)\setupuser$O \ | |
| 696 | - $(OX)\sha1$O \ | |
| 697 | - $(OX)\sha1hard$O \ | |
| 698 | - $(OX)\sha3$O \ | |
| 699 | - $(OX)\shell$O \ | |
| 700 | - $(OX)\shun$O \ | |
| 701 | - $(OX)\sitemap$O \ | |
| 702 | - $(OX)\skins$O \ | |
| 703 | - $(OX)\smtp$O \ | |
| 704 | - $(OX)\sqlcmd$O \ | |
| 705 | - $(OX)\sqlite3$O \ | |
| 706 | - $(OX)\stash$O \ | |
| 707 | - $(OX)\stat$O \ | |
| 708 | - $(OX)\statrep$O \ | |
| 709 | - $(OX)\style$O \ | |
| 710 | - $(OX)\sync$O \ | |
| 711 | - $(OX)\tag$O \ | |
| 712 | - $(OX)\tar$O \ | |
| 713 | - $(OX)\terminal$O \ | |
| 714 | - $(OX)\th$O \ | |
| 715 | - $(OX)\th_lang$O \ | |
| 716 | - $(OX)\th_main$O \ | |
| 717 | - $(OX)\th_tcl$O \ | |
| 718 | - $(OX)\timeline$O \ | |
| 719 | - $(OX)\tkt$O \ | |
| 720 | - $(OX)\tktsetup$O \ | |
| 721 | - $(OX)\undo$O \ | |
| 722 | - $(OX)\unicode$O \ | |
| 723 | - $(OX)\unversioned$O \ | |
| 724 | - $(OX)\update$O \ | |
| 725 | - $(OX)\url$O \ | |
| 726 | - $(OX)\user$O \ | |
| 727 | - $(OX)\utf8$O \ | |
| 728 | - $(OX)\util$O \ | |
| 729 | - $(OX)\verify$O \ | |
| 730 | - $(OX)\vfile$O \ | |
| 731 | - $(OX)\webmail$O \ | |
| 732 | - $(OX)\wiki$O \ | |
| 733 | - $(OX)\wikiformat$O \ | |
| 734 | - $(OX)\winfile$O \ | |
| 735 | - $(OX)\winhttp$O \ | |
| 736 | - $(OX)\wysiwyg$O \ | |
| 737 | - $(OX)\xfer$O \ | |
| 738 | - $(OX)\xfersetup$O \ | |
| 739 | - $(OX)\zip$O \ | |
| 363 | +SRC = "$(OX)\add_.c" \ | |
| 364 | + "$(OX)\ajax_.c" \ | |
| 365 | + "$(OX)\alerts_.c" \ | |
| 366 | + "$(OX)\allrepo_.c" \ | |
| 367 | + "$(OX)\attach_.c" \ | |
| 368 | + "$(OX)\backlink_.c" \ | |
| 369 | + "$(OX)\backoffice_.c" \ | |
| 370 | + "$(OX)\bag_.c" \ | |
| 371 | + "$(OX)\bisect_.c" \ | |
| 372 | + "$(OX)\blob_.c" \ | |
| 373 | + "$(OX)\branch_.c" \ | |
| 374 | + "$(OX)\browse_.c" \ | |
| 375 | + "$(OX)\builtin_.c" \ | |
| 376 | + "$(OX)\bundle_.c" \ | |
| 377 | + "$(OX)\cache_.c" \ | |
| 378 | + "$(OX)\capabilities_.c" \ | |
| 379 | + "$(OX)\captcha_.c" \ | |
| 380 | + "$(OX)\cgi_.c" \ | |
| 381 | + "$(OX)\checkin_.c" \ | |
| 382 | + "$(OX)\checkout_.c" \ | |
| 383 | + "$(OX)\clearsign_.c" \ | |
| 384 | + "$(OX)\clone_.c" \ | |
| 385 | + "$(OX)\comformat_.c" \ | |
| 386 | + "$(OX)\configure_.c" \ | |
| 387 | + "$(OX)\content_.c" \ | |
| 388 | + "$(OX)\cookies_.c" \ | |
| 389 | + "$(OX)\db_.c" \ | |
| 390 | + "$(OX)\delta_.c" \ | |
| 391 | + "$(OX)\deltacmd_.c" \ | |
| 392 | + "$(OX)\deltafunc_.c" \ | |
| 393 | + "$(OX)\descendants_.c" \ | |
| 394 | + "$(OX)\diff_.c" \ | |
| 395 | + "$(OX)\diffcmd_.c" \ | |
| 396 | + "$(OX)\dispatch_.c" \ | |
| 397 | + "$(OX)\doc_.c" \ | |
| 398 | + "$(OX)\encode_.c" \ | |
| 399 | + "$(OX)\etag_.c" \ | |
| 400 | + "$(OX)\event_.c" \ | |
| 401 | + "$(OX)\export_.c" \ | |
| 402 | + "$(OX)\extcgi_.c" \ | |
| 403 | + "$(OX)\file_.c" \ | |
| 404 | + "$(OX)\fileedit_.c" \ | |
| 405 | + "$(OX)\finfo_.c" \ | |
| 406 | + "$(OX)\foci_.c" \ | |
| 407 | + "$(OX)\forum_.c" \ | |
| 408 | + "$(OX)\fshell_.c" \ | |
| 409 | + "$(OX)\fusefs_.c" \ | |
| 410 | + "$(OX)\fuzz_.c" \ | |
| 411 | + "$(OX)\glob_.c" \ | |
| 412 | + "$(OX)\graph_.c" \ | |
| 413 | + "$(OX)\gzip_.c" \ | |
| 414 | + "$(OX)\hname_.c" \ | |
| 415 | + "$(OX)\http_.c" \ | |
| 416 | + "$(OX)\http_socket_.c" \ | |
| 417 | + "$(OX)\http_ssl_.c" \ | |
| 418 | + "$(OX)\http_transport_.c" \ | |
| 419 | + "$(OX)\import_.c" \ | |
| 420 | + "$(OX)\info_.c" \ | |
| 421 | + "$(OX)\json_.c" \ | |
| 422 | + "$(OX)\json_artifact_.c" \ | |
| 423 | + "$(OX)\json_branch_.c" \ | |
| 424 | + "$(OX)\json_config_.c" \ | |
| 425 | + "$(OX)\json_diff_.c" \ | |
| 426 | + "$(OX)\json_dir_.c" \ | |
| 427 | + "$(OX)\json_finfo_.c" \ | |
| 428 | + "$(OX)\json_login_.c" \ | |
| 429 | + "$(OX)\json_query_.c" \ | |
| 430 | + "$(OX)\json_report_.c" \ | |
| 431 | + "$(OX)\json_status_.c" \ | |
| 432 | + "$(OX)\json_tag_.c" \ | |
| 433 | + "$(OX)\json_timeline_.c" \ | |
| 434 | + "$(OX)\json_user_.c" \ | |
| 435 | + "$(OX)\json_wiki_.c" \ | |
| 436 | + "$(OX)\leaf_.c" \ | |
| 437 | + "$(OX)\loadctrl_.c" \ | |
| 438 | + "$(OX)\login_.c" \ | |
| 439 | + "$(OX)\lookslike_.c" \ | |
| 440 | + "$(OX)\main_.c" \ | |
| 441 | + "$(OX)\manifest_.c" \ | |
| 442 | + "$(OX)\markdown_.c" \ | |
| 443 | + "$(OX)\markdown_html_.c" \ | |
| 444 | + "$(OX)\md5_.c" \ | |
| 445 | + "$(OX)\merge_.c" \ | |
| 446 | + "$(OX)\merge3_.c" \ | |
| 447 | + "$(OX)\moderate_.c" \ | |
| 448 | + "$(OX)\name_.c" \ | |
| 449 | + "$(OX)\path_.c" \ | |
| 450 | + "$(OX)\piechart_.c" \ | |
| 451 | + "$(OX)\pivot_.c" \ | |
| 452 | + "$(OX)\popen_.c" \ | |
| 453 | + "$(OX)\pqueue_.c" \ | |
| 454 | + "$(OX)\printf_.c" \ | |
| 455 | + "$(OX)\publish_.c" \ | |
| 456 | + "$(OX)\purge_.c" \ | |
| 457 | + "$(OX)\rebuild_.c" \ | |
| 458 | + "$(OX)\regexp_.c" \ | |
| 459 | + "$(OX)\repolist_.c" \ | |
| 460 | + "$(OX)\report_.c" \ | |
| 461 | + "$(OX)\rss_.c" \ | |
| 462 | + "$(OX)\schema_.c" \ | |
| 463 | + "$(OX)\search_.c" \ | |
| 464 | + "$(OX)\security_audit_.c" \ | |
| 465 | + "$(OX)\setup_.c" \ | |
| 466 | + "$(OX)\setupuser_.c" \ | |
| 467 | + "$(OX)\sha1_.c" \ | |
| 468 | + "$(OX)\sha1hard_.c" \ | |
| 469 | + "$(OX)\sha3_.c" \ | |
| 470 | + "$(OX)\shun_.c" \ | |
| 471 | + "$(OX)\sitemap_.c" \ | |
| 472 | + "$(OX)\skins_.c" \ | |
| 473 | + "$(OX)\smtp_.c" \ | |
| 474 | + "$(OX)\sqlcmd_.c" \ | |
| 475 | + "$(OX)\stash_.c" \ | |
| 476 | + "$(OX)\stat_.c" \ | |
| 477 | + "$(OX)\statrep_.c" \ | |
| 478 | + "$(OX)\style_.c" \ | |
| 479 | + "$(OX)\sync_.c" \ | |
| 480 | + "$(OX)\tag_.c" \ | |
| 481 | + "$(OX)\tar_.c" \ | |
| 482 | + "$(OX)\terminal_.c" \ | |
| 483 | + "$(OX)\th_main_.c" \ | |
| 484 | + "$(OX)\timeline_.c" \ | |
| 485 | + "$(OX)\tkt_.c" \ | |
| 486 | + "$(OX)\tktsetup_.c" \ | |
| 487 | + "$(OX)\undo_.c" \ | |
| 488 | + "$(OX)\unicode_.c" \ | |
| 489 | + "$(OX)\unversioned_.c" \ | |
| 490 | + "$(OX)\update_.c" \ | |
| 491 | + "$(OX)\url_.c" \ | |
| 492 | + "$(OX)\user_.c" \ | |
| 493 | + "$(OX)\utf8_.c" \ | |
| 494 | + "$(OX)\util_.c" \ | |
| 495 | + "$(OX)\verify_.c" \ | |
| 496 | + "$(OX)\vfile_.c" \ | |
| 497 | + "$(OX)\webmail_.c" \ | |
| 498 | + "$(OX)\wiki_.c" \ | |
| 499 | + "$(OX)\wikiformat_.c" \ | |
| 500 | + "$(OX)\winfile_.c" \ | |
| 501 | + "$(OX)\winhttp_.c" \ | |
| 502 | + "$(OX)\wysiwyg_.c" \ | |
| 503 | + "$(OX)\xfer_.c" \ | |
| 504 | + "$(OX)\xfersetup_.c" \ | |
| 505 | + "$(OX)\zip_.c" | |
| 506 | + | |
| 507 | +EXTRA_FILES = "$(SRCDIR)\..\skins\aht\details.txt" \ | |
| 508 | + "$(SRCDIR)\..\skins\ardoise\css.txt" \ | |
| 509 | + "$(SRCDIR)\..\skins\ardoise\details.txt" \ | |
| 510 | + "$(SRCDIR)\..\skins\ardoise\footer.txt" \ | |
| 511 | + "$(SRCDIR)\..\skins\ardoise\header.txt" \ | |
| 512 | + "$(SRCDIR)\..\skins\black_and_white\css.txt" \ | |
| 513 | + "$(SRCDIR)\..\skins\black_and_white\details.txt" \ | |
| 514 | + "$(SRCDIR)\..\skins\black_and_white\footer.txt" \ | |
| 515 | + "$(SRCDIR)\..\skins\black_and_white\header.txt" \ | |
| 516 | + "$(SRCDIR)\..\skins\blitz\css.txt" \ | |
| 517 | + "$(SRCDIR)\..\skins\blitz\details.txt" \ | |
| 518 | + "$(SRCDIR)\..\skins\blitz\footer.txt" \ | |
| 519 | + "$(SRCDIR)\..\skins\blitz\header.txt" \ | |
| 520 | + "$(SRCDIR)\..\skins\blitz\ticket.txt" \ | |
| 521 | + "$(SRCDIR)\..\skins\blitz_no_logo\css.txt" \ | |
| 522 | + "$(SRCDIR)\..\skins\blitz_no_logo\details.txt" \ | |
| 523 | + "$(SRCDIR)\..\skins\blitz_no_logo\footer.txt" \ | |
| 524 | + "$(SRCDIR)\..\skins\blitz_no_logo\header.txt" \ | |
| 525 | + "$(SRCDIR)\..\skins\blitz_no_logo\ticket.txt" \ | |
| 526 | + "$(SRCDIR)\..\skins\bootstrap\css.txt" \ | |
| 527 | + "$(SRCDIR)\..\skins\bootstrap\details.txt" \ | |
| 528 | + "$(SRCDIR)\..\skins\bootstrap\footer.txt" \ | |
| 529 | + "$(SRCDIR)\..\skins\bootstrap\header.txt" \ | |
| 530 | + "$(SRCDIR)\..\skins\default\css.txt" \ | |
| 531 | + "$(SRCDIR)\..\skins\default\details.txt" \ | |
| 532 | + "$(SRCDIR)\..\skins\default\footer.txt" \ | |
| 533 | + "$(SRCDIR)\..\skins\default\header.txt" \ | |
| 534 | + "$(SRCDIR)\..\skins\default\js.txt" \ | |
| 535 | + "$(SRCDIR)\..\skins\eagle\css.txt" \ | |
| 536 | + "$(SRCDIR)\..\skins\eagle\details.txt" \ | |
| 537 | + "$(SRCDIR)\..\skins\eagle\footer.txt" \ | |
| 538 | + "$(SRCDIR)\..\skins\eagle\header.txt" \ | |
| 539 | + "$(SRCDIR)\..\skins\enhanced1\css.txt" \ | |
| 540 | + "$(SRCDIR)\..\skins\enhanced1\details.txt" \ | |
| 541 | + "$(SRCDIR)\..\skins\enhanced1\footer.txt" \ | |
| 542 | + "$(SRCDIR)\..\skins\enhanced1\header.txt" \ | |
| 543 | + "$(SRCDIR)\..\skins\khaki\css.txt" \ | |
| 544 | + "$(SRCDIR)\..\skins\khaki\details.txt" \ | |
| 545 | + "$(SRCDIR)\..\skins\khaki\footer.txt" \ | |
| 546 | + "$(SRCDIR)\..\skins\khaki\header.txt" \ | |
| 547 | + "$(SRCDIR)\..\skins\original\css.txt" \ | |
| 548 | + "$(SRCDIR)\..\skins\original\details.txt" \ | |
| 549 | + "$(SRCDIR)\..\skins\original\footer.txt" \ | |
| 550 | + "$(SRCDIR)\..\skins\original\header.txt" \ | |
| 551 | + "$(SRCDIR)\..\skins\plain_gray\css.txt" \ | |
| 552 | + "$(SRCDIR)\..\skins\plain_gray\details.txt" \ | |
| 553 | + "$(SRCDIR)\..\skins\plain_gray\footer.txt" \ | |
| 554 | + "$(SRCDIR)\..\skins\plain_gray\header.txt" \ | |
| 555 | + "$(SRCDIR)\..\skins\rounded1\css.txt" \ | |
| 556 | + "$(SRCDIR)\..\skins\rounded1\details.txt" \ | |
| 557 | + "$(SRCDIR)\..\skins\rounded1\footer.txt" \ | |
| 558 | + "$(SRCDIR)\..\skins\rounded1\header.txt" \ | |
| 559 | + "$(SRCDIR)\..\skins\xekri\css.txt" \ | |
| 560 | + "$(SRCDIR)\..\skins\xekri\details.txt" \ | |
| 561 | + "$(SRCDIR)\..\skins\xekri\footer.txt" \ | |
| 562 | + "$(SRCDIR)\..\skins\xekri\header.txt" \ | |
| 563 | + "$(SRCDIR)\accordion.js" \ | |
| 564 | + "$(SRCDIR)\ci_edit.js" \ | |
| 565 | + "$(SRCDIR)\copybtn.js" \ | |
| 566 | + "$(SRCDIR)\default.css" \ | |
| 567 | + "$(SRCDIR)\diff.tcl" \ | |
| 568 | + "$(SRCDIR)\forum.js" \ | |
| 569 | + "$(SRCDIR)\fossil.bootstrap.js" \ | |
| 570 | + "$(SRCDIR)\fossil.confirmer.js" \ | |
| 571 | + "$(SRCDIR)\fossil.dom.js" \ | |
| 572 | + "$(SRCDIR)\fossil.fetch.js" \ | |
| 573 | + "$(SRCDIR)\fossil.page.fileedit.js" \ | |
| 574 | + "$(SRCDIR)\fossil.storage.js" \ | |
| 575 | + "$(SRCDIR)\fossil.tabs.js" \ | |
| 576 | + "$(SRCDIR)\graph.js" \ | |
| 577 | + "$(SRCDIR)\href.js" \ | |
| 578 | + "$(SRCDIR)\login.js" \ | |
| 579 | + "$(SRCDIR)\markdown.md" \ | |
| 580 | + "$(SRCDIR)\menu.js" \ | |
| 581 | + "$(SRCDIR)\sbsdiff.js" \ | |
| 582 | + "$(SRCDIR)\scroll.js" \ | |
| 583 | + "$(SRCDIR)\skin.js" \ | |
| 584 | + "$(SRCDIR)\sorttable.js" \ | |
| 585 | + "$(SRCDIR)\sounds\0.wav" \ | |
| 586 | + "$(SRCDIR)\sounds\1.wav" \ | |
| 587 | + "$(SRCDIR)\sounds\2.wav" \ | |
| 588 | + "$(SRCDIR)\sounds\3.wav" \ | |
| 589 | + "$(SRCDIR)\sounds\4.wav" \ | |
| 590 | + "$(SRCDIR)\sounds\5.wav" \ | |
| 591 | + "$(SRCDIR)\sounds\6.wav" \ | |
| 592 | + "$(SRCDIR)\sounds\7.wav" \ | |
| 593 | + "$(SRCDIR)\sounds\8.wav" \ | |
| 594 | + "$(SRCDIR)\sounds\9.wav" \ | |
| 595 | + "$(SRCDIR)\sounds\a.wav" \ | |
| 596 | + "$(SRCDIR)\sounds\b.wav" \ | |
| 597 | + "$(SRCDIR)\sounds\c.wav" \ | |
| 598 | + "$(SRCDIR)\sounds\d.wav" \ | |
| 599 | + "$(SRCDIR)\sounds\e.wav" \ | |
| 600 | + "$(SRCDIR)\sounds\f.wav" \ | |
| 601 | + "$(SRCDIR)\style.admin_log.css" \ | |
| 602 | + "$(SRCDIR)\style.fileedit.css" \ | |
| 603 | + "$(SRCDIR)\tree.js" \ | |
| 604 | + "$(SRCDIR)\useredit.js" \ | |
| 605 | + "$(SRCDIR)\wiki.wiki" | |
| 606 | + | |
| 607 | +OBJ = "$(OX)\add$O" \ | |
| 608 | + "$(OX)\ajax$O" \ | |
| 609 | + "$(OX)\alerts$O" \ | |
| 610 | + "$(OX)\allrepo$O" \ | |
| 611 | + "$(OX)\attach$O" \ | |
| 612 | + "$(OX)\backlink$O" \ | |
| 613 | + "$(OX)\backoffice$O" \ | |
| 614 | + "$(OX)\bag$O" \ | |
| 615 | + "$(OX)\bisect$O" \ | |
| 616 | + "$(OX)\blob$O" \ | |
| 617 | + "$(OX)\branch$O" \ | |
| 618 | + "$(OX)\browse$O" \ | |
| 619 | + "$(OX)\builtin$O" \ | |
| 620 | + "$(OX)\bundle$O" \ | |
| 621 | + "$(OX)\cache$O" \ | |
| 622 | + "$(OX)\capabilities$O" \ | |
| 623 | + "$(OX)\captcha$O" \ | |
| 624 | + "$(OX)\cgi$O" \ | |
| 625 | + "$(OX)\checkin$O" \ | |
| 626 | + "$(OX)\checkout$O" \ | |
| 627 | + "$(OX)\clearsign$O" \ | |
| 628 | + "$(OX)\clone$O" \ | |
| 629 | + "$(OX)\comformat$O" \ | |
| 630 | + "$(OX)\configure$O" \ | |
| 631 | + "$(OX)\content$O" \ | |
| 632 | + "$(OX)\cookies$O" \ | |
| 633 | + "$(OX)\cson_amalgamation$O" \ | |
| 634 | + "$(OX)\db$O" \ | |
| 635 | + "$(OX)\delta$O" \ | |
| 636 | + "$(OX)\deltacmd$O" \ | |
| 637 | + "$(OX)\deltafunc$O" \ | |
| 638 | + "$(OX)\descendants$O" \ | |
| 639 | + "$(OX)\diff$O" \ | |
| 640 | + "$(OX)\diffcmd$O" \ | |
| 641 | + "$(OX)\dispatch$O" \ | |
| 642 | + "$(OX)\doc$O" \ | |
| 643 | + "$(OX)\encode$O" \ | |
| 644 | + "$(OX)\etag$O" \ | |
| 645 | + "$(OX)\event$O" \ | |
| 646 | + "$(OX)\export$O" \ | |
| 647 | + "$(OX)\extcgi$O" \ | |
| 648 | + "$(OX)\file$O" \ | |
| 649 | + "$(OX)\fileedit$O" \ | |
| 650 | + "$(OX)\finfo$O" \ | |
| 651 | + "$(OX)\foci$O" \ | |
| 652 | + "$(OX)\forum$O" \ | |
| 653 | + "$(OX)\fshell$O" \ | |
| 654 | + "$(OX)\fusefs$O" \ | |
| 655 | + "$(OX)\fuzz$O" \ | |
| 656 | + "$(OX)\glob$O" \ | |
| 657 | + "$(OX)\graph$O" \ | |
| 658 | + "$(OX)\gzip$O" \ | |
| 659 | + "$(OX)\hname$O" \ | |
| 660 | + "$(OX)\http$O" \ | |
| 661 | + "$(OX)\http_socket$O" \ | |
| 662 | + "$(OX)\http_ssl$O" \ | |
| 663 | + "$(OX)\http_transport$O" \ | |
| 664 | + "$(OX)\import$O" \ | |
| 665 | + "$(OX)\info$O" \ | |
| 666 | + "$(OX)\json$O" \ | |
| 667 | + "$(OX)\json_artifact$O" \ | |
| 668 | + "$(OX)\json_branch$O" \ | |
| 669 | + "$(OX)\json_config$O" \ | |
| 670 | + "$(OX)\json_diff$O" \ | |
| 671 | + "$(OX)\json_dir$O" \ | |
| 672 | + "$(OX)\json_finfo$O" \ | |
| 673 | + "$(OX)\json_login$O" \ | |
| 674 | + "$(OX)\json_query$O" \ | |
| 675 | + "$(OX)\json_report$O" \ | |
| 676 | + "$(OX)\json_status$O" \ | |
| 677 | + "$(OX)\json_tag$O" \ | |
| 678 | + "$(OX)\json_timeline$O" \ | |
| 679 | + "$(OX)\json_user$O" \ | |
| 680 | + "$(OX)\json_wiki$O" \ | |
| 681 | + "$(OX)\leaf$O" \ | |
| 682 | + "$(OX)\loadctrl$O" \ | |
| 683 | + "$(OX)\login$O" \ | |
| 684 | + "$(OX)\lookslike$O" \ | |
| 685 | + "$(OX)\main$O" \ | |
| 686 | + "$(OX)\manifest$O" \ | |
| 687 | + "$(OX)\markdown$O" \ | |
| 688 | + "$(OX)\markdown_html$O" \ | |
| 689 | + "$(OX)\md5$O" \ | |
| 690 | + "$(OX)\merge$O" \ | |
| 691 | + "$(OX)\merge3$O" \ | |
| 692 | + "$(OX)\moderate$O" \ | |
| 693 | + "$(OX)\name$O" \ | |
| 694 | + "$(OX)\path$O" \ | |
| 695 | + "$(OX)\piechart$O" \ | |
| 696 | + "$(OX)\pivot$O" \ | |
| 697 | + "$(OX)\popen$O" \ | |
| 698 | + "$(OX)\pqueue$O" \ | |
| 699 | + "$(OX)\printf$O" \ | |
| 700 | + "$(OX)\publish$O" \ | |
| 701 | + "$(OX)\purge$O" \ | |
| 702 | + "$(OX)\rebuild$O" \ | |
| 703 | + "$(OX)\regexp$O" \ | |
| 704 | + "$(OX)\repolist$O" \ | |
| 705 | + "$(OX)\report$O" \ | |
| 706 | + "$(OX)\rss$O" \ | |
| 707 | + "$(OX)\schema$O" \ | |
| 708 | + "$(OX)\search$O" \ | |
| 709 | + "$(OX)\security_audit$O" \ | |
| 710 | + "$(OX)\setup$O" \ | |
| 711 | + "$(OX)\setupuser$O" \ | |
| 712 | + "$(OX)\sha1$O" \ | |
| 713 | + "$(OX)\sha1hard$O" \ | |
| 714 | + "$(OX)\sha3$O" \ | |
| 715 | + "$(OX)\shell$O" \ | |
| 716 | + "$(OX)\shun$O" \ | |
| 717 | + "$(OX)\sitemap$O" \ | |
| 718 | + "$(OX)\skins$O" \ | |
| 719 | + "$(OX)\smtp$O" \ | |
| 720 | + "$(OX)\sqlcmd$O" \ | |
| 721 | + "$(OX)\sqlite3$O" \ | |
| 722 | + "$(OX)\stash$O" \ | |
| 723 | + "$(OX)\stat$O" \ | |
| 724 | + "$(OX)\statrep$O" \ | |
| 725 | + "$(OX)\style$O" \ | |
| 726 | + "$(OX)\sync$O" \ | |
| 727 | + "$(OX)\tag$O" \ | |
| 728 | + "$(OX)\tar$O" \ | |
| 729 | + "$(OX)\terminal$O" \ | |
| 730 | + "$(OX)\th$O" \ | |
| 731 | + "$(OX)\th_lang$O" \ | |
| 732 | + "$(OX)\th_main$O" \ | |
| 733 | + "$(OX)\th_tcl$O" \ | |
| 734 | + "$(OX)\timeline$O" \ | |
| 735 | + "$(OX)\tkt$O" \ | |
| 736 | + "$(OX)\tktsetup$O" \ | |
| 737 | + "$(OX)\undo$O" \ | |
| 738 | + "$(OX)\unicode$O" \ | |
| 739 | + "$(OX)\unversioned$O" \ | |
| 740 | + "$(OX)\update$O" \ | |
| 741 | + "$(OX)\url$O" \ | |
| 742 | + "$(OX)\user$O" \ | |
| 743 | + "$(OX)\utf8$O" \ | |
| 744 | + "$(OX)\util$O" \ | |
| 745 | + "$(OX)\verify$O" \ | |
| 746 | + "$(OX)\vfile$O" \ | |
| 747 | + "$(OX)\webmail$O" \ | |
| 748 | + "$(OX)\wiki$O" \ | |
| 749 | + "$(OX)\wikiformat$O" \ | |
| 750 | + "$(OX)\winfile$O" \ | |
| 751 | + "$(OX)\winhttp$O" \ | |
| 752 | + "$(OX)\wysiwyg$O" \ | |
| 753 | + "$(OX)\xfer$O" \ | |
| 754 | + "$(OX)\xfersetup$O" \ | |
| 755 | + "$(OX)\zip$O" \ | |
| 740 | 756 | !if $(FOSSIL_ENABLE_MINIZ)!=0 |
| 741 | - $(OX)\miniz$O \ | |
| 757 | + "$(OX)\miniz$O" \ | |
| 742 | 758 | !endif |
| 743 | - $(OX)\fossil.res | |
| 759 | + "$(OX)\fossil.res" | |
| 744 | 760 | |
| 745 | 761 | |
| 746 | 762 | !ifndef BASEAPPNAME |
| 747 | 763 | BASEAPPNAME = fossil |
| 748 | 764 | !endif |
| @@ -749,32 +765,52 @@ | ||
| 749 | 765 | |
| 750 | 766 | APPNAME = $(OX)\$(BASEAPPNAME)$(E) |
| 751 | 767 | PDBNAME = $(OX)\$(BASEAPPNAME)$(P) |
| 752 | 768 | APPTARGETS = |
| 753 | 769 | |
| 754 | -all: $(OX) $(APPNAME) | |
| 770 | +all: "$(OX)" "$(APPNAME)" | |
| 771 | + | |
| 772 | +$(BASEAPPNAME): "$(APPNAME)" | |
| 773 | + | |
| 774 | +$(BASEAPPNAME)$(E): "$(APPNAME)" | |
| 775 | + | |
| 776 | +install: "$(APPNAME)" | |
| 777 | + echo F | xcopy /Y "$(APPNAME)" "$(INSTALLDIR)"\* | |
| 778 | +!if $(DEBUG)!=0 | |
| 779 | + echo F | xcopy /Y "$(PDBNAME)" "$(INSTALLDIR)"\* | |
| 780 | +!endif | |
| 781 | + | |
| 782 | +$(OX): | |
| 783 | + @-mkdir $@ | |
| 755 | 784 | |
| 756 | 785 | zlib: |
| 757 | 786 | @echo Building zlib from "$(ZLIBDIR)"... |
| 758 | 787 | !if $(FOSSIL_ENABLE_WINXP)!=0 |
| 759 | 788 | @pushd "$(ZLIBDIR)" && $(MAKE) /f win32\Makefile.msc $(ZLIB) "CC=cl $(XPCFLAGS)" "LD=link $(XPLDFLAGS)" && popd |
| 760 | 789 | !else |
| 761 | 790 | @pushd "$(ZLIBDIR)" && $(MAKE) /f win32\Makefile.msc $(ZLIB) && popd |
| 762 | 791 | !endif |
| 763 | 792 | |
| 793 | +clean-zlib: | |
| 794 | + @pushd "$(ZLIBDIR)" && $(MAKE) /f win32\Makefile.msc clean && popd | |
| 795 | + | |
| 764 | 796 | !if $(FOSSIL_ENABLE_SSL)!=0 |
| 765 | 797 | openssl: |
| 766 | 798 | @echo Building OpenSSL from "$(SSLDIR)"... |
| 767 | -!if "$(PERLDIR)" != "" | |
| 768 | - @set PATH=$(PERLDIR);$(PATH) | |
| 799 | +!ifdef PERLDIR | |
| 800 | + @pushd "$(SSLDIR)" && "$(PERLDIR)\$(PERL)" Configure $(SSLCONFIG) && popd | |
| 801 | +!else | |
| 802 | + @pushd "$(SSLDIR)" && "$(PERL)" Configure $(SSLCONFIG) && popd | |
| 769 | 803 | !endif |
| 770 | - @pushd "$(SSLDIR)" && $(PERL) Configure $(SSLCONFIG) && popd | |
| 771 | 804 | !if $(FOSSIL_ENABLE_WINXP)!=0 |
| 772 | 805 | @pushd "$(SSLDIR)" && $(MAKE) "CC=cl $(XPCFLAGS)" "LFLAGS=$(XPLDFLAGS)" && popd |
| 773 | 806 | !else |
| 774 | 807 | @pushd "$(SSLDIR)" && $(MAKE) && popd |
| 775 | 808 | !endif |
| 809 | + | |
| 810 | +clean-openssl: | |
| 811 | + @pushd "$(SSLDIR)" && $(MAKE) clean && popd | |
| 776 | 812 | !endif |
| 777 | 813 | |
| 778 | 814 | !if $(FOSSIL_ENABLE_MINIZ)==0 |
| 779 | 815 | !if $(FOSSIL_BUILD_ZLIB)!=0 |
| 780 | 816 | APPTARGETS = $(APPTARGETS) zlib |
| @@ -785,191 +821,188 @@ | ||
| 785 | 821 | !if $(FOSSIL_BUILD_SSL)!=0 |
| 786 | 822 | APPTARGETS = $(APPTARGETS) openssl |
| 787 | 823 | !endif |
| 788 | 824 | !endif |
| 789 | 825 | |
| 790 | -$(APPNAME) : $(APPTARGETS) translate$E mkindex$E codecheck1$E headers $(OBJ) $(OX)\linkopts | |
| 791 | - cd $(OX) | |
| 792 | - codecheck1$E $(SRC) | |
| 793 | - link $(LDFLAGS) /OUT:$@ $(LIBDIR) Wsetargv.obj fossil.res @linkopts | |
| 794 | - if exist [email protected] \ | |
| 795 | - $(MTC) -nologo -manifest [email protected] -outputresource:$@;1 | |
| 796 | - | |
| 797 | -$(OX)\linkopts: $B\win\Makefile.msc | |
| 798 | - echo $(OX)\add.obj > $@ | |
| 799 | - echo $(OX)\alerts.obj >> $@ | |
| 800 | - echo $(OX)\allrepo.obj >> $@ | |
| 801 | - echo $(OX)\attach.obj >> $@ | |
| 802 | - echo $(OX)\backlink.obj >> $@ | |
| 803 | - echo $(OX)\backoffice.obj >> $@ | |
| 804 | - echo $(OX)\bag.obj >> $@ | |
| 805 | - echo $(OX)\bisect.obj >> $@ | |
| 806 | - echo $(OX)\blob.obj >> $@ | |
| 807 | - echo $(OX)\branch.obj >> $@ | |
| 808 | - echo $(OX)\browse.obj >> $@ | |
| 809 | - echo $(OX)\builtin.obj >> $@ | |
| 810 | - echo $(OX)\bundle.obj >> $@ | |
| 811 | - echo $(OX)\cache.obj >> $@ | |
| 812 | - echo $(OX)\capabilities.obj >> $@ | |
| 813 | - echo $(OX)\captcha.obj >> $@ | |
| 814 | - echo $(OX)\cgi.obj >> $@ | |
| 815 | - echo $(OX)\checkin.obj >> $@ | |
| 816 | - echo $(OX)\checkout.obj >> $@ | |
| 817 | - echo $(OX)\clearsign.obj >> $@ | |
| 818 | - echo $(OX)\clone.obj >> $@ | |
| 819 | - echo $(OX)\comformat.obj >> $@ | |
| 820 | - echo $(OX)\configure.obj >> $@ | |
| 821 | - echo $(OX)\content.obj >> $@ | |
| 822 | - echo $(OX)\cookies.obj >> $@ | |
| 823 | - echo $(OX)\cson_amalgamation.obj >> $@ | |
| 824 | - echo $(OX)\db.obj >> $@ | |
| 825 | - echo $(OX)\delta.obj >> $@ | |
| 826 | - echo $(OX)\deltacmd.obj >> $@ | |
| 827 | - echo $(OX)\deltafunc.obj >> $@ | |
| 828 | - echo $(OX)\descendants.obj >> $@ | |
| 829 | - echo $(OX)\diff.obj >> $@ | |
| 830 | - echo $(OX)\diffcmd.obj >> $@ | |
| 831 | - echo $(OX)\dispatch.obj >> $@ | |
| 832 | - echo $(OX)\doc.obj >> $@ | |
| 833 | - echo $(OX)\encode.obj >> $@ | |
| 834 | - echo $(OX)\etag.obj >> $@ | |
| 835 | - echo $(OX)\event.obj >> $@ | |
| 836 | - echo $(OX)\export.obj >> $@ | |
| 837 | - echo $(OX)\extcgi.obj >> $@ | |
| 838 | - echo $(OX)\file.obj >> $@ | |
| 839 | - echo $(OX)\fileedit.obj >> $@ | |
| 840 | - echo $(OX)\finfo.obj >> $@ | |
| 841 | - echo $(OX)\foci.obj >> $@ | |
| 842 | - echo $(OX)\forum.obj >> $@ | |
| 843 | - echo $(OX)\fshell.obj >> $@ | |
| 844 | - echo $(OX)\fusefs.obj >> $@ | |
| 845 | - echo $(OX)\fuzz.obj >> $@ | |
| 846 | - echo $(OX)\glob.obj >> $@ | |
| 847 | - echo $(OX)\graph.obj >> $@ | |
| 848 | - echo $(OX)\gzip.obj >> $@ | |
| 849 | - echo $(OX)\hname.obj >> $@ | |
| 850 | - echo $(OX)\http.obj >> $@ | |
| 851 | - echo $(OX)\http_socket.obj >> $@ | |
| 852 | - echo $(OX)\http_ssl.obj >> $@ | |
| 853 | - echo $(OX)\http_transport.obj >> $@ | |
| 854 | - echo $(OX)\import.obj >> $@ | |
| 855 | - echo $(OX)\info.obj >> $@ | |
| 856 | - echo $(OX)\json.obj >> $@ | |
| 857 | - echo $(OX)\json_artifact.obj >> $@ | |
| 858 | - echo $(OX)\json_branch.obj >> $@ | |
| 859 | - echo $(OX)\json_config.obj >> $@ | |
| 860 | - echo $(OX)\json_diff.obj >> $@ | |
| 861 | - echo $(OX)\json_dir.obj >> $@ | |
| 862 | - echo $(OX)\json_finfo.obj >> $@ | |
| 863 | - echo $(OX)\json_login.obj >> $@ | |
| 864 | - echo $(OX)\json_query.obj >> $@ | |
| 865 | - echo $(OX)\json_report.obj >> $@ | |
| 866 | - echo $(OX)\json_status.obj >> $@ | |
| 867 | - echo $(OX)\json_tag.obj >> $@ | |
| 868 | - echo $(OX)\json_timeline.obj >> $@ | |
| 869 | - echo $(OX)\json_user.obj >> $@ | |
| 870 | - echo $(OX)\json_wiki.obj >> $@ | |
| 871 | - echo $(OX)\leaf.obj >> $@ | |
| 872 | - echo $(OX)\loadctrl.obj >> $@ | |
| 873 | - echo $(OX)\login.obj >> $@ | |
| 874 | - echo $(OX)\lookslike.obj >> $@ | |
| 875 | - echo $(OX)\main.obj >> $@ | |
| 876 | - echo $(OX)\manifest.obj >> $@ | |
| 877 | - echo $(OX)\markdown.obj >> $@ | |
| 878 | - echo $(OX)\markdown_html.obj >> $@ | |
| 879 | - echo $(OX)\md5.obj >> $@ | |
| 880 | - echo $(OX)\merge.obj >> $@ | |
| 881 | - echo $(OX)\merge3.obj >> $@ | |
| 882 | - echo $(OX)\moderate.obj >> $@ | |
| 883 | - echo $(OX)\name.obj >> $@ | |
| 884 | - echo $(OX)\path.obj >> $@ | |
| 885 | - echo $(OX)\piechart.obj >> $@ | |
| 886 | - echo $(OX)\pivot.obj >> $@ | |
| 887 | - echo $(OX)\popen.obj >> $@ | |
| 888 | - echo $(OX)\pqueue.obj >> $@ | |
| 889 | - echo $(OX)\printf.obj >> $@ | |
| 890 | - echo $(OX)\publish.obj >> $@ | |
| 891 | - echo $(OX)\purge.obj >> $@ | |
| 892 | - echo $(OX)\rebuild.obj >> $@ | |
| 893 | - echo $(OX)\regexp.obj >> $@ | |
| 894 | - echo $(OX)\repolist.obj >> $@ | |
| 895 | - echo $(OX)\report.obj >> $@ | |
| 896 | - echo $(OX)\rss.obj >> $@ | |
| 897 | - echo $(OX)\schema.obj >> $@ | |
| 898 | - echo $(OX)\search.obj >> $@ | |
| 899 | - echo $(OX)\security_audit.obj >> $@ | |
| 900 | - echo $(OX)\setup.obj >> $@ | |
| 901 | - echo $(OX)\setupuser.obj >> $@ | |
| 902 | - echo $(OX)\sha1.obj >> $@ | |
| 903 | - echo $(OX)\sha1hard.obj >> $@ | |
| 904 | - echo $(OX)\sha3.obj >> $@ | |
| 905 | - echo $(OX)\shell.obj >> $@ | |
| 906 | - echo $(OX)\shun.obj >> $@ | |
| 907 | - echo $(OX)\sitemap.obj >> $@ | |
| 908 | - echo $(OX)\skins.obj >> $@ | |
| 909 | - echo $(OX)\smtp.obj >> $@ | |
| 910 | - echo $(OX)\sqlcmd.obj >> $@ | |
| 911 | - echo $(OX)\sqlite3.obj >> $@ | |
| 912 | - echo $(OX)\stash.obj >> $@ | |
| 913 | - echo $(OX)\stat.obj >> $@ | |
| 914 | - echo $(OX)\statrep.obj >> $@ | |
| 915 | - echo $(OX)\style.obj >> $@ | |
| 916 | - echo $(OX)\sync.obj >> $@ | |
| 917 | - echo $(OX)\tag.obj >> $@ | |
| 918 | - echo $(OX)\tar.obj >> $@ | |
| 919 | - echo $(OX)\terminal.obj >> $@ | |
| 920 | - echo $(OX)\th.obj >> $@ | |
| 921 | - echo $(OX)\th_lang.obj >> $@ | |
| 922 | - echo $(OX)\th_main.obj >> $@ | |
| 923 | - echo $(OX)\th_tcl.obj >> $@ | |
| 924 | - echo $(OX)\timeline.obj >> $@ | |
| 925 | - echo $(OX)\tkt.obj >> $@ | |
| 926 | - echo $(OX)\tktsetup.obj >> $@ | |
| 927 | - echo $(OX)\undo.obj >> $@ | |
| 928 | - echo $(OX)\unicode.obj >> $@ | |
| 929 | - echo $(OX)\unversioned.obj >> $@ | |
| 930 | - echo $(OX)\update.obj >> $@ | |
| 931 | - echo $(OX)\url.obj >> $@ | |
| 932 | - echo $(OX)\user.obj >> $@ | |
| 933 | - echo $(OX)\utf8.obj >> $@ | |
| 934 | - echo $(OX)\util.obj >> $@ | |
| 935 | - echo $(OX)\verify.obj >> $@ | |
| 936 | - echo $(OX)\vfile.obj >> $@ | |
| 937 | - echo $(OX)\webmail.obj >> $@ | |
| 938 | - echo $(OX)\wiki.obj >> $@ | |
| 939 | - echo $(OX)\wikiformat.obj >> $@ | |
| 940 | - echo $(OX)\winfile.obj >> $@ | |
| 941 | - echo $(OX)\winhttp.obj >> $@ | |
| 942 | - echo $(OX)\wysiwyg.obj >> $@ | |
| 943 | - echo $(OX)\xfer.obj >> $@ | |
| 944 | - echo $(OX)\xfersetup.obj >> $@ | |
| 945 | - echo $(OX)\zip.obj >> $@ | |
| 826 | +"$(APPNAME)" : $(APPTARGETS) "$(OBJDIR)\translate$E" "$(OBJDIR)\mkindex$E" "$(OBJDIR)\codecheck1$E" "$(OX)\headers" $(OBJ) "$(OX)\linkopts" | |
| 827 | + "$(OBJDIR)\codecheck1$E" $(SRC) | |
| 828 | + link $(LDFLAGS) /OUT:$@ /PDB:$(@D)\ $(LIBDIR) Wsetargv.obj "$(OX)\fossil.res" @"$(OX)\linkopts" | |
| 829 | + if exist "$(B)\win\fossil.exe.manifest" \ | |
| 830 | + $(MTC) -nologo -manifest "$(B)\win\fossil.exe.manifest" -outputresource:$@;1 | |
| 831 | + | |
| 832 | +"$(OX)\linkopts": "$(B)\win\Makefile.msc" | |
| 833 | + echo "$(OX)\add.obj" > $@ | |
| 834 | + echo "$(OX)\ajax.obj" >> $@ | |
| 835 | + echo "$(OX)\alerts.obj" >> $@ | |
| 836 | + echo "$(OX)\allrepo.obj" >> $@ | |
| 837 | + echo "$(OX)\attach.obj" >> $@ | |
| 838 | + echo "$(OX)\backlink.obj" >> $@ | |
| 839 | + echo "$(OX)\backoffice.obj" >> $@ | |
| 840 | + echo "$(OX)\bag.obj" >> $@ | |
| 841 | + echo "$(OX)\bisect.obj" >> $@ | |
| 842 | + echo "$(OX)\blob.obj" >> $@ | |
| 843 | + echo "$(OX)\branch.obj" >> $@ | |
| 844 | + echo "$(OX)\browse.obj" >> $@ | |
| 845 | + echo "$(OX)\builtin.obj" >> $@ | |
| 846 | + echo "$(OX)\bundle.obj" >> $@ | |
| 847 | + echo "$(OX)\cache.obj" >> $@ | |
| 848 | + echo "$(OX)\capabilities.obj" >> $@ | |
| 849 | + echo "$(OX)\captcha.obj" >> $@ | |
| 850 | + echo "$(OX)\cgi.obj" >> $@ | |
| 851 | + echo "$(OX)\checkin.obj" >> $@ | |
| 852 | + echo "$(OX)\checkout.obj" >> $@ | |
| 853 | + echo "$(OX)\clearsign.obj" >> $@ | |
| 854 | + echo "$(OX)\clone.obj" >> $@ | |
| 855 | + echo "$(OX)\comformat.obj" >> $@ | |
| 856 | + echo "$(OX)\configure.obj" >> $@ | |
| 857 | + echo "$(OX)\content.obj" >> $@ | |
| 858 | + echo "$(OX)\cookies.obj" >> $@ | |
| 859 | + echo "$(OX)\cson_amalgamation.obj" >> $@ | |
| 860 | + echo "$(OX)\db.obj" >> $@ | |
| 861 | + echo "$(OX)\delta.obj" >> $@ | |
| 862 | + echo "$(OX)\deltacmd.obj" >> $@ | |
| 863 | + echo "$(OX)\deltafunc.obj" >> $@ | |
| 864 | + echo "$(OX)\descendants.obj" >> $@ | |
| 865 | + echo "$(OX)\diff.obj" >> $@ | |
| 866 | + echo "$(OX)\diffcmd.obj" >> $@ | |
| 867 | + echo "$(OX)\dispatch.obj" >> $@ | |
| 868 | + echo "$(OX)\doc.obj" >> $@ | |
| 869 | + echo "$(OX)\encode.obj" >> $@ | |
| 870 | + echo "$(OX)\etag.obj" >> $@ | |
| 871 | + echo "$(OX)\event.obj" >> $@ | |
| 872 | + echo "$(OX)\export.obj" >> $@ | |
| 873 | + echo "$(OX)\extcgi.obj" >> $@ | |
| 874 | + echo "$(OX)\file.obj" >> $@ | |
| 875 | + echo "$(OX)\fileedit.obj" >> $@ | |
| 876 | + echo "$(OX)\finfo.obj" >> $@ | |
| 877 | + echo "$(OX)\foci.obj" >> $@ | |
| 878 | + echo "$(OX)\forum.obj" >> $@ | |
| 879 | + echo "$(OX)\fshell.obj" >> $@ | |
| 880 | + echo "$(OX)\fusefs.obj" >> $@ | |
| 881 | + echo "$(OX)\fuzz.obj" >> $@ | |
| 882 | + echo "$(OX)\glob.obj" >> $@ | |
| 883 | + echo "$(OX)\graph.obj" >> $@ | |
| 884 | + echo "$(OX)\gzip.obj" >> $@ | |
| 885 | + echo "$(OX)\hname.obj" >> $@ | |
| 886 | + echo "$(OX)\http.obj" >> $@ | |
| 887 | + echo "$(OX)\http_socket.obj" >> $@ | |
| 888 | + echo "$(OX)\http_ssl.obj" >> $@ | |
| 889 | + echo "$(OX)\http_transport.obj" >> $@ | |
| 890 | + echo "$(OX)\import.obj" >> $@ | |
| 891 | + echo "$(OX)\info.obj" >> $@ | |
| 892 | + echo "$(OX)\json.obj" >> $@ | |
| 893 | + echo "$(OX)\json_artifact.obj" >> $@ | |
| 894 | + echo "$(OX)\json_branch.obj" >> $@ | |
| 895 | + echo "$(OX)\json_config.obj" >> $@ | |
| 896 | + echo "$(OX)\json_diff.obj" >> $@ | |
| 897 | + echo "$(OX)\json_dir.obj" >> $@ | |
| 898 | + echo "$(OX)\json_finfo.obj" >> $@ | |
| 899 | + echo "$(OX)\json_login.obj" >> $@ | |
| 900 | + echo "$(OX)\json_query.obj" >> $@ | |
| 901 | + echo "$(OX)\json_report.obj" >> $@ | |
| 902 | + echo "$(OX)\json_status.obj" >> $@ | |
| 903 | + echo "$(OX)\json_tag.obj" >> $@ | |
| 904 | + echo "$(OX)\json_timeline.obj" >> $@ | |
| 905 | + echo "$(OX)\json_user.obj" >> $@ | |
| 906 | + echo "$(OX)\json_wiki.obj" >> $@ | |
| 907 | + echo "$(OX)\leaf.obj" >> $@ | |
| 908 | + echo "$(OX)\loadctrl.obj" >> $@ | |
| 909 | + echo "$(OX)\login.obj" >> $@ | |
| 910 | + echo "$(OX)\lookslike.obj" >> $@ | |
| 911 | + echo "$(OX)\main.obj" >> $@ | |
| 912 | + echo "$(OX)\manifest.obj" >> $@ | |
| 913 | + echo "$(OX)\markdown.obj" >> $@ | |
| 914 | + echo "$(OX)\markdown_html.obj" >> $@ | |
| 915 | + echo "$(OX)\md5.obj" >> $@ | |
| 916 | + echo "$(OX)\merge.obj" >> $@ | |
| 917 | + echo "$(OX)\merge3.obj" >> $@ | |
| 918 | + echo "$(OX)\moderate.obj" >> $@ | |
| 919 | + echo "$(OX)\name.obj" >> $@ | |
| 920 | + echo "$(OX)\path.obj" >> $@ | |
| 921 | + echo "$(OX)\piechart.obj" >> $@ | |
| 922 | + echo "$(OX)\pivot.obj" >> $@ | |
| 923 | + echo "$(OX)\popen.obj" >> $@ | |
| 924 | + echo "$(OX)\pqueue.obj" >> $@ | |
| 925 | + echo "$(OX)\printf.obj" >> $@ | |
| 926 | + echo "$(OX)\publish.obj" >> $@ | |
| 927 | + echo "$(OX)\purge.obj" >> $@ | |
| 928 | + echo "$(OX)\rebuild.obj" >> $@ | |
| 929 | + echo "$(OX)\regexp.obj" >> $@ | |
| 930 | + echo "$(OX)\repolist.obj" >> $@ | |
| 931 | + echo "$(OX)\report.obj" >> $@ | |
| 932 | + echo "$(OX)\rss.obj" >> $@ | |
| 933 | + echo "$(OX)\schema.obj" >> $@ | |
| 934 | + echo "$(OX)\search.obj" >> $@ | |
| 935 | + echo "$(OX)\security_audit.obj" >> $@ | |
| 936 | + echo "$(OX)\setup.obj" >> $@ | |
| 937 | + echo "$(OX)\setupuser.obj" >> $@ | |
| 938 | + echo "$(OX)\sha1.obj" >> $@ | |
| 939 | + echo "$(OX)\sha1hard.obj" >> $@ | |
| 940 | + echo "$(OX)\sha3.obj" >> $@ | |
| 941 | + echo "$(OX)\shell.obj" >> $@ | |
| 942 | + echo "$(OX)\shun.obj" >> $@ | |
| 943 | + echo "$(OX)\sitemap.obj" >> $@ | |
| 944 | + echo "$(OX)\skins.obj" >> $@ | |
| 945 | + echo "$(OX)\smtp.obj" >> $@ | |
| 946 | + echo "$(OX)\sqlcmd.obj" >> $@ | |
| 947 | + echo "$(OX)\sqlite3.obj" >> $@ | |
| 948 | + echo "$(OX)\stash.obj" >> $@ | |
| 949 | + echo "$(OX)\stat.obj" >> $@ | |
| 950 | + echo "$(OX)\statrep.obj" >> $@ | |
| 951 | + echo "$(OX)\style.obj" >> $@ | |
| 952 | + echo "$(OX)\sync.obj" >> $@ | |
| 953 | + echo "$(OX)\tag.obj" >> $@ | |
| 954 | + echo "$(OX)\tar.obj" >> $@ | |
| 955 | + echo "$(OX)\terminal.obj" >> $@ | |
| 956 | + echo "$(OX)\th.obj" >> $@ | |
| 957 | + echo "$(OX)\th_lang.obj" >> $@ | |
| 958 | + echo "$(OX)\th_main.obj" >> $@ | |
| 959 | + echo "$(OX)\th_tcl.obj" >> $@ | |
| 960 | + echo "$(OX)\timeline.obj" >> $@ | |
| 961 | + echo "$(OX)\tkt.obj" >> $@ | |
| 962 | + echo "$(OX)\tktsetup.obj" >> $@ | |
| 963 | + echo "$(OX)\undo.obj" >> $@ | |
| 964 | + echo "$(OX)\unicode.obj" >> $@ | |
| 965 | + echo "$(OX)\unversioned.obj" >> $@ | |
| 966 | + echo "$(OX)\update.obj" >> $@ | |
| 967 | + echo "$(OX)\url.obj" >> $@ | |
| 968 | + echo "$(OX)\user.obj" >> $@ | |
| 969 | + echo "$(OX)\utf8.obj" >> $@ | |
| 970 | + echo "$(OX)\util.obj" >> $@ | |
| 971 | + echo "$(OX)\verify.obj" >> $@ | |
| 972 | + echo "$(OX)\vfile.obj" >> $@ | |
| 973 | + echo "$(OX)\webmail.obj" >> $@ | |
| 974 | + echo "$(OX)\wiki.obj" >> $@ | |
| 975 | + echo "$(OX)\wikiformat.obj" >> $@ | |
| 976 | + echo "$(OX)\winfile.obj" >> $@ | |
| 977 | + echo "$(OX)\winhttp.obj" >> $@ | |
| 978 | + echo "$(OX)\wysiwyg.obj" >> $@ | |
| 979 | + echo "$(OX)\xfer.obj" >> $@ | |
| 980 | + echo "$(OX)\xfersetup.obj" >> $@ | |
| 981 | + echo "$(OX)\zip.obj" >> $@ | |
| 946 | 982 | !if $(FOSSIL_ENABLE_MINIZ)!=0 |
| 947 | - echo $(OX)\miniz.obj >> $@ | |
| 983 | + echo "$(OX)\miniz.obj" >> $@ | |
| 948 | 984 | !endif |
| 949 | 985 | echo $(LIBS) >> $@ |
| 950 | 986 | |
| 951 | -$(OX): | |
| 952 | - @-mkdir $@ | |
| 953 | - | |
| 954 | -translate$E: $(SRCDIR)\translate.c | |
| 955 | - $(BCC) $** | |
| 956 | - | |
| 957 | -makeheaders$E: $(SRCDIR)\makeheaders.c | |
| 958 | - $(BCC) $** | |
| 959 | - | |
| 960 | -mkindex$E: $(SRCDIR)\mkindex.c | |
| 961 | - $(BCC) $** | |
| 962 | - | |
| 963 | -mkbuiltin$E: $(SRCDIR)\mkbuiltin.c | |
| 964 | - $(BCC) $** | |
| 965 | - | |
| 966 | -mkversion$E: $(SRCDIR)\mkversion.c | |
| 967 | - $(BCC) $** | |
| 968 | - | |
| 969 | -codecheck1$E: $(SRCDIR)\codecheck1.c | |
| 970 | - $(BCC) $** | |
| 987 | +"$(OBJDIR)\translate$E": "$(SRCDIR)\translate.c" | |
| 988 | + $(BCC) /Fe$@ /Fo$(@D)\ /Fd$(@D)\ $** | |
| 989 | + | |
| 990 | +"$(OBJDIR)\makeheaders$E": "$(SRCDIR)\makeheaders.c" | |
| 991 | + $(BCC) /Fe$@ /Fo$(@D)\ /Fd$(@D)\ $** | |
| 992 | + | |
| 993 | +"$(OBJDIR)\mkindex$E": "$(SRCDIR)\mkindex.c" | |
| 994 | + $(BCC) /Fe$@ /Fo$(@D)\ /Fd$(@D)\ $** | |
| 995 | + | |
| 996 | +"$(OBJDIR)\mkbuiltin$E": "$(SRCDIR)\mkbuiltin.c" | |
| 997 | + $(BCC) /Fe$@ /Fo$(@D)\ /Fd$(@D)\ $** | |
| 998 | + | |
| 999 | +"$(OBJDIR)\mkversion$E": "$(SRCDIR)\mkversion.c" | |
| 1000 | + $(BCC) /Fe$@ /Fo$(@D)\ /Fd$(@D)\ $** | |
| 1001 | + | |
| 1002 | +"$(OBJDIR)\codecheck1$E": "$(SRCDIR)\codecheck1.c" | |
| 1003 | + $(BCC) /Fe$@ /Fo$(@D)\ /Fd$(@D)\ $** | |
| 971 | 1004 | |
| 972 | 1005 | !if $(USE_SEE)!=0 |
| 973 | 1006 | SEE_FLAGS = /DSQLITE_HAS_CODEC=1 /DSQLITE_SHELL_DBKEY_PROC=fossil_key |
| 974 | 1007 | SQLITE3_SHELL_SRC = $(SRCDIR)\shell-see.c |
| 975 | 1008 | SQLITE3_SRC = $(SRCDIR)\sqlite3-see.c |
| @@ -977,1082 +1010,1195 @@ | ||
| 977 | 1010 | SEE_FLAGS = |
| 978 | 1011 | SQLITE3_SHELL_SRC = $(SRCDIR)\shell.c |
| 979 | 1012 | SQLITE3_SRC = $(SRCDIR)\sqlite3.c |
| 980 | 1013 | !endif |
| 981 | 1014 | |
| 982 | -$(OX)\shell$O : $(SQLITE3_SHELL_SRC) $B\win\Makefile.msc | |
| 983 | - $(TCC) /Fo$@ $(SHELL_OPTIONS) $(SQLITE_OPTIONS) $(SHELL_CFLAGS) $(SEE_FLAGS) -c $(SQLITE3_SHELL_SRC) | |
| 984 | - | |
| 985 | -$(OX)\sqlite3$O : $(SQLITE3_SRC) $B\win\Makefile.msc | |
| 986 | - $(TCC) /Fo$@ -c $(SQLITE_OPTIONS) $(SQLITE_CFLAGS) $(SEE_FLAGS) $(SQLITE3_SRC) | |
| 987 | - | |
| 988 | -$(OX)\th$O : $(SRCDIR)\th.c | |
| 989 | - $(TCC) /Fo$@ -c $** | |
| 990 | - | |
| 991 | -$(OX)\th_lang$O : $(SRCDIR)\th_lang.c | |
| 992 | - $(TCC) /Fo$@ -c $** | |
| 993 | - | |
| 994 | -$(OX)\th_tcl$O : $(SRCDIR)\th_tcl.c | |
| 995 | - $(TCC) /Fo$@ -c $** | |
| 996 | - | |
| 997 | -$(OX)\miniz$O : $(SRCDIR)\miniz.c | |
| 998 | - $(TCC) /Fo$@ -c $(MINIZ_OPTIONS) $(SRCDIR)\miniz.c | |
| 999 | - | |
| 1000 | -VERSION.h : mkversion$E $B\manifest.uuid $B\manifest $B\VERSION | |
| 1001 | - $** > $@ | |
| 1002 | - | |
| 1003 | -$(OX)\cson_amalgamation$O : $(SRCDIR)\cson_amalgamation.c | |
| 1004 | - $(TCC) /Fo$@ /c $** | |
| 1005 | - | |
| 1006 | -page_index.h: mkindex$E $(SRC) | |
| 1007 | - $** > $@ | |
| 1008 | - | |
| 1009 | -builtin_data.h: mkbuiltin$E $(EXTRA_FILES) | |
| 1010 | - mkbuiltin$E --prefix $(SRCDIR)/ $(EXTRA_FILES) > $@ | |
| 1011 | - | |
| 1012 | -clean: | |
| 1013 | - -del $(OX)\*.obj 2>NUL | |
| 1014 | - -del *.obj 2>NUL | |
| 1015 | - -del *_.c 2>NUL | |
| 1016 | - -del *.h 2>NUL | |
| 1017 | - -del *.ilk 2>NUL | |
| 1018 | - -del *.map 2>NUL | |
| 1019 | - -del *.res 2>NUL | |
| 1020 | - -del headers 2>NUL | |
| 1021 | - -del linkopts 2>NUL | |
| 1022 | - -del vc*.pdb 2>NUL | |
| 1023 | - | |
| 1024 | -realclean: clean | |
| 1025 | - -del $(APPNAME) 2>NUL | |
| 1026 | - -del $(PDBNAME) 2>NUL | |
| 1027 | - -del translate$E 2>NUL | |
| 1028 | - -del translate$P 2>NUL | |
| 1029 | - -del mkindex$E 2>NUL | |
| 1030 | - -del mkindex$P 2>NUL | |
| 1031 | - -del makeheaders$E 2>NUL | |
| 1032 | - -del makeheaders$P 2>NUL | |
| 1033 | - -del mkversion$E 2>NUL | |
| 1034 | - -del mkversion$P 2>NUL | |
| 1035 | - -del codecheck1$E 2>NUL | |
| 1036 | - -del codecheck1$P 2>NUL | |
| 1037 | - -del mkbuiltin$E 2>NUL | |
| 1038 | - -del mkbuiltin$P 2>NUL | |
| 1039 | - | |
| 1040 | -$(OBJDIR)\json$O : $(SRCDIR)\json_detail.h | |
| 1041 | -$(OBJDIR)\json_artifact$O : $(SRCDIR)\json_detail.h | |
| 1042 | -$(OBJDIR)\json_branch$O : $(SRCDIR)\json_detail.h | |
| 1043 | -$(OBJDIR)\json_config$O : $(SRCDIR)\json_detail.h | |
| 1044 | -$(OBJDIR)\json_diff$O : $(SRCDIR)\json_detail.h | |
| 1045 | -$(OBJDIR)\json_dir$O : $(SRCDIR)\json_detail.h | |
| 1046 | -$(OBJDIR)\json_finfo$O : $(SRCDIR)\json_detail.h | |
| 1047 | -$(OBJDIR)\json_login$O : $(SRCDIR)\json_detail.h | |
| 1048 | -$(OBJDIR)\json_query$O : $(SRCDIR)\json_detail.h | |
| 1049 | -$(OBJDIR)\json_report$O : $(SRCDIR)\json_detail.h | |
| 1050 | -$(OBJDIR)\json_status$O : $(SRCDIR)\json_detail.h | |
| 1051 | -$(OBJDIR)\json_tag$O : $(SRCDIR)\json_detail.h | |
| 1052 | -$(OBJDIR)\json_timeline$O : $(SRCDIR)\json_detail.h | |
| 1053 | -$(OBJDIR)\json_user$O : $(SRCDIR)\json_detail.h | |
| 1054 | -$(OBJDIR)\json_wiki$O : $(SRCDIR)\json_detail.h | |
| 1055 | - | |
| 1056 | -$(OX)\add$O : add_.c add.h | |
| 1057 | - $(TCC) /Fo$@ -c add_.c | |
| 1058 | - | |
| 1059 | -add_.c : $(SRCDIR)\add.c | |
| 1060 | - translate$E $** > $@ | |
| 1061 | - | |
| 1062 | -$(OX)\alerts$O : alerts_.c alerts.h | |
| 1063 | - $(TCC) /Fo$@ -c alerts_.c | |
| 1064 | - | |
| 1065 | -alerts_.c : $(SRCDIR)\alerts.c | |
| 1066 | - translate$E $** > $@ | |
| 1067 | - | |
| 1068 | -$(OX)\allrepo$O : allrepo_.c allrepo.h | |
| 1069 | - $(TCC) /Fo$@ -c allrepo_.c | |
| 1070 | - | |
| 1071 | -allrepo_.c : $(SRCDIR)\allrepo.c | |
| 1072 | - translate$E $** > $@ | |
| 1073 | - | |
| 1074 | -$(OX)\attach$O : attach_.c attach.h | |
| 1075 | - $(TCC) /Fo$@ -c attach_.c | |
| 1076 | - | |
| 1077 | -attach_.c : $(SRCDIR)\attach.c | |
| 1078 | - translate$E $** > $@ | |
| 1079 | - | |
| 1080 | -$(OX)\backlink$O : backlink_.c backlink.h | |
| 1081 | - $(TCC) /Fo$@ -c backlink_.c | |
| 1082 | - | |
| 1083 | -backlink_.c : $(SRCDIR)\backlink.c | |
| 1084 | - translate$E $** > $@ | |
| 1085 | - | |
| 1086 | -$(OX)\backoffice$O : backoffice_.c backoffice.h | |
| 1087 | - $(TCC) /Fo$@ -c backoffice_.c | |
| 1088 | - | |
| 1089 | -backoffice_.c : $(SRCDIR)\backoffice.c | |
| 1090 | - translate$E $** > $@ | |
| 1091 | - | |
| 1092 | -$(OX)\bag$O : bag_.c bag.h | |
| 1093 | - $(TCC) /Fo$@ -c bag_.c | |
| 1094 | - | |
| 1095 | -bag_.c : $(SRCDIR)\bag.c | |
| 1096 | - translate$E $** > $@ | |
| 1097 | - | |
| 1098 | -$(OX)\bisect$O : bisect_.c bisect.h | |
| 1099 | - $(TCC) /Fo$@ -c bisect_.c | |
| 1100 | - | |
| 1101 | -bisect_.c : $(SRCDIR)\bisect.c | |
| 1102 | - translate$E $** > $@ | |
| 1103 | - | |
| 1104 | -$(OX)\blob$O : blob_.c blob.h | |
| 1105 | - $(TCC) /Fo$@ -c blob_.c | |
| 1106 | - | |
| 1107 | -blob_.c : $(SRCDIR)\blob.c | |
| 1108 | - translate$E $** > $@ | |
| 1109 | - | |
| 1110 | -$(OX)\branch$O : branch_.c branch.h | |
| 1111 | - $(TCC) /Fo$@ -c branch_.c | |
| 1112 | - | |
| 1113 | -branch_.c : $(SRCDIR)\branch.c | |
| 1114 | - translate$E $** > $@ | |
| 1115 | - | |
| 1116 | -$(OX)\browse$O : browse_.c browse.h | |
| 1117 | - $(TCC) /Fo$@ -c browse_.c | |
| 1118 | - | |
| 1119 | -browse_.c : $(SRCDIR)\browse.c | |
| 1120 | - translate$E $** > $@ | |
| 1121 | - | |
| 1122 | -$(OX)\builtin$O : builtin_.c builtin.h | |
| 1123 | - $(TCC) /Fo$@ -c builtin_.c | |
| 1124 | - | |
| 1125 | -builtin_.c : $(SRCDIR)\builtin.c | |
| 1126 | - translate$E $** > $@ | |
| 1127 | - | |
| 1128 | -$(OX)\bundle$O : bundle_.c bundle.h | |
| 1129 | - $(TCC) /Fo$@ -c bundle_.c | |
| 1130 | - | |
| 1131 | -bundle_.c : $(SRCDIR)\bundle.c | |
| 1132 | - translate$E $** > $@ | |
| 1133 | - | |
| 1134 | -$(OX)\cache$O : cache_.c cache.h | |
| 1135 | - $(TCC) /Fo$@ -c cache_.c | |
| 1136 | - | |
| 1137 | -cache_.c : $(SRCDIR)\cache.c | |
| 1138 | - translate$E $** > $@ | |
| 1139 | - | |
| 1140 | -$(OX)\capabilities$O : capabilities_.c capabilities.h | |
| 1141 | - $(TCC) /Fo$@ -c capabilities_.c | |
| 1142 | - | |
| 1143 | -capabilities_.c : $(SRCDIR)\capabilities.c | |
| 1144 | - translate$E $** > $@ | |
| 1145 | - | |
| 1146 | -$(OX)\captcha$O : captcha_.c captcha.h | |
| 1147 | - $(TCC) /Fo$@ -c captcha_.c | |
| 1148 | - | |
| 1149 | -captcha_.c : $(SRCDIR)\captcha.c | |
| 1150 | - translate$E $** > $@ | |
| 1151 | - | |
| 1152 | -$(OX)\cgi$O : cgi_.c cgi.h | |
| 1153 | - $(TCC) /Fo$@ -c cgi_.c | |
| 1154 | - | |
| 1155 | -cgi_.c : $(SRCDIR)\cgi.c | |
| 1156 | - translate$E $** > $@ | |
| 1157 | - | |
| 1158 | -$(OX)\checkin$O : checkin_.c checkin.h | |
| 1159 | - $(TCC) /Fo$@ -c checkin_.c | |
| 1160 | - | |
| 1161 | -checkin_.c : $(SRCDIR)\checkin.c | |
| 1162 | - translate$E $** > $@ | |
| 1163 | - | |
| 1164 | -$(OX)\checkout$O : checkout_.c checkout.h | |
| 1165 | - $(TCC) /Fo$@ -c checkout_.c | |
| 1166 | - | |
| 1167 | -checkout_.c : $(SRCDIR)\checkout.c | |
| 1168 | - translate$E $** > $@ | |
| 1169 | - | |
| 1170 | -$(OX)\clearsign$O : clearsign_.c clearsign.h | |
| 1171 | - $(TCC) /Fo$@ -c clearsign_.c | |
| 1172 | - | |
| 1173 | -clearsign_.c : $(SRCDIR)\clearsign.c | |
| 1174 | - translate$E $** > $@ | |
| 1175 | - | |
| 1176 | -$(OX)\clone$O : clone_.c clone.h | |
| 1177 | - $(TCC) /Fo$@ -c clone_.c | |
| 1178 | - | |
| 1179 | -clone_.c : $(SRCDIR)\clone.c | |
| 1180 | - translate$E $** > $@ | |
| 1181 | - | |
| 1182 | -$(OX)\comformat$O : comformat_.c comformat.h | |
| 1183 | - $(TCC) /Fo$@ -c comformat_.c | |
| 1184 | - | |
| 1185 | -comformat_.c : $(SRCDIR)\comformat.c | |
| 1186 | - translate$E $** > $@ | |
| 1187 | - | |
| 1188 | -$(OX)\configure$O : configure_.c configure.h | |
| 1189 | - $(TCC) /Fo$@ -c configure_.c | |
| 1190 | - | |
| 1191 | -configure_.c : $(SRCDIR)\configure.c | |
| 1192 | - translate$E $** > $@ | |
| 1193 | - | |
| 1194 | -$(OX)\content$O : content_.c content.h | |
| 1195 | - $(TCC) /Fo$@ -c content_.c | |
| 1196 | - | |
| 1197 | -content_.c : $(SRCDIR)\content.c | |
| 1198 | - translate$E $** > $@ | |
| 1199 | - | |
| 1200 | -$(OX)\cookies$O : cookies_.c cookies.h | |
| 1201 | - $(TCC) /Fo$@ -c cookies_.c | |
| 1202 | - | |
| 1203 | -cookies_.c : $(SRCDIR)\cookies.c | |
| 1204 | - translate$E $** > $@ | |
| 1205 | - | |
| 1206 | -$(OX)\db$O : db_.c db.h | |
| 1207 | - $(TCC) /Fo$@ -c db_.c | |
| 1208 | - | |
| 1209 | -db_.c : $(SRCDIR)\db.c | |
| 1210 | - translate$E $** > $@ | |
| 1211 | - | |
| 1212 | -$(OX)\delta$O : delta_.c delta.h | |
| 1213 | - $(TCC) /Fo$@ -c delta_.c | |
| 1214 | - | |
| 1215 | -delta_.c : $(SRCDIR)\delta.c | |
| 1216 | - translate$E $** > $@ | |
| 1217 | - | |
| 1218 | -$(OX)\deltacmd$O : deltacmd_.c deltacmd.h | |
| 1219 | - $(TCC) /Fo$@ -c deltacmd_.c | |
| 1220 | - | |
| 1221 | -deltacmd_.c : $(SRCDIR)\deltacmd.c | |
| 1222 | - translate$E $** > $@ | |
| 1223 | - | |
| 1224 | -$(OX)\deltafunc$O : deltafunc_.c deltafunc.h | |
| 1225 | - $(TCC) /Fo$@ -c deltafunc_.c | |
| 1226 | - | |
| 1227 | -deltafunc_.c : $(SRCDIR)\deltafunc.c | |
| 1228 | - translate$E $** > $@ | |
| 1229 | - | |
| 1230 | -$(OX)\descendants$O : descendants_.c descendants.h | |
| 1231 | - $(TCC) /Fo$@ -c descendants_.c | |
| 1232 | - | |
| 1233 | -descendants_.c : $(SRCDIR)\descendants.c | |
| 1234 | - translate$E $** > $@ | |
| 1235 | - | |
| 1236 | -$(OX)\diff$O : diff_.c diff.h | |
| 1237 | - $(TCC) /Fo$@ -c diff_.c | |
| 1238 | - | |
| 1239 | -diff_.c : $(SRCDIR)\diff.c | |
| 1240 | - translate$E $** > $@ | |
| 1241 | - | |
| 1242 | -$(OX)\diffcmd$O : diffcmd_.c diffcmd.h | |
| 1243 | - $(TCC) /Fo$@ -c diffcmd_.c | |
| 1244 | - | |
| 1245 | -diffcmd_.c : $(SRCDIR)\diffcmd.c | |
| 1246 | - translate$E $** > $@ | |
| 1247 | - | |
| 1248 | -$(OX)\dispatch$O : dispatch_.c dispatch.h | |
| 1249 | - $(TCC) /Fo$@ -c dispatch_.c | |
| 1250 | - | |
| 1251 | -dispatch_.c : $(SRCDIR)\dispatch.c | |
| 1252 | - translate$E $** > $@ | |
| 1253 | - | |
| 1254 | -$(OX)\doc$O : doc_.c doc.h | |
| 1255 | - $(TCC) /Fo$@ -c doc_.c | |
| 1256 | - | |
| 1257 | -doc_.c : $(SRCDIR)\doc.c | |
| 1258 | - translate$E $** > $@ | |
| 1259 | - | |
| 1260 | -$(OX)\encode$O : encode_.c encode.h | |
| 1261 | - $(TCC) /Fo$@ -c encode_.c | |
| 1262 | - | |
| 1263 | -encode_.c : $(SRCDIR)\encode.c | |
| 1264 | - translate$E $** > $@ | |
| 1265 | - | |
| 1266 | -$(OX)\etag$O : etag_.c etag.h | |
| 1267 | - $(TCC) /Fo$@ -c etag_.c | |
| 1268 | - | |
| 1269 | -etag_.c : $(SRCDIR)\etag.c | |
| 1270 | - translate$E $** > $@ | |
| 1271 | - | |
| 1272 | -$(OX)\event$O : event_.c event.h | |
| 1273 | - $(TCC) /Fo$@ -c event_.c | |
| 1274 | - | |
| 1275 | -event_.c : $(SRCDIR)\event.c | |
| 1276 | - translate$E $** > $@ | |
| 1277 | - | |
| 1278 | -$(OX)\export$O : export_.c export.h | |
| 1279 | - $(TCC) /Fo$@ -c export_.c | |
| 1280 | - | |
| 1281 | -export_.c : $(SRCDIR)\export.c | |
| 1282 | - translate$E $** > $@ | |
| 1283 | - | |
| 1284 | -$(OX)\extcgi$O : extcgi_.c extcgi.h | |
| 1285 | - $(TCC) /Fo$@ -c extcgi_.c | |
| 1286 | - | |
| 1287 | -extcgi_.c : $(SRCDIR)\extcgi.c | |
| 1288 | - translate$E $** > $@ | |
| 1289 | - | |
| 1290 | -$(OX)\file$O : file_.c file.h | |
| 1291 | - $(TCC) /Fo$@ -c file_.c | |
| 1292 | - | |
| 1293 | -file_.c : $(SRCDIR)\file.c | |
| 1294 | - translate$E $** > $@ | |
| 1295 | - | |
| 1296 | -$(OX)\fileedit$O : fileedit_.c fileedit.h | |
| 1297 | - $(TCC) /Fo$@ -c fileedit_.c | |
| 1298 | - | |
| 1299 | -fileedit_.c : $(SRCDIR)\fileedit.c | |
| 1300 | - translate$E $** > $@ | |
| 1301 | - | |
| 1302 | -$(OX)\finfo$O : finfo_.c finfo.h | |
| 1303 | - $(TCC) /Fo$@ -c finfo_.c | |
| 1304 | - | |
| 1305 | -finfo_.c : $(SRCDIR)\finfo.c | |
| 1306 | - translate$E $** > $@ | |
| 1307 | - | |
| 1308 | -$(OX)\foci$O : foci_.c foci.h | |
| 1309 | - $(TCC) /Fo$@ -c foci_.c | |
| 1310 | - | |
| 1311 | -foci_.c : $(SRCDIR)\foci.c | |
| 1312 | - translate$E $** > $@ | |
| 1313 | - | |
| 1314 | -$(OX)\forum$O : forum_.c forum.h | |
| 1315 | - $(TCC) /Fo$@ -c forum_.c | |
| 1316 | - | |
| 1317 | -forum_.c : $(SRCDIR)\forum.c | |
| 1318 | - translate$E $** > $@ | |
| 1319 | - | |
| 1320 | -$(OX)\fshell$O : fshell_.c fshell.h | |
| 1321 | - $(TCC) /Fo$@ -c fshell_.c | |
| 1322 | - | |
| 1323 | -fshell_.c : $(SRCDIR)\fshell.c | |
| 1324 | - translate$E $** > $@ | |
| 1325 | - | |
| 1326 | -$(OX)\fusefs$O : fusefs_.c fusefs.h | |
| 1327 | - $(TCC) /Fo$@ -c fusefs_.c | |
| 1328 | - | |
| 1329 | -fusefs_.c : $(SRCDIR)\fusefs.c | |
| 1330 | - translate$E $** > $@ | |
| 1331 | - | |
| 1332 | -$(OX)\fuzz$O : fuzz_.c fuzz.h | |
| 1333 | - $(TCC) /Fo$@ -c fuzz_.c | |
| 1334 | - | |
| 1335 | -fuzz_.c : $(SRCDIR)\fuzz.c | |
| 1336 | - translate$E $** > $@ | |
| 1337 | - | |
| 1338 | -$(OX)\glob$O : glob_.c glob.h | |
| 1339 | - $(TCC) /Fo$@ -c glob_.c | |
| 1340 | - | |
| 1341 | -glob_.c : $(SRCDIR)\glob.c | |
| 1342 | - translate$E $** > $@ | |
| 1343 | - | |
| 1344 | -$(OX)\graph$O : graph_.c graph.h | |
| 1345 | - $(TCC) /Fo$@ -c graph_.c | |
| 1346 | - | |
| 1347 | -graph_.c : $(SRCDIR)\graph.c | |
| 1348 | - translate$E $** > $@ | |
| 1349 | - | |
| 1350 | -$(OX)\gzip$O : gzip_.c gzip.h | |
| 1351 | - $(TCC) /Fo$@ -c gzip_.c | |
| 1352 | - | |
| 1353 | -gzip_.c : $(SRCDIR)\gzip.c | |
| 1354 | - translate$E $** > $@ | |
| 1355 | - | |
| 1356 | -$(OX)\hname$O : hname_.c hname.h | |
| 1357 | - $(TCC) /Fo$@ -c hname_.c | |
| 1358 | - | |
| 1359 | -hname_.c : $(SRCDIR)\hname.c | |
| 1360 | - translate$E $** > $@ | |
| 1361 | - | |
| 1362 | -$(OX)\http$O : http_.c http.h | |
| 1363 | - $(TCC) /Fo$@ -c http_.c | |
| 1364 | - | |
| 1365 | -http_.c : $(SRCDIR)\http.c | |
| 1366 | - translate$E $** > $@ | |
| 1367 | - | |
| 1368 | -$(OX)\http_socket$O : http_socket_.c http_socket.h | |
| 1369 | - $(TCC) /Fo$@ -c http_socket_.c | |
| 1370 | - | |
| 1371 | -http_socket_.c : $(SRCDIR)\http_socket.c | |
| 1372 | - translate$E $** > $@ | |
| 1373 | - | |
| 1374 | -$(OX)\http_ssl$O : http_ssl_.c http_ssl.h | |
| 1375 | - $(TCC) /Fo$@ -c http_ssl_.c | |
| 1376 | - | |
| 1377 | -http_ssl_.c : $(SRCDIR)\http_ssl.c | |
| 1378 | - translate$E $** > $@ | |
| 1379 | - | |
| 1380 | -$(OX)\http_transport$O : http_transport_.c http_transport.h | |
| 1381 | - $(TCC) /Fo$@ -c http_transport_.c | |
| 1382 | - | |
| 1383 | -http_transport_.c : $(SRCDIR)\http_transport.c | |
| 1384 | - translate$E $** > $@ | |
| 1385 | - | |
| 1386 | -$(OX)\import$O : import_.c import.h | |
| 1387 | - $(TCC) /Fo$@ -c import_.c | |
| 1388 | - | |
| 1389 | -import_.c : $(SRCDIR)\import.c | |
| 1390 | - translate$E $** > $@ | |
| 1391 | - | |
| 1392 | -$(OX)\info$O : info_.c info.h | |
| 1393 | - $(TCC) /Fo$@ -c info_.c | |
| 1394 | - | |
| 1395 | -info_.c : $(SRCDIR)\info.c | |
| 1396 | - translate$E $** > $@ | |
| 1397 | - | |
| 1398 | -$(OX)\json$O : json_.c json.h | |
| 1399 | - $(TCC) /Fo$@ -c json_.c | |
| 1400 | - | |
| 1401 | -json_.c : $(SRCDIR)\json.c | |
| 1402 | - translate$E $** > $@ | |
| 1403 | - | |
| 1404 | -$(OX)\json_artifact$O : json_artifact_.c json_artifact.h | |
| 1405 | - $(TCC) /Fo$@ -c json_artifact_.c | |
| 1406 | - | |
| 1407 | -json_artifact_.c : $(SRCDIR)\json_artifact.c | |
| 1408 | - translate$E $** > $@ | |
| 1409 | - | |
| 1410 | -$(OX)\json_branch$O : json_branch_.c json_branch.h | |
| 1411 | - $(TCC) /Fo$@ -c json_branch_.c | |
| 1412 | - | |
| 1413 | -json_branch_.c : $(SRCDIR)\json_branch.c | |
| 1414 | - translate$E $** > $@ | |
| 1415 | - | |
| 1416 | -$(OX)\json_config$O : json_config_.c json_config.h | |
| 1417 | - $(TCC) /Fo$@ -c json_config_.c | |
| 1418 | - | |
| 1419 | -json_config_.c : $(SRCDIR)\json_config.c | |
| 1420 | - translate$E $** > $@ | |
| 1421 | - | |
| 1422 | -$(OX)\json_diff$O : json_diff_.c json_diff.h | |
| 1423 | - $(TCC) /Fo$@ -c json_diff_.c | |
| 1424 | - | |
| 1425 | -json_diff_.c : $(SRCDIR)\json_diff.c | |
| 1426 | - translate$E $** > $@ | |
| 1427 | - | |
| 1428 | -$(OX)\json_dir$O : json_dir_.c json_dir.h | |
| 1429 | - $(TCC) /Fo$@ -c json_dir_.c | |
| 1430 | - | |
| 1431 | -json_dir_.c : $(SRCDIR)\json_dir.c | |
| 1432 | - translate$E $** > $@ | |
| 1433 | - | |
| 1434 | -$(OX)\json_finfo$O : json_finfo_.c json_finfo.h | |
| 1435 | - $(TCC) /Fo$@ -c json_finfo_.c | |
| 1436 | - | |
| 1437 | -json_finfo_.c : $(SRCDIR)\json_finfo.c | |
| 1438 | - translate$E $** > $@ | |
| 1439 | - | |
| 1440 | -$(OX)\json_login$O : json_login_.c json_login.h | |
| 1441 | - $(TCC) /Fo$@ -c json_login_.c | |
| 1442 | - | |
| 1443 | -json_login_.c : $(SRCDIR)\json_login.c | |
| 1444 | - translate$E $** > $@ | |
| 1445 | - | |
| 1446 | -$(OX)\json_query$O : json_query_.c json_query.h | |
| 1447 | - $(TCC) /Fo$@ -c json_query_.c | |
| 1448 | - | |
| 1449 | -json_query_.c : $(SRCDIR)\json_query.c | |
| 1450 | - translate$E $** > $@ | |
| 1451 | - | |
| 1452 | -$(OX)\json_report$O : json_report_.c json_report.h | |
| 1453 | - $(TCC) /Fo$@ -c json_report_.c | |
| 1454 | - | |
| 1455 | -json_report_.c : $(SRCDIR)\json_report.c | |
| 1456 | - translate$E $** > $@ | |
| 1457 | - | |
| 1458 | -$(OX)\json_status$O : json_status_.c json_status.h | |
| 1459 | - $(TCC) /Fo$@ -c json_status_.c | |
| 1460 | - | |
| 1461 | -json_status_.c : $(SRCDIR)\json_status.c | |
| 1462 | - translate$E $** > $@ | |
| 1463 | - | |
| 1464 | -$(OX)\json_tag$O : json_tag_.c json_tag.h | |
| 1465 | - $(TCC) /Fo$@ -c json_tag_.c | |
| 1466 | - | |
| 1467 | -json_tag_.c : $(SRCDIR)\json_tag.c | |
| 1468 | - translate$E $** > $@ | |
| 1469 | - | |
| 1470 | -$(OX)\json_timeline$O : json_timeline_.c json_timeline.h | |
| 1471 | - $(TCC) /Fo$@ -c json_timeline_.c | |
| 1472 | - | |
| 1473 | -json_timeline_.c : $(SRCDIR)\json_timeline.c | |
| 1474 | - translate$E $** > $@ | |
| 1475 | - | |
| 1476 | -$(OX)\json_user$O : json_user_.c json_user.h | |
| 1477 | - $(TCC) /Fo$@ -c json_user_.c | |
| 1478 | - | |
| 1479 | -json_user_.c : $(SRCDIR)\json_user.c | |
| 1480 | - translate$E $** > $@ | |
| 1481 | - | |
| 1482 | -$(OX)\json_wiki$O : json_wiki_.c json_wiki.h | |
| 1483 | - $(TCC) /Fo$@ -c json_wiki_.c | |
| 1484 | - | |
| 1485 | -json_wiki_.c : $(SRCDIR)\json_wiki.c | |
| 1486 | - translate$E $** > $@ | |
| 1487 | - | |
| 1488 | -$(OX)\leaf$O : leaf_.c leaf.h | |
| 1489 | - $(TCC) /Fo$@ -c leaf_.c | |
| 1490 | - | |
| 1491 | -leaf_.c : $(SRCDIR)\leaf.c | |
| 1492 | - translate$E $** > $@ | |
| 1493 | - | |
| 1494 | -$(OX)\loadctrl$O : loadctrl_.c loadctrl.h | |
| 1495 | - $(TCC) /Fo$@ -c loadctrl_.c | |
| 1496 | - | |
| 1497 | -loadctrl_.c : $(SRCDIR)\loadctrl.c | |
| 1498 | - translate$E $** > $@ | |
| 1499 | - | |
| 1500 | -$(OX)\login$O : login_.c login.h | |
| 1501 | - $(TCC) /Fo$@ -c login_.c | |
| 1502 | - | |
| 1503 | -login_.c : $(SRCDIR)\login.c | |
| 1504 | - translate$E $** > $@ | |
| 1505 | - | |
| 1506 | -$(OX)\lookslike$O : lookslike_.c lookslike.h | |
| 1507 | - $(TCC) /Fo$@ -c lookslike_.c | |
| 1508 | - | |
| 1509 | -lookslike_.c : $(SRCDIR)\lookslike.c | |
| 1510 | - translate$E $** > $@ | |
| 1511 | - | |
| 1512 | -$(OX)\main$O : main_.c main.h | |
| 1513 | - $(TCC) /Fo$@ -c main_.c | |
| 1514 | - | |
| 1515 | -main_.c : $(SRCDIR)\main.c | |
| 1516 | - translate$E $** > $@ | |
| 1517 | - | |
| 1518 | -$(OX)\manifest$O : manifest_.c manifest.h | |
| 1519 | - $(TCC) /Fo$@ -c manifest_.c | |
| 1520 | - | |
| 1521 | -manifest_.c : $(SRCDIR)\manifest.c | |
| 1522 | - translate$E $** > $@ | |
| 1523 | - | |
| 1524 | -$(OX)\markdown$O : markdown_.c markdown.h | |
| 1525 | - $(TCC) /Fo$@ -c markdown_.c | |
| 1526 | - | |
| 1527 | -markdown_.c : $(SRCDIR)\markdown.c | |
| 1528 | - translate$E $** > $@ | |
| 1529 | - | |
| 1530 | -$(OX)\markdown_html$O : markdown_html_.c markdown_html.h | |
| 1531 | - $(TCC) /Fo$@ -c markdown_html_.c | |
| 1532 | - | |
| 1533 | -markdown_html_.c : $(SRCDIR)\markdown_html.c | |
| 1534 | - translate$E $** > $@ | |
| 1535 | - | |
| 1536 | -$(OX)\md5$O : md5_.c md5.h | |
| 1537 | - $(TCC) /Fo$@ -c md5_.c | |
| 1538 | - | |
| 1539 | -md5_.c : $(SRCDIR)\md5.c | |
| 1540 | - translate$E $** > $@ | |
| 1541 | - | |
| 1542 | -$(OX)\merge$O : merge_.c merge.h | |
| 1543 | - $(TCC) /Fo$@ -c merge_.c | |
| 1544 | - | |
| 1545 | -merge_.c : $(SRCDIR)\merge.c | |
| 1546 | - translate$E $** > $@ | |
| 1547 | - | |
| 1548 | -$(OX)\merge3$O : merge3_.c merge3.h | |
| 1549 | - $(TCC) /Fo$@ -c merge3_.c | |
| 1550 | - | |
| 1551 | -merge3_.c : $(SRCDIR)\merge3.c | |
| 1552 | - translate$E $** > $@ | |
| 1553 | - | |
| 1554 | -$(OX)\moderate$O : moderate_.c moderate.h | |
| 1555 | - $(TCC) /Fo$@ -c moderate_.c | |
| 1556 | - | |
| 1557 | -moderate_.c : $(SRCDIR)\moderate.c | |
| 1558 | - translate$E $** > $@ | |
| 1559 | - | |
| 1560 | -$(OX)\name$O : name_.c name.h | |
| 1561 | - $(TCC) /Fo$@ -c name_.c | |
| 1562 | - | |
| 1563 | -name_.c : $(SRCDIR)\name.c | |
| 1564 | - translate$E $** > $@ | |
| 1565 | - | |
| 1566 | -$(OX)\path$O : path_.c path.h | |
| 1567 | - $(TCC) /Fo$@ -c path_.c | |
| 1568 | - | |
| 1569 | -path_.c : $(SRCDIR)\path.c | |
| 1570 | - translate$E $** > $@ | |
| 1571 | - | |
| 1572 | -$(OX)\piechart$O : piechart_.c piechart.h | |
| 1573 | - $(TCC) /Fo$@ -c piechart_.c | |
| 1574 | - | |
| 1575 | -piechart_.c : $(SRCDIR)\piechart.c | |
| 1576 | - translate$E $** > $@ | |
| 1577 | - | |
| 1578 | -$(OX)\pivot$O : pivot_.c pivot.h | |
| 1579 | - $(TCC) /Fo$@ -c pivot_.c | |
| 1580 | - | |
| 1581 | -pivot_.c : $(SRCDIR)\pivot.c | |
| 1582 | - translate$E $** > $@ | |
| 1583 | - | |
| 1584 | -$(OX)\popen$O : popen_.c popen.h | |
| 1585 | - $(TCC) /Fo$@ -c popen_.c | |
| 1586 | - | |
| 1587 | -popen_.c : $(SRCDIR)\popen.c | |
| 1588 | - translate$E $** > $@ | |
| 1589 | - | |
| 1590 | -$(OX)\pqueue$O : pqueue_.c pqueue.h | |
| 1591 | - $(TCC) /Fo$@ -c pqueue_.c | |
| 1592 | - | |
| 1593 | -pqueue_.c : $(SRCDIR)\pqueue.c | |
| 1594 | - translate$E $** > $@ | |
| 1595 | - | |
| 1596 | -$(OX)\printf$O : printf_.c printf.h | |
| 1597 | - $(TCC) /Fo$@ -c printf_.c | |
| 1598 | - | |
| 1599 | -printf_.c : $(SRCDIR)\printf.c | |
| 1600 | - translate$E $** > $@ | |
| 1601 | - | |
| 1602 | -$(OX)\publish$O : publish_.c publish.h | |
| 1603 | - $(TCC) /Fo$@ -c publish_.c | |
| 1604 | - | |
| 1605 | -publish_.c : $(SRCDIR)\publish.c | |
| 1606 | - translate$E $** > $@ | |
| 1607 | - | |
| 1608 | -$(OX)\purge$O : purge_.c purge.h | |
| 1609 | - $(TCC) /Fo$@ -c purge_.c | |
| 1610 | - | |
| 1611 | -purge_.c : $(SRCDIR)\purge.c | |
| 1612 | - translate$E $** > $@ | |
| 1613 | - | |
| 1614 | -$(OX)\rebuild$O : rebuild_.c rebuild.h | |
| 1615 | - $(TCC) /Fo$@ -c rebuild_.c | |
| 1616 | - | |
| 1617 | -rebuild_.c : $(SRCDIR)\rebuild.c | |
| 1618 | - translate$E $** > $@ | |
| 1619 | - | |
| 1620 | -$(OX)\regexp$O : regexp_.c regexp.h | |
| 1621 | - $(TCC) /Fo$@ -c regexp_.c | |
| 1622 | - | |
| 1623 | -regexp_.c : $(SRCDIR)\regexp.c | |
| 1624 | - translate$E $** > $@ | |
| 1625 | - | |
| 1626 | -$(OX)\repolist$O : repolist_.c repolist.h | |
| 1627 | - $(TCC) /Fo$@ -c repolist_.c | |
| 1628 | - | |
| 1629 | -repolist_.c : $(SRCDIR)\repolist.c | |
| 1630 | - translate$E $** > $@ | |
| 1631 | - | |
| 1632 | -$(OX)\report$O : report_.c report.h | |
| 1633 | - $(TCC) /Fo$@ -c report_.c | |
| 1634 | - | |
| 1635 | -report_.c : $(SRCDIR)\report.c | |
| 1636 | - translate$E $** > $@ | |
| 1637 | - | |
| 1638 | -$(OX)\rss$O : rss_.c rss.h | |
| 1639 | - $(TCC) /Fo$@ -c rss_.c | |
| 1640 | - | |
| 1641 | -rss_.c : $(SRCDIR)\rss.c | |
| 1642 | - translate$E $** > $@ | |
| 1643 | - | |
| 1644 | -$(OX)\schema$O : schema_.c schema.h | |
| 1645 | - $(TCC) /Fo$@ -c schema_.c | |
| 1646 | - | |
| 1647 | -schema_.c : $(SRCDIR)\schema.c | |
| 1648 | - translate$E $** > $@ | |
| 1649 | - | |
| 1650 | -$(OX)\search$O : search_.c search.h | |
| 1651 | - $(TCC) /Fo$@ -c search_.c | |
| 1652 | - | |
| 1653 | -search_.c : $(SRCDIR)\search.c | |
| 1654 | - translate$E $** > $@ | |
| 1655 | - | |
| 1656 | -$(OX)\security_audit$O : security_audit_.c security_audit.h | |
| 1657 | - $(TCC) /Fo$@ -c security_audit_.c | |
| 1658 | - | |
| 1659 | -security_audit_.c : $(SRCDIR)\security_audit.c | |
| 1660 | - translate$E $** > $@ | |
| 1661 | - | |
| 1662 | -$(OX)\setup$O : setup_.c setup.h | |
| 1663 | - $(TCC) /Fo$@ -c setup_.c | |
| 1664 | - | |
| 1665 | -setup_.c : $(SRCDIR)\setup.c | |
| 1666 | - translate$E $** > $@ | |
| 1667 | - | |
| 1668 | -$(OX)\setupuser$O : setupuser_.c setupuser.h | |
| 1669 | - $(TCC) /Fo$@ -c setupuser_.c | |
| 1670 | - | |
| 1671 | -setupuser_.c : $(SRCDIR)\setupuser.c | |
| 1672 | - translate$E $** > $@ | |
| 1673 | - | |
| 1674 | -$(OX)\sha1$O : sha1_.c sha1.h | |
| 1675 | - $(TCC) /Fo$@ -c sha1_.c | |
| 1676 | - | |
| 1677 | -sha1_.c : $(SRCDIR)\sha1.c | |
| 1678 | - translate$E $** > $@ | |
| 1679 | - | |
| 1680 | -$(OX)\sha1hard$O : sha1hard_.c sha1hard.h | |
| 1681 | - $(TCC) /Fo$@ -c sha1hard_.c | |
| 1682 | - | |
| 1683 | -sha1hard_.c : $(SRCDIR)\sha1hard.c | |
| 1684 | - translate$E $** > $@ | |
| 1685 | - | |
| 1686 | -$(OX)\sha3$O : sha3_.c sha3.h | |
| 1687 | - $(TCC) /Fo$@ -c sha3_.c | |
| 1688 | - | |
| 1689 | -sha3_.c : $(SRCDIR)\sha3.c | |
| 1690 | - translate$E $** > $@ | |
| 1691 | - | |
| 1692 | -$(OX)\shun$O : shun_.c shun.h | |
| 1693 | - $(TCC) /Fo$@ -c shun_.c | |
| 1694 | - | |
| 1695 | -shun_.c : $(SRCDIR)\shun.c | |
| 1696 | - translate$E $** > $@ | |
| 1697 | - | |
| 1698 | -$(OX)\sitemap$O : sitemap_.c sitemap.h | |
| 1699 | - $(TCC) /Fo$@ -c sitemap_.c | |
| 1700 | - | |
| 1701 | -sitemap_.c : $(SRCDIR)\sitemap.c | |
| 1702 | - translate$E $** > $@ | |
| 1703 | - | |
| 1704 | -$(OX)\skins$O : skins_.c skins.h | |
| 1705 | - $(TCC) /Fo$@ -c skins_.c | |
| 1706 | - | |
| 1707 | -skins_.c : $(SRCDIR)\skins.c | |
| 1708 | - translate$E $** > $@ | |
| 1709 | - | |
| 1710 | -$(OX)\smtp$O : smtp_.c smtp.h | |
| 1711 | - $(TCC) /Fo$@ -c smtp_.c | |
| 1712 | - | |
| 1713 | -smtp_.c : $(SRCDIR)\smtp.c | |
| 1714 | - translate$E $** > $@ | |
| 1715 | - | |
| 1716 | -$(OX)\sqlcmd$O : sqlcmd_.c sqlcmd.h | |
| 1717 | - $(TCC) /Fo$@ -c sqlcmd_.c | |
| 1718 | - | |
| 1719 | -sqlcmd_.c : $(SRCDIR)\sqlcmd.c | |
| 1720 | - translate$E $** > $@ | |
| 1721 | - | |
| 1722 | -$(OX)\stash$O : stash_.c stash.h | |
| 1723 | - $(TCC) /Fo$@ -c stash_.c | |
| 1724 | - | |
| 1725 | -stash_.c : $(SRCDIR)\stash.c | |
| 1726 | - translate$E $** > $@ | |
| 1727 | - | |
| 1728 | -$(OX)\stat$O : stat_.c stat.h | |
| 1729 | - $(TCC) /Fo$@ -c stat_.c | |
| 1730 | - | |
| 1731 | -stat_.c : $(SRCDIR)\stat.c | |
| 1732 | - translate$E $** > $@ | |
| 1733 | - | |
| 1734 | -$(OX)\statrep$O : statrep_.c statrep.h | |
| 1735 | - $(TCC) /Fo$@ -c statrep_.c | |
| 1736 | - | |
| 1737 | -statrep_.c : $(SRCDIR)\statrep.c | |
| 1738 | - translate$E $** > $@ | |
| 1739 | - | |
| 1740 | -$(OX)\style$O : style_.c style.h | |
| 1741 | - $(TCC) /Fo$@ -c style_.c | |
| 1742 | - | |
| 1743 | -style_.c : $(SRCDIR)\style.c | |
| 1744 | - translate$E $** > $@ | |
| 1745 | - | |
| 1746 | -$(OX)\sync$O : sync_.c sync.h | |
| 1747 | - $(TCC) /Fo$@ -c sync_.c | |
| 1748 | - | |
| 1749 | -sync_.c : $(SRCDIR)\sync.c | |
| 1750 | - translate$E $** > $@ | |
| 1751 | - | |
| 1752 | -$(OX)\tag$O : tag_.c tag.h | |
| 1753 | - $(TCC) /Fo$@ -c tag_.c | |
| 1754 | - | |
| 1755 | -tag_.c : $(SRCDIR)\tag.c | |
| 1756 | - translate$E $** > $@ | |
| 1757 | - | |
| 1758 | -$(OX)\tar$O : tar_.c tar.h | |
| 1759 | - $(TCC) /Fo$@ -c tar_.c | |
| 1760 | - | |
| 1761 | -tar_.c : $(SRCDIR)\tar.c | |
| 1762 | - translate$E $** > $@ | |
| 1763 | - | |
| 1764 | -$(OX)\terminal$O : terminal_.c terminal.h | |
| 1765 | - $(TCC) /Fo$@ -c terminal_.c | |
| 1766 | - | |
| 1767 | -terminal_.c : $(SRCDIR)\terminal.c | |
| 1768 | - translate$E $** > $@ | |
| 1769 | - | |
| 1770 | -$(OX)\th_main$O : th_main_.c th_main.h | |
| 1771 | - $(TCC) /Fo$@ -c th_main_.c | |
| 1772 | - | |
| 1773 | -th_main_.c : $(SRCDIR)\th_main.c | |
| 1774 | - translate$E $** > $@ | |
| 1775 | - | |
| 1776 | -$(OX)\timeline$O : timeline_.c timeline.h | |
| 1777 | - $(TCC) /Fo$@ -c timeline_.c | |
| 1778 | - | |
| 1779 | -timeline_.c : $(SRCDIR)\timeline.c | |
| 1780 | - translate$E $** > $@ | |
| 1781 | - | |
| 1782 | -$(OX)\tkt$O : tkt_.c tkt.h | |
| 1783 | - $(TCC) /Fo$@ -c tkt_.c | |
| 1784 | - | |
| 1785 | -tkt_.c : $(SRCDIR)\tkt.c | |
| 1786 | - translate$E $** > $@ | |
| 1787 | - | |
| 1788 | -$(OX)\tktsetup$O : tktsetup_.c tktsetup.h | |
| 1789 | - $(TCC) /Fo$@ -c tktsetup_.c | |
| 1790 | - | |
| 1791 | -tktsetup_.c : $(SRCDIR)\tktsetup.c | |
| 1792 | - translate$E $** > $@ | |
| 1793 | - | |
| 1794 | -$(OX)\undo$O : undo_.c undo.h | |
| 1795 | - $(TCC) /Fo$@ -c undo_.c | |
| 1796 | - | |
| 1797 | -undo_.c : $(SRCDIR)\undo.c | |
| 1798 | - translate$E $** > $@ | |
| 1799 | - | |
| 1800 | -$(OX)\unicode$O : unicode_.c unicode.h | |
| 1801 | - $(TCC) /Fo$@ -c unicode_.c | |
| 1802 | - | |
| 1803 | -unicode_.c : $(SRCDIR)\unicode.c | |
| 1804 | - translate$E $** > $@ | |
| 1805 | - | |
| 1806 | -$(OX)\unversioned$O : unversioned_.c unversioned.h | |
| 1807 | - $(TCC) /Fo$@ -c unversioned_.c | |
| 1808 | - | |
| 1809 | -unversioned_.c : $(SRCDIR)\unversioned.c | |
| 1810 | - translate$E $** > $@ | |
| 1811 | - | |
| 1812 | -$(OX)\update$O : update_.c update.h | |
| 1813 | - $(TCC) /Fo$@ -c update_.c | |
| 1814 | - | |
| 1815 | -update_.c : $(SRCDIR)\update.c | |
| 1816 | - translate$E $** > $@ | |
| 1817 | - | |
| 1818 | -$(OX)\url$O : url_.c url.h | |
| 1819 | - $(TCC) /Fo$@ -c url_.c | |
| 1820 | - | |
| 1821 | -url_.c : $(SRCDIR)\url.c | |
| 1822 | - translate$E $** > $@ | |
| 1823 | - | |
| 1824 | -$(OX)\user$O : user_.c user.h | |
| 1825 | - $(TCC) /Fo$@ -c user_.c | |
| 1826 | - | |
| 1827 | -user_.c : $(SRCDIR)\user.c | |
| 1828 | - translate$E $** > $@ | |
| 1829 | - | |
| 1830 | -$(OX)\utf8$O : utf8_.c utf8.h | |
| 1831 | - $(TCC) /Fo$@ -c utf8_.c | |
| 1832 | - | |
| 1833 | -utf8_.c : $(SRCDIR)\utf8.c | |
| 1834 | - translate$E $** > $@ | |
| 1835 | - | |
| 1836 | -$(OX)\util$O : util_.c util.h | |
| 1837 | - $(TCC) /Fo$@ -c util_.c | |
| 1838 | - | |
| 1839 | -util_.c : $(SRCDIR)\util.c | |
| 1840 | - translate$E $** > $@ | |
| 1841 | - | |
| 1842 | -$(OX)\verify$O : verify_.c verify.h | |
| 1843 | - $(TCC) /Fo$@ -c verify_.c | |
| 1844 | - | |
| 1845 | -verify_.c : $(SRCDIR)\verify.c | |
| 1846 | - translate$E $** > $@ | |
| 1847 | - | |
| 1848 | -$(OX)\vfile$O : vfile_.c vfile.h | |
| 1849 | - $(TCC) /Fo$@ -c vfile_.c | |
| 1850 | - | |
| 1851 | -vfile_.c : $(SRCDIR)\vfile.c | |
| 1852 | - translate$E $** > $@ | |
| 1853 | - | |
| 1854 | -$(OX)\webmail$O : webmail_.c webmail.h | |
| 1855 | - $(TCC) /Fo$@ -c webmail_.c | |
| 1856 | - | |
| 1857 | -webmail_.c : $(SRCDIR)\webmail.c | |
| 1858 | - translate$E $** > $@ | |
| 1859 | - | |
| 1860 | -$(OX)\wiki$O : wiki_.c wiki.h | |
| 1861 | - $(TCC) /Fo$@ -c wiki_.c | |
| 1862 | - | |
| 1863 | -wiki_.c : $(SRCDIR)\wiki.c | |
| 1864 | - translate$E $** > $@ | |
| 1865 | - | |
| 1866 | -$(OX)\wikiformat$O : wikiformat_.c wikiformat.h | |
| 1867 | - $(TCC) /Fo$@ -c wikiformat_.c | |
| 1868 | - | |
| 1869 | -wikiformat_.c : $(SRCDIR)\wikiformat.c | |
| 1870 | - translate$E $** > $@ | |
| 1871 | - | |
| 1872 | -$(OX)\winfile$O : winfile_.c winfile.h | |
| 1873 | - $(TCC) /Fo$@ -c winfile_.c | |
| 1874 | - | |
| 1875 | -winfile_.c : $(SRCDIR)\winfile.c | |
| 1876 | - translate$E $** > $@ | |
| 1877 | - | |
| 1878 | -$(OX)\winhttp$O : winhttp_.c winhttp.h | |
| 1879 | - $(TCC) /Fo$@ -c winhttp_.c | |
| 1880 | - | |
| 1881 | -winhttp_.c : $(SRCDIR)\winhttp.c | |
| 1882 | - translate$E $** > $@ | |
| 1883 | - | |
| 1884 | -$(OX)\wysiwyg$O : wysiwyg_.c wysiwyg.h | |
| 1885 | - $(TCC) /Fo$@ -c wysiwyg_.c | |
| 1886 | - | |
| 1887 | -wysiwyg_.c : $(SRCDIR)\wysiwyg.c | |
| 1888 | - translate$E $** > $@ | |
| 1889 | - | |
| 1890 | -$(OX)\xfer$O : xfer_.c xfer.h | |
| 1891 | - $(TCC) /Fo$@ -c xfer_.c | |
| 1892 | - | |
| 1893 | -xfer_.c : $(SRCDIR)\xfer.c | |
| 1894 | - translate$E $** > $@ | |
| 1895 | - | |
| 1896 | -$(OX)\xfersetup$O : xfersetup_.c xfersetup.h | |
| 1897 | - $(TCC) /Fo$@ -c xfersetup_.c | |
| 1898 | - | |
| 1899 | -xfersetup_.c : $(SRCDIR)\xfersetup.c | |
| 1900 | - translate$E $** > $@ | |
| 1901 | - | |
| 1902 | -$(OX)\zip$O : zip_.c zip.h | |
| 1903 | - $(TCC) /Fo$@ -c zip_.c | |
| 1904 | - | |
| 1905 | -zip_.c : $(SRCDIR)\zip.c | |
| 1906 | - translate$E $** > $@ | |
| 1907 | - | |
| 1908 | -fossil.res : $B\win\fossil.rc | |
| 1909 | - $(RCC) /fo $@ $** | |
| 1910 | - | |
| 1911 | -headers: makeheaders$E page_index.h builtin_data.h VERSION.h | |
| 1912 | - makeheaders$E add_.c:add.h \ | |
| 1913 | - alerts_.c:alerts.h \ | |
| 1914 | - allrepo_.c:allrepo.h \ | |
| 1915 | - attach_.c:attach.h \ | |
| 1916 | - backlink_.c:backlink.h \ | |
| 1917 | - backoffice_.c:backoffice.h \ | |
| 1918 | - bag_.c:bag.h \ | |
| 1919 | - bisect_.c:bisect.h \ | |
| 1920 | - blob_.c:blob.h \ | |
| 1921 | - branch_.c:branch.h \ | |
| 1922 | - browse_.c:browse.h \ | |
| 1923 | - builtin_.c:builtin.h \ | |
| 1924 | - bundle_.c:bundle.h \ | |
| 1925 | - cache_.c:cache.h \ | |
| 1926 | - capabilities_.c:capabilities.h \ | |
| 1927 | - captcha_.c:captcha.h \ | |
| 1928 | - cgi_.c:cgi.h \ | |
| 1929 | - checkin_.c:checkin.h \ | |
| 1930 | - checkout_.c:checkout.h \ | |
| 1931 | - clearsign_.c:clearsign.h \ | |
| 1932 | - clone_.c:clone.h \ | |
| 1933 | - comformat_.c:comformat.h \ | |
| 1934 | - configure_.c:configure.h \ | |
| 1935 | - content_.c:content.h \ | |
| 1936 | - cookies_.c:cookies.h \ | |
| 1937 | - db_.c:db.h \ | |
| 1938 | - delta_.c:delta.h \ | |
| 1939 | - deltacmd_.c:deltacmd.h \ | |
| 1940 | - deltafunc_.c:deltafunc.h \ | |
| 1941 | - descendants_.c:descendants.h \ | |
| 1942 | - diff_.c:diff.h \ | |
| 1943 | - diffcmd_.c:diffcmd.h \ | |
| 1944 | - dispatch_.c:dispatch.h \ | |
| 1945 | - doc_.c:doc.h \ | |
| 1946 | - encode_.c:encode.h \ | |
| 1947 | - etag_.c:etag.h \ | |
| 1948 | - event_.c:event.h \ | |
| 1949 | - export_.c:export.h \ | |
| 1950 | - extcgi_.c:extcgi.h \ | |
| 1951 | - file_.c:file.h \ | |
| 1952 | - fileedit_.c:fileedit.h \ | |
| 1953 | - finfo_.c:finfo.h \ | |
| 1954 | - foci_.c:foci.h \ | |
| 1955 | - forum_.c:forum.h \ | |
| 1956 | - fshell_.c:fshell.h \ | |
| 1957 | - fusefs_.c:fusefs.h \ | |
| 1958 | - fuzz_.c:fuzz.h \ | |
| 1959 | - glob_.c:glob.h \ | |
| 1960 | - graph_.c:graph.h \ | |
| 1961 | - gzip_.c:gzip.h \ | |
| 1962 | - hname_.c:hname.h \ | |
| 1963 | - http_.c:http.h \ | |
| 1964 | - http_socket_.c:http_socket.h \ | |
| 1965 | - http_ssl_.c:http_ssl.h \ | |
| 1966 | - http_transport_.c:http_transport.h \ | |
| 1967 | - import_.c:import.h \ | |
| 1968 | - info_.c:info.h \ | |
| 1969 | - json_.c:json.h \ | |
| 1970 | - json_artifact_.c:json_artifact.h \ | |
| 1971 | - json_branch_.c:json_branch.h \ | |
| 1972 | - json_config_.c:json_config.h \ | |
| 1973 | - json_diff_.c:json_diff.h \ | |
| 1974 | - json_dir_.c:json_dir.h \ | |
| 1975 | - json_finfo_.c:json_finfo.h \ | |
| 1976 | - json_login_.c:json_login.h \ | |
| 1977 | - json_query_.c:json_query.h \ | |
| 1978 | - json_report_.c:json_report.h \ | |
| 1979 | - json_status_.c:json_status.h \ | |
| 1980 | - json_tag_.c:json_tag.h \ | |
| 1981 | - json_timeline_.c:json_timeline.h \ | |
| 1982 | - json_user_.c:json_user.h \ | |
| 1983 | - json_wiki_.c:json_wiki.h \ | |
| 1984 | - leaf_.c:leaf.h \ | |
| 1985 | - loadctrl_.c:loadctrl.h \ | |
| 1986 | - login_.c:login.h \ | |
| 1987 | - lookslike_.c:lookslike.h \ | |
| 1988 | - main_.c:main.h \ | |
| 1989 | - manifest_.c:manifest.h \ | |
| 1990 | - markdown_.c:markdown.h \ | |
| 1991 | - markdown_html_.c:markdown_html.h \ | |
| 1992 | - md5_.c:md5.h \ | |
| 1993 | - merge_.c:merge.h \ | |
| 1994 | - merge3_.c:merge3.h \ | |
| 1995 | - moderate_.c:moderate.h \ | |
| 1996 | - name_.c:name.h \ | |
| 1997 | - path_.c:path.h \ | |
| 1998 | - piechart_.c:piechart.h \ | |
| 1999 | - pivot_.c:pivot.h \ | |
| 2000 | - popen_.c:popen.h \ | |
| 2001 | - pqueue_.c:pqueue.h \ | |
| 2002 | - printf_.c:printf.h \ | |
| 2003 | - publish_.c:publish.h \ | |
| 2004 | - purge_.c:purge.h \ | |
| 2005 | - rebuild_.c:rebuild.h \ | |
| 2006 | - regexp_.c:regexp.h \ | |
| 2007 | - repolist_.c:repolist.h \ | |
| 2008 | - report_.c:report.h \ | |
| 2009 | - rss_.c:rss.h \ | |
| 2010 | - schema_.c:schema.h \ | |
| 2011 | - search_.c:search.h \ | |
| 2012 | - security_audit_.c:security_audit.h \ | |
| 2013 | - setup_.c:setup.h \ | |
| 2014 | - setupuser_.c:setupuser.h \ | |
| 2015 | - sha1_.c:sha1.h \ | |
| 2016 | - sha1hard_.c:sha1hard.h \ | |
| 2017 | - sha3_.c:sha3.h \ | |
| 2018 | - shun_.c:shun.h \ | |
| 2019 | - sitemap_.c:sitemap.h \ | |
| 2020 | - skins_.c:skins.h \ | |
| 2021 | - smtp_.c:smtp.h \ | |
| 2022 | - sqlcmd_.c:sqlcmd.h \ | |
| 2023 | - stash_.c:stash.h \ | |
| 2024 | - stat_.c:stat.h \ | |
| 2025 | - statrep_.c:statrep.h \ | |
| 2026 | - style_.c:style.h \ | |
| 2027 | - sync_.c:sync.h \ | |
| 2028 | - tag_.c:tag.h \ | |
| 2029 | - tar_.c:tar.h \ | |
| 2030 | - terminal_.c:terminal.h \ | |
| 2031 | - th_main_.c:th_main.h \ | |
| 2032 | - timeline_.c:timeline.h \ | |
| 2033 | - tkt_.c:tkt.h \ | |
| 2034 | - tktsetup_.c:tktsetup.h \ | |
| 2035 | - undo_.c:undo.h \ | |
| 2036 | - unicode_.c:unicode.h \ | |
| 2037 | - unversioned_.c:unversioned.h \ | |
| 2038 | - update_.c:update.h \ | |
| 2039 | - url_.c:url.h \ | |
| 2040 | - user_.c:user.h \ | |
| 2041 | - utf8_.c:utf8.h \ | |
| 2042 | - util_.c:util.h \ | |
| 2043 | - verify_.c:verify.h \ | |
| 2044 | - vfile_.c:vfile.h \ | |
| 2045 | - webmail_.c:webmail.h \ | |
| 2046 | - wiki_.c:wiki.h \ | |
| 2047 | - wikiformat_.c:wikiformat.h \ | |
| 2048 | - winfile_.c:winfile.h \ | |
| 2049 | - winhttp_.c:winhttp.h \ | |
| 2050 | - wysiwyg_.c:wysiwyg.h \ | |
| 2051 | - xfer_.c:xfer.h \ | |
| 2052 | - xfersetup_.c:xfersetup.h \ | |
| 2053 | - zip_.c:zip.h \ | |
| 2054 | - $(SRCDIR)\sqlite3.h \ | |
| 2055 | - $(SRCDIR)\th.h \ | |
| 2056 | - VERSION.h \ | |
| 2057 | - $(SRCDIR)\cson_amalgamation.h | |
| 2058 | - @copy /Y nul: headers | |
| 1015 | +"$(OX)\shell$O" : "$(SQLITE3_SHELL_SRC)" "$(B)\win\Makefile.msc" | |
| 1016 | + $(TCC) /Fo$@ /Fd$(@D)\ $(SHELL_OPTIONS) $(SQLITE_OPTIONS) $(SHELL_CFLAGS) $(SEE_FLAGS) -c "$(SQLITE3_SHELL_SRC)" | |
| 1017 | + | |
| 1018 | +"$(OX)\sqlite3$O" : "$(SQLITE3_SRC)" "$(B)\win\Makefile.msc" | |
| 1019 | + $(TCC) /Fo$@ /Fd$(@D)\ -c $(SQLITE_OPTIONS) $(SQLITE_CFLAGS) $(SEE_FLAGS) "$(SQLITE3_SRC)" | |
| 1020 | + | |
| 1021 | +"$(OX)\th$O" : "$(SRCDIR)\th.c" | |
| 1022 | + $(TCC) /Fo$@ /Fd$(@D)\ -c $** | |
| 1023 | + | |
| 1024 | +"$(OX)\th_lang$O" : "$(SRCDIR)\th_lang.c" | |
| 1025 | + $(TCC) /Fo$@ /Fd$(@D)\ -c $** | |
| 1026 | + | |
| 1027 | +"$(OX)\th_tcl$O" : "$(SRCDIR)\th_tcl.c" | |
| 1028 | + $(TCC) /Fo$@ /Fd$(@D)\ -c $** | |
| 1029 | + | |
| 1030 | +"$(OX)\miniz$O" : "$(SRCDIR)\miniz.c" | |
| 1031 | + $(TCC) /Fo$@ /Fd$(@D)\ -c $(MINIZ_OPTIONS) $** | |
| 1032 | + | |
| 1033 | +"$(OX)\VERSION.h" : "$(OBJDIR)\mkversion$E" "$(B)\manifest.uuid" "$(B)\manifest" "$(B)\VERSION" | |
| 1034 | + $** > $@ | |
| 1035 | + | |
| 1036 | +"$(OX)\cson_amalgamation$O" : "$(SRCDIR)\cson_amalgamation.c" | |
| 1037 | + $(TCC) /Fo$@ /Fd$(@D)\ -c $** | |
| 1038 | + | |
| 1039 | +"$(OX)\page_index.h": "$(OBJDIR)\mkindex$E" $(SRC) | |
| 1040 | + $** > $@ | |
| 1041 | + | |
| 1042 | +"$(OX)\builtin_data.h": "$(OBJDIR)\mkbuiltin$E" "$(OX)\builtin_data.reslist" | |
| 1043 | + "$(OBJDIR)\mkbuiltin$E" --prefix "$(SRCDIR)/" --reslist "$(OX)\builtin_data.reslist" > $@ | |
| 1044 | + | |
| 1045 | +cleanx: | |
| 1046 | + -del "$(OX)\*.obj" 2>NUL | |
| 1047 | + -del "$(OBJDIR)\*.obj" 2>NUL | |
| 1048 | + -del "$(OX)\*_.c" 2>NUL | |
| 1049 | + -del "$(OX)\*.h" 2>NUL | |
| 1050 | + -del "$(OX)\*.ilk" 2>NUL | |
| 1051 | + -del "$(OX)\*.map" 2>NUL | |
| 1052 | + -del "$(OX)\*.res" 2>NUL | |
| 1053 | + -del "$(OX)\*.reslist" 2>NUL | |
| 1054 | + -del "$(OX)\headers" 2>NUL | |
| 1055 | + -del "$(OX)\linkopts" 2>NUL | |
| 1056 | + -del "$(OX)\vc*.pdb" 2>NUL | |
| 1057 | + | |
| 1058 | +clean: cleanx | |
| 1059 | + -del "$(APPNAME)" 2>NUL | |
| 1060 | + -del "$(PDBNAME)" 2>NUL | |
| 1061 | + -del "$(OBJDIR)\translate$E" 2>NUL | |
| 1062 | + -del "$(OBJDIR)\translate$P" 2>NUL | |
| 1063 | + -del "$(OBJDIR)\mkindex$E" 2>NUL | |
| 1064 | + -del "$(OBJDIR)\mkindex$P" 2>NUL | |
| 1065 | + -del "$(OBJDIR)\makeheaders$E" 2>NUL | |
| 1066 | + -del "$(OBJDIR)\makeheaders$P" 2>NUL | |
| 1067 | + -del "$(OBJDIR)\mkversion$E" 2>NUL | |
| 1068 | + -del "$(OBJDIR)\mkversion$P" 2>NUL | |
| 1069 | + -del "$(OBJDIR)\mkcss$E" 2>NUL | |
| 1070 | + -del "$(OBJDIR)\mkcss$P" 2>NUL | |
| 1071 | + -del "$(OBJDIR)\codecheck1$E" 2>NUL | |
| 1072 | + -del "$(OBJDIR)\codecheck1$P" 2>NUL | |
| 1073 | + -del "$(OBJDIR)\mkbuiltin$E" 2>NUL | |
| 1074 | + -del "$(OBJDIR)\mkbuiltin$P" 2>NUL | |
| 1075 | + | |
| 1076 | +realclean: clean | |
| 1077 | + | |
| 1078 | +"$(OBJDIR)\json$O" : "$(SRCDIR)\json_detail.h" | |
| 1079 | +"$(OBJDIR)\json_artifact$O" : "$(SRCDIR)\json_detail.h" | |
| 1080 | +"$(OBJDIR)\json_branch$O" : "$(SRCDIR)\json_detail.h" | |
| 1081 | +"$(OBJDIR)\json_config$O" : "$(SRCDIR)\json_detail.h" | |
| 1082 | +"$(OBJDIR)\json_diff$O" : "$(SRCDIR)\json_detail.h" | |
| 1083 | +"$(OBJDIR)\json_dir$O" : "$(SRCDIR)\json_detail.h" | |
| 1084 | +"$(OBJDIR)\json_finfo$O" : "$(SRCDIR)\json_detail.h" | |
| 1085 | +"$(OBJDIR)\json_login$O" : "$(SRCDIR)\json_detail.h" | |
| 1086 | +"$(OBJDIR)\json_query$O" : "$(SRCDIR)\json_detail.h" | |
| 1087 | +"$(OBJDIR)\json_report$O" : "$(SRCDIR)\json_detail.h" | |
| 1088 | +"$(OBJDIR)\json_status$O" : "$(SRCDIR)\json_detail.h" | |
| 1089 | +"$(OBJDIR)\json_tag$O" : "$(SRCDIR)\json_detail.h" | |
| 1090 | +"$(OBJDIR)\json_timeline$O" : "$(SRCDIR)\json_detail.h" | |
| 1091 | +"$(OBJDIR)\json_user$O" : "$(SRCDIR)\json_detail.h" | |
| 1092 | +"$(OBJDIR)\json_wiki$O" : "$(SRCDIR)\json_detail.h" | |
| 1093 | + | |
| 1094 | +"$(OX)\builtin_data.reslist": $(EXTRA_FILES) "$(B)\win\Makefile.msc" | |
| 1095 | + echo "$(SRCDIR)\../skins/aht/details.txt" > $@ | |
| 1096 | + echo "$(SRCDIR)\../skins/ardoise/css.txt" >> $@ | |
| 1097 | + echo "$(SRCDIR)\../skins/ardoise/details.txt" >> $@ | |
| 1098 | + echo "$(SRCDIR)\../skins/ardoise/footer.txt" >> $@ | |
| 1099 | + echo "$(SRCDIR)\../skins/ardoise/header.txt" >> $@ | |
| 1100 | + echo "$(SRCDIR)\../skins/black_and_white/css.txt" >> $@ | |
| 1101 | + echo "$(SRCDIR)\../skins/black_and_white/details.txt" >> $@ | |
| 1102 | + echo "$(SRCDIR)\../skins/black_and_white/footer.txt" >> $@ | |
| 1103 | + echo "$(SRCDIR)\../skins/black_and_white/header.txt" >> $@ | |
| 1104 | + echo "$(SRCDIR)\../skins/blitz/css.txt" >> $@ | |
| 1105 | + echo "$(SRCDIR)\../skins/blitz/details.txt" >> $@ | |
| 1106 | + echo "$(SRCDIR)\../skins/blitz/footer.txt" >> $@ | |
| 1107 | + echo "$(SRCDIR)\../skins/blitz/header.txt" >> $@ | |
| 1108 | + echo "$(SRCDIR)\../skins/blitz/ticket.txt" >> $@ | |
| 1109 | + echo "$(SRCDIR)\../skins/blitz_no_logo/css.txt" >> $@ | |
| 1110 | + echo "$(SRCDIR)\../skins/blitz_no_logo/details.txt" >> $@ | |
| 1111 | + echo "$(SRCDIR)\../skins/blitz_no_logo/footer.txt" >> $@ | |
| 1112 | + echo "$(SRCDIR)\../skins/blitz_no_logo/header.txt" >> $@ | |
| 1113 | + echo "$(SRCDIR)\../skins/blitz_no_logo/ticket.txt" >> $@ | |
| 1114 | + echo "$(SRCDIR)\../skins/bootstrap/css.txt" >> $@ | |
| 1115 | + echo "$(SRCDIR)\../skins/bootstrap/details.txt" >> $@ | |
| 1116 | + echo "$(SRCDIR)\../skins/bootstrap/footer.txt" >> $@ | |
| 1117 | + echo "$(SRCDIR)\../skins/bootstrap/header.txt" >> $@ | |
| 1118 | + echo "$(SRCDIR)\../skins/default/css.txt" >> $@ | |
| 1119 | + echo "$(SRCDIR)\../skins/default/details.txt" >> $@ | |
| 1120 | + echo "$(SRCDIR)\../skins/default/footer.txt" >> $@ | |
| 1121 | + echo "$(SRCDIR)\../skins/default/header.txt" >> $@ | |
| 1122 | + echo "$(SRCDIR)\../skins/default/js.txt" >> $@ | |
| 1123 | + echo "$(SRCDIR)\../skins/eagle/css.txt" >> $@ | |
| 1124 | + echo "$(SRCDIR)\../skins/eagle/details.txt" >> $@ | |
| 1125 | + echo "$(SRCDIR)\../skins/eagle/footer.txt" >> $@ | |
| 1126 | + echo "$(SRCDIR)\../skins/eagle/header.txt" >> $@ | |
| 1127 | + echo "$(SRCDIR)\../skins/enhanced1/css.txt" >> $@ | |
| 1128 | + echo "$(SRCDIR)\../skins/enhanced1/details.txt" >> $@ | |
| 1129 | + echo "$(SRCDIR)\../skins/enhanced1/footer.txt" >> $@ | |
| 1130 | + echo "$(SRCDIR)\../skins/enhanced1/header.txt" >> $@ | |
| 1131 | + echo "$(SRCDIR)\../skins/khaki/css.txt" >> $@ | |
| 1132 | + echo "$(SRCDIR)\../skins/khaki/details.txt" >> $@ | |
| 1133 | + echo "$(SRCDIR)\../skins/khaki/footer.txt" >> $@ | |
| 1134 | + echo "$(SRCDIR)\../skins/khaki/header.txt" >> $@ | |
| 1135 | + echo "$(SRCDIR)\../skins/original/css.txt" >> $@ | |
| 1136 | + echo "$(SRCDIR)\../skins/original/details.txt" >> $@ | |
| 1137 | + echo "$(SRCDIR)\../skins/original/footer.txt" >> $@ | |
| 1138 | + echo "$(SRCDIR)\../skins/original/header.txt" >> $@ | |
| 1139 | + echo "$(SRCDIR)\../skins/plain_gray/css.txt" >> $@ | |
| 1140 | + echo "$(SRCDIR)\../skins/plain_gray/details.txt" >> $@ | |
| 1141 | + echo "$(SRCDIR)\../skins/plain_gray/footer.txt" >> $@ | |
| 1142 | + echo "$(SRCDIR)\../skins/plain_gray/header.txt" >> $@ | |
| 1143 | + echo "$(SRCDIR)\../skins/rounded1/css.txt" >> $@ | |
| 1144 | + echo "$(SRCDIR)\../skins/rounded1/details.txt" >> $@ | |
| 1145 | + echo "$(SRCDIR)\../skins/rounded1/footer.txt" >> $@ | |
| 1146 | + echo "$(SRCDIR)\../skins/rounded1/header.txt" >> $@ | |
| 1147 | + echo "$(SRCDIR)\../skins/xekri/css.txt" >> $@ | |
| 1148 | + echo "$(SRCDIR)\../skins/xekri/details.txt" >> $@ | |
| 1149 | + echo "$(SRCDIR)\../skins/xekri/footer.txt" >> $@ | |
| 1150 | + echo "$(SRCDIR)\../skins/xekri/header.txt" >> $@ | |
| 1151 | + echo "$(SRCDIR)\accordion.js" >> $@ | |
| 1152 | + echo "$(SRCDIR)\ci_edit.js" >> $@ | |
| 1153 | + echo "$(SRCDIR)\copybtn.js" >> $@ | |
| 1154 | + echo "$(SRCDIR)\default.css" >> $@ | |
| 1155 | + echo "$(SRCDIR)\diff.tcl" >> $@ | |
| 1156 | + echo "$(SRCDIR)\forum.js" >> $@ | |
| 1157 | + echo "$(SRCDIR)\fossil.bootstrap.js" >> $@ | |
| 1158 | + echo "$(SRCDIR)\fossil.confirmer.js" >> $@ | |
| 1159 | + echo "$(SRCDIR)\fossil.dom.js" >> $@ | |
| 1160 | + echo "$(SRCDIR)\fossil.fetch.js" >> $@ | |
| 1161 | + echo "$(SRCDIR)\fossil.page.fileedit.js" >> $@ | |
| 1162 | + echo "$(SRCDIR)\fossil.storage.js" >> $@ | |
| 1163 | + echo "$(SRCDIR)\fossil.tabs.js" >> $@ | |
| 1164 | + echo "$(SRCDIR)\graph.js" >> $@ | |
| 1165 | + echo "$(SRCDIR)\href.js" >> $@ | |
| 1166 | + echo "$(SRCDIR)\login.js" >> $@ | |
| 1167 | + echo "$(SRCDIR)\markdown.md" >> $@ | |
| 1168 | + echo "$(SRCDIR)\menu.js" >> $@ | |
| 1169 | + echo "$(SRCDIR)\sbsdiff.js" >> $@ | |
| 1170 | + echo "$(SRCDIR)\scroll.js" >> $@ | |
| 1171 | + echo "$(SRCDIR)\skin.js" >> $@ | |
| 1172 | + echo "$(SRCDIR)\sorttable.js" >> $@ | |
| 1173 | + echo "$(SRCDIR)\sounds/0.wav" >> $@ | |
| 1174 | + echo "$(SRCDIR)\sounds/1.wav" >> $@ | |
| 1175 | + echo "$(SRCDIR)\sounds/2.wav" >> $@ | |
| 1176 | + echo "$(SRCDIR)\sounds/3.wav" >> $@ | |
| 1177 | + echo "$(SRCDIR)\sounds/4.wav" >> $@ | |
| 1178 | + echo "$(SRCDIR)\sounds/5.wav" >> $@ | |
| 1179 | + echo "$(SRCDIR)\sounds/6.wav" >> $@ | |
| 1180 | + echo "$(SRCDIR)\sounds/7.wav" >> $@ | |
| 1181 | + echo "$(SRCDIR)\sounds/8.wav" >> $@ | |
| 1182 | + echo "$(SRCDIR)\sounds/9.wav" >> $@ | |
| 1183 | + echo "$(SRCDIR)\sounds/a.wav" >> $@ | |
| 1184 | + echo "$(SRCDIR)\sounds/b.wav" >> $@ | |
| 1185 | + echo "$(SRCDIR)\sounds/c.wav" >> $@ | |
| 1186 | + echo "$(SRCDIR)\sounds/d.wav" >> $@ | |
| 1187 | + echo "$(SRCDIR)\sounds/e.wav" >> $@ | |
| 1188 | + echo "$(SRCDIR)\sounds/f.wav" >> $@ | |
| 1189 | + echo "$(SRCDIR)\style.admin_log.css" >> $@ | |
| 1190 | + echo "$(SRCDIR)\style.fileedit.css" >> $@ | |
| 1191 | + echo "$(SRCDIR)\tree.js" >> $@ | |
| 1192 | + echo "$(SRCDIR)\useredit.js" >> $@ | |
| 1193 | + echo "$(SRCDIR)\wiki.wiki" >> $@ | |
| 1194 | + | |
| 1195 | +"$(OX)\add$O" : "$(OX)\add_.c" "$(OX)\add.h" | |
| 1196 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\add_.c" | |
| 1197 | + | |
| 1198 | +"$(OX)\add_.c" : "$(SRCDIR)\add.c" | |
| 1199 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1200 | + | |
| 1201 | +"$(OX)\ajax$O" : "$(OX)\ajax_.c" "$(OX)\ajax.h" | |
| 1202 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\ajax_.c" | |
| 1203 | + | |
| 1204 | +"$(OX)\ajax_.c" : "$(SRCDIR)\ajax.c" | |
| 1205 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1206 | + | |
| 1207 | +"$(OX)\alerts$O" : "$(OX)\alerts_.c" "$(OX)\alerts.h" | |
| 1208 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\alerts_.c" | |
| 1209 | + | |
| 1210 | +"$(OX)\alerts_.c" : "$(SRCDIR)\alerts.c" | |
| 1211 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1212 | + | |
| 1213 | +"$(OX)\allrepo$O" : "$(OX)\allrepo_.c" "$(OX)\allrepo.h" | |
| 1214 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\allrepo_.c" | |
| 1215 | + | |
| 1216 | +"$(OX)\allrepo_.c" : "$(SRCDIR)\allrepo.c" | |
| 1217 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1218 | + | |
| 1219 | +"$(OX)\attach$O" : "$(OX)\attach_.c" "$(OX)\attach.h" | |
| 1220 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\attach_.c" | |
| 1221 | + | |
| 1222 | +"$(OX)\attach_.c" : "$(SRCDIR)\attach.c" | |
| 1223 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1224 | + | |
| 1225 | +"$(OX)\backlink$O" : "$(OX)\backlink_.c" "$(OX)\backlink.h" | |
| 1226 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\backlink_.c" | |
| 1227 | + | |
| 1228 | +"$(OX)\backlink_.c" : "$(SRCDIR)\backlink.c" | |
| 1229 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1230 | + | |
| 1231 | +"$(OX)\backoffice$O" : "$(OX)\backoffice_.c" "$(OX)\backoffice.h" | |
| 1232 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\backoffice_.c" | |
| 1233 | + | |
| 1234 | +"$(OX)\backoffice_.c" : "$(SRCDIR)\backoffice.c" | |
| 1235 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1236 | + | |
| 1237 | +"$(OX)\bag$O" : "$(OX)\bag_.c" "$(OX)\bag.h" | |
| 1238 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\bag_.c" | |
| 1239 | + | |
| 1240 | +"$(OX)\bag_.c" : "$(SRCDIR)\bag.c" | |
| 1241 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1242 | + | |
| 1243 | +"$(OX)\bisect$O" : "$(OX)\bisect_.c" "$(OX)\bisect.h" | |
| 1244 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\bisect_.c" | |
| 1245 | + | |
| 1246 | +"$(OX)\bisect_.c" : "$(SRCDIR)\bisect.c" | |
| 1247 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1248 | + | |
| 1249 | +"$(OX)\blob$O" : "$(OX)\blob_.c" "$(OX)\blob.h" | |
| 1250 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\blob_.c" | |
| 1251 | + | |
| 1252 | +"$(OX)\blob_.c" : "$(SRCDIR)\blob.c" | |
| 1253 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1254 | + | |
| 1255 | +"$(OX)\branch$O" : "$(OX)\branch_.c" "$(OX)\branch.h" | |
| 1256 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\branch_.c" | |
| 1257 | + | |
| 1258 | +"$(OX)\branch_.c" : "$(SRCDIR)\branch.c" | |
| 1259 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1260 | + | |
| 1261 | +"$(OX)\browse$O" : "$(OX)\browse_.c" "$(OX)\browse.h" | |
| 1262 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\browse_.c" | |
| 1263 | + | |
| 1264 | +"$(OX)\browse_.c" : "$(SRCDIR)\browse.c" | |
| 1265 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1266 | + | |
| 1267 | +"$(OX)\builtin$O" : "$(OX)\builtin_.c" "$(OX)\builtin.h" | |
| 1268 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\builtin_.c" | |
| 1269 | + | |
| 1270 | +"$(OX)\builtin_.c" : "$(SRCDIR)\builtin.c" | |
| 1271 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1272 | + | |
| 1273 | +"$(OX)\bundle$O" : "$(OX)\bundle_.c" "$(OX)\bundle.h" | |
| 1274 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\bundle_.c" | |
| 1275 | + | |
| 1276 | +"$(OX)\bundle_.c" : "$(SRCDIR)\bundle.c" | |
| 1277 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1278 | + | |
| 1279 | +"$(OX)\cache$O" : "$(OX)\cache_.c" "$(OX)\cache.h" | |
| 1280 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\cache_.c" | |
| 1281 | + | |
| 1282 | +"$(OX)\cache_.c" : "$(SRCDIR)\cache.c" | |
| 1283 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1284 | + | |
| 1285 | +"$(OX)\capabilities$O" : "$(OX)\capabilities_.c" "$(OX)\capabilities.h" | |
| 1286 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\capabilities_.c" | |
| 1287 | + | |
| 1288 | +"$(OX)\capabilities_.c" : "$(SRCDIR)\capabilities.c" | |
| 1289 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1290 | + | |
| 1291 | +"$(OX)\captcha$O" : "$(OX)\captcha_.c" "$(OX)\captcha.h" | |
| 1292 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\captcha_.c" | |
| 1293 | + | |
| 1294 | +"$(OX)\captcha_.c" : "$(SRCDIR)\captcha.c" | |
| 1295 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1296 | + | |
| 1297 | +"$(OX)\cgi$O" : "$(OX)\cgi_.c" "$(OX)\cgi.h" | |
| 1298 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\cgi_.c" | |
| 1299 | + | |
| 1300 | +"$(OX)\cgi_.c" : "$(SRCDIR)\cgi.c" | |
| 1301 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1302 | + | |
| 1303 | +"$(OX)\checkin$O" : "$(OX)\checkin_.c" "$(OX)\checkin.h" | |
| 1304 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\checkin_.c" | |
| 1305 | + | |
| 1306 | +"$(OX)\checkin_.c" : "$(SRCDIR)\checkin.c" | |
| 1307 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1308 | + | |
| 1309 | +"$(OX)\checkout$O" : "$(OX)\checkout_.c" "$(OX)\checkout.h" | |
| 1310 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\checkout_.c" | |
| 1311 | + | |
| 1312 | +"$(OX)\checkout_.c" : "$(SRCDIR)\checkout.c" | |
| 1313 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1314 | + | |
| 1315 | +"$(OX)\clearsign$O" : "$(OX)\clearsign_.c" "$(OX)\clearsign.h" | |
| 1316 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\clearsign_.c" | |
| 1317 | + | |
| 1318 | +"$(OX)\clearsign_.c" : "$(SRCDIR)\clearsign.c" | |
| 1319 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1320 | + | |
| 1321 | +"$(OX)\clone$O" : "$(OX)\clone_.c" "$(OX)\clone.h" | |
| 1322 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\clone_.c" | |
| 1323 | + | |
| 1324 | +"$(OX)\clone_.c" : "$(SRCDIR)\clone.c" | |
| 1325 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1326 | + | |
| 1327 | +"$(OX)\comformat$O" : "$(OX)\comformat_.c" "$(OX)\comformat.h" | |
| 1328 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\comformat_.c" | |
| 1329 | + | |
| 1330 | +"$(OX)\comformat_.c" : "$(SRCDIR)\comformat.c" | |
| 1331 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1332 | + | |
| 1333 | +"$(OX)\configure$O" : "$(OX)\configure_.c" "$(OX)\configure.h" | |
| 1334 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\configure_.c" | |
| 1335 | + | |
| 1336 | +"$(OX)\configure_.c" : "$(SRCDIR)\configure.c" | |
| 1337 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1338 | + | |
| 1339 | +"$(OX)\content$O" : "$(OX)\content_.c" "$(OX)\content.h" | |
| 1340 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\content_.c" | |
| 1341 | + | |
| 1342 | +"$(OX)\content_.c" : "$(SRCDIR)\content.c" | |
| 1343 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1344 | + | |
| 1345 | +"$(OX)\cookies$O" : "$(OX)\cookies_.c" "$(OX)\cookies.h" | |
| 1346 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\cookies_.c" | |
| 1347 | + | |
| 1348 | +"$(OX)\cookies_.c" : "$(SRCDIR)\cookies.c" | |
| 1349 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1350 | + | |
| 1351 | +"$(OX)\db$O" : "$(OX)\db_.c" "$(OX)\db.h" | |
| 1352 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\db_.c" | |
| 1353 | + | |
| 1354 | +"$(OX)\db_.c" : "$(SRCDIR)\db.c" | |
| 1355 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1356 | + | |
| 1357 | +"$(OX)\delta$O" : "$(OX)\delta_.c" "$(OX)\delta.h" | |
| 1358 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\delta_.c" | |
| 1359 | + | |
| 1360 | +"$(OX)\delta_.c" : "$(SRCDIR)\delta.c" | |
| 1361 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1362 | + | |
| 1363 | +"$(OX)\deltacmd$O" : "$(OX)\deltacmd_.c" "$(OX)\deltacmd.h" | |
| 1364 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\deltacmd_.c" | |
| 1365 | + | |
| 1366 | +"$(OX)\deltacmd_.c" : "$(SRCDIR)\deltacmd.c" | |
| 1367 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1368 | + | |
| 1369 | +"$(OX)\deltafunc$O" : "$(OX)\deltafunc_.c" "$(OX)\deltafunc.h" | |
| 1370 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\deltafunc_.c" | |
| 1371 | + | |
| 1372 | +"$(OX)\deltafunc_.c" : "$(SRCDIR)\deltafunc.c" | |
| 1373 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1374 | + | |
| 1375 | +"$(OX)\descendants$O" : "$(OX)\descendants_.c" "$(OX)\descendants.h" | |
| 1376 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\descendants_.c" | |
| 1377 | + | |
| 1378 | +"$(OX)\descendants_.c" : "$(SRCDIR)\descendants.c" | |
| 1379 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1380 | + | |
| 1381 | +"$(OX)\diff$O" : "$(OX)\diff_.c" "$(OX)\diff.h" | |
| 1382 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\diff_.c" | |
| 1383 | + | |
| 1384 | +"$(OX)\diff_.c" : "$(SRCDIR)\diff.c" | |
| 1385 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1386 | + | |
| 1387 | +"$(OX)\diffcmd$O" : "$(OX)\diffcmd_.c" "$(OX)\diffcmd.h" | |
| 1388 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\diffcmd_.c" | |
| 1389 | + | |
| 1390 | +"$(OX)\diffcmd_.c" : "$(SRCDIR)\diffcmd.c" | |
| 1391 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1392 | + | |
| 1393 | +"$(OX)\dispatch$O" : "$(OX)\dispatch_.c" "$(OX)\dispatch.h" | |
| 1394 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\dispatch_.c" | |
| 1395 | + | |
| 1396 | +"$(OX)\dispatch_.c" : "$(SRCDIR)\dispatch.c" | |
| 1397 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1398 | + | |
| 1399 | +"$(OX)\doc$O" : "$(OX)\doc_.c" "$(OX)\doc.h" | |
| 1400 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\doc_.c" | |
| 1401 | + | |
| 1402 | +"$(OX)\doc_.c" : "$(SRCDIR)\doc.c" | |
| 1403 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1404 | + | |
| 1405 | +"$(OX)\encode$O" : "$(OX)\encode_.c" "$(OX)\encode.h" | |
| 1406 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\encode_.c" | |
| 1407 | + | |
| 1408 | +"$(OX)\encode_.c" : "$(SRCDIR)\encode.c" | |
| 1409 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1410 | + | |
| 1411 | +"$(OX)\etag$O" : "$(OX)\etag_.c" "$(OX)\etag.h" | |
| 1412 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\etag_.c" | |
| 1413 | + | |
| 1414 | +"$(OX)\etag_.c" : "$(SRCDIR)\etag.c" | |
| 1415 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1416 | + | |
| 1417 | +"$(OX)\event$O" : "$(OX)\event_.c" "$(OX)\event.h" | |
| 1418 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\event_.c" | |
| 1419 | + | |
| 1420 | +"$(OX)\event_.c" : "$(SRCDIR)\event.c" | |
| 1421 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1422 | + | |
| 1423 | +"$(OX)\export$O" : "$(OX)\export_.c" "$(OX)\export.h" | |
| 1424 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\export_.c" | |
| 1425 | + | |
| 1426 | +"$(OX)\export_.c" : "$(SRCDIR)\export.c" | |
| 1427 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1428 | + | |
| 1429 | +"$(OX)\extcgi$O" : "$(OX)\extcgi_.c" "$(OX)\extcgi.h" | |
| 1430 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\extcgi_.c" | |
| 1431 | + | |
| 1432 | +"$(OX)\extcgi_.c" : "$(SRCDIR)\extcgi.c" | |
| 1433 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1434 | + | |
| 1435 | +"$(OX)\file$O" : "$(OX)\file_.c" "$(OX)\file.h" | |
| 1436 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\file_.c" | |
| 1437 | + | |
| 1438 | +"$(OX)\file_.c" : "$(SRCDIR)\file.c" | |
| 1439 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1440 | + | |
| 1441 | +"$(OX)\fileedit$O" : "$(OX)\fileedit_.c" "$(OX)\fileedit.h" | |
| 1442 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\fileedit_.c" | |
| 1443 | + | |
| 1444 | +"$(OX)\fileedit_.c" : "$(SRCDIR)\fileedit.c" | |
| 1445 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1446 | + | |
| 1447 | +"$(OX)\finfo$O" : "$(OX)\finfo_.c" "$(OX)\finfo.h" | |
| 1448 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\finfo_.c" | |
| 1449 | + | |
| 1450 | +"$(OX)\finfo_.c" : "$(SRCDIR)\finfo.c" | |
| 1451 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1452 | + | |
| 1453 | +"$(OX)\foci$O" : "$(OX)\foci_.c" "$(OX)\foci.h" | |
| 1454 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\foci_.c" | |
| 1455 | + | |
| 1456 | +"$(OX)\foci_.c" : "$(SRCDIR)\foci.c" | |
| 1457 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1458 | + | |
| 1459 | +"$(OX)\forum$O" : "$(OX)\forum_.c" "$(OX)\forum.h" | |
| 1460 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\forum_.c" | |
| 1461 | + | |
| 1462 | +"$(OX)\forum_.c" : "$(SRCDIR)\forum.c" | |
| 1463 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1464 | + | |
| 1465 | +"$(OX)\fshell$O" : "$(OX)\fshell_.c" "$(OX)\fshell.h" | |
| 1466 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\fshell_.c" | |
| 1467 | + | |
| 1468 | +"$(OX)\fshell_.c" : "$(SRCDIR)\fshell.c" | |
| 1469 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1470 | + | |
| 1471 | +"$(OX)\fusefs$O" : "$(OX)\fusefs_.c" "$(OX)\fusefs.h" | |
| 1472 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\fusefs_.c" | |
| 1473 | + | |
| 1474 | +"$(OX)\fusefs_.c" : "$(SRCDIR)\fusefs.c" | |
| 1475 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1476 | + | |
| 1477 | +"$(OX)\fuzz$O" : "$(OX)\fuzz_.c" "$(OX)\fuzz.h" | |
| 1478 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\fuzz_.c" | |
| 1479 | + | |
| 1480 | +"$(OX)\fuzz_.c" : "$(SRCDIR)\fuzz.c" | |
| 1481 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1482 | + | |
| 1483 | +"$(OX)\glob$O" : "$(OX)\glob_.c" "$(OX)\glob.h" | |
| 1484 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\glob_.c" | |
| 1485 | + | |
| 1486 | +"$(OX)\glob_.c" : "$(SRCDIR)\glob.c" | |
| 1487 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1488 | + | |
| 1489 | +"$(OX)\graph$O" : "$(OX)\graph_.c" "$(OX)\graph.h" | |
| 1490 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\graph_.c" | |
| 1491 | + | |
| 1492 | +"$(OX)\graph_.c" : "$(SRCDIR)\graph.c" | |
| 1493 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1494 | + | |
| 1495 | +"$(OX)\gzip$O" : "$(OX)\gzip_.c" "$(OX)\gzip.h" | |
| 1496 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\gzip_.c" | |
| 1497 | + | |
| 1498 | +"$(OX)\gzip_.c" : "$(SRCDIR)\gzip.c" | |
| 1499 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1500 | + | |
| 1501 | +"$(OX)\hname$O" : "$(OX)\hname_.c" "$(OX)\hname.h" | |
| 1502 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\hname_.c" | |
| 1503 | + | |
| 1504 | +"$(OX)\hname_.c" : "$(SRCDIR)\hname.c" | |
| 1505 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1506 | + | |
| 1507 | +"$(OX)\http$O" : "$(OX)\http_.c" "$(OX)\http.h" | |
| 1508 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\http_.c" | |
| 1509 | + | |
| 1510 | +"$(OX)\http_.c" : "$(SRCDIR)\http.c" | |
| 1511 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1512 | + | |
| 1513 | +"$(OX)\http_socket$O" : "$(OX)\http_socket_.c" "$(OX)\http_socket.h" | |
| 1514 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\http_socket_.c" | |
| 1515 | + | |
| 1516 | +"$(OX)\http_socket_.c" : "$(SRCDIR)\http_socket.c" | |
| 1517 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1518 | + | |
| 1519 | +"$(OX)\http_ssl$O" : "$(OX)\http_ssl_.c" "$(OX)\http_ssl.h" | |
| 1520 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\http_ssl_.c" | |
| 1521 | + | |
| 1522 | +"$(OX)\http_ssl_.c" : "$(SRCDIR)\http_ssl.c" | |
| 1523 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1524 | + | |
| 1525 | +"$(OX)\http_transport$O" : "$(OX)\http_transport_.c" "$(OX)\http_transport.h" | |
| 1526 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\http_transport_.c" | |
| 1527 | + | |
| 1528 | +"$(OX)\http_transport_.c" : "$(SRCDIR)\http_transport.c" | |
| 1529 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1530 | + | |
| 1531 | +"$(OX)\import$O" : "$(OX)\import_.c" "$(OX)\import.h" | |
| 1532 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\import_.c" | |
| 1533 | + | |
| 1534 | +"$(OX)\import_.c" : "$(SRCDIR)\import.c" | |
| 1535 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1536 | + | |
| 1537 | +"$(OX)\info$O" : "$(OX)\info_.c" "$(OX)\info.h" | |
| 1538 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\info_.c" | |
| 1539 | + | |
| 1540 | +"$(OX)\info_.c" : "$(SRCDIR)\info.c" | |
| 1541 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1542 | + | |
| 1543 | +"$(OX)\json$O" : "$(OX)\json_.c" "$(OX)\json.h" | |
| 1544 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\json_.c" | |
| 1545 | + | |
| 1546 | +"$(OX)\json_.c" : "$(SRCDIR)\json.c" | |
| 1547 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1548 | + | |
| 1549 | +"$(OX)\json_artifact$O" : "$(OX)\json_artifact_.c" "$(OX)\json_artifact.h" | |
| 1550 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\json_artifact_.c" | |
| 1551 | + | |
| 1552 | +"$(OX)\json_artifact_.c" : "$(SRCDIR)\json_artifact.c" | |
| 1553 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1554 | + | |
| 1555 | +"$(OX)\json_branch$O" : "$(OX)\json_branch_.c" "$(OX)\json_branch.h" | |
| 1556 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\json_branch_.c" | |
| 1557 | + | |
| 1558 | +"$(OX)\json_branch_.c" : "$(SRCDIR)\json_branch.c" | |
| 1559 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1560 | + | |
| 1561 | +"$(OX)\json_config$O" : "$(OX)\json_config_.c" "$(OX)\json_config.h" | |
| 1562 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\json_config_.c" | |
| 1563 | + | |
| 1564 | +"$(OX)\json_config_.c" : "$(SRCDIR)\json_config.c" | |
| 1565 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1566 | + | |
| 1567 | +"$(OX)\json_diff$O" : "$(OX)\json_diff_.c" "$(OX)\json_diff.h" | |
| 1568 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\json_diff_.c" | |
| 1569 | + | |
| 1570 | +"$(OX)\json_diff_.c" : "$(SRCDIR)\json_diff.c" | |
| 1571 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1572 | + | |
| 1573 | +"$(OX)\json_dir$O" : "$(OX)\json_dir_.c" "$(OX)\json_dir.h" | |
| 1574 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\json_dir_.c" | |
| 1575 | + | |
| 1576 | +"$(OX)\json_dir_.c" : "$(SRCDIR)\json_dir.c" | |
| 1577 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1578 | + | |
| 1579 | +"$(OX)\json_finfo$O" : "$(OX)\json_finfo_.c" "$(OX)\json_finfo.h" | |
| 1580 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\json_finfo_.c" | |
| 1581 | + | |
| 1582 | +"$(OX)\json_finfo_.c" : "$(SRCDIR)\json_finfo.c" | |
| 1583 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1584 | + | |
| 1585 | +"$(OX)\json_login$O" : "$(OX)\json_login_.c" "$(OX)\json_login.h" | |
| 1586 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\json_login_.c" | |
| 1587 | + | |
| 1588 | +"$(OX)\json_login_.c" : "$(SRCDIR)\json_login.c" | |
| 1589 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1590 | + | |
| 1591 | +"$(OX)\json_query$O" : "$(OX)\json_query_.c" "$(OX)\json_query.h" | |
| 1592 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\json_query_.c" | |
| 1593 | + | |
| 1594 | +"$(OX)\json_query_.c" : "$(SRCDIR)\json_query.c" | |
| 1595 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1596 | + | |
| 1597 | +"$(OX)\json_report$O" : "$(OX)\json_report_.c" "$(OX)\json_report.h" | |
| 1598 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\json_report_.c" | |
| 1599 | + | |
| 1600 | +"$(OX)\json_report_.c" : "$(SRCDIR)\json_report.c" | |
| 1601 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1602 | + | |
| 1603 | +"$(OX)\json_status$O" : "$(OX)\json_status_.c" "$(OX)\json_status.h" | |
| 1604 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\json_status_.c" | |
| 1605 | + | |
| 1606 | +"$(OX)\json_status_.c" : "$(SRCDIR)\json_status.c" | |
| 1607 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1608 | + | |
| 1609 | +"$(OX)\json_tag$O" : "$(OX)\json_tag_.c" "$(OX)\json_tag.h" | |
| 1610 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\json_tag_.c" | |
| 1611 | + | |
| 1612 | +"$(OX)\json_tag_.c" : "$(SRCDIR)\json_tag.c" | |
| 1613 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1614 | + | |
| 1615 | +"$(OX)\json_timeline$O" : "$(OX)\json_timeline_.c" "$(OX)\json_timeline.h" | |
| 1616 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\json_timeline_.c" | |
| 1617 | + | |
| 1618 | +"$(OX)\json_timeline_.c" : "$(SRCDIR)\json_timeline.c" | |
| 1619 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1620 | + | |
| 1621 | +"$(OX)\json_user$O" : "$(OX)\json_user_.c" "$(OX)\json_user.h" | |
| 1622 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\json_user_.c" | |
| 1623 | + | |
| 1624 | +"$(OX)\json_user_.c" : "$(SRCDIR)\json_user.c" | |
| 1625 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1626 | + | |
| 1627 | +"$(OX)\json_wiki$O" : "$(OX)\json_wiki_.c" "$(OX)\json_wiki.h" | |
| 1628 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\json_wiki_.c" | |
| 1629 | + | |
| 1630 | +"$(OX)\json_wiki_.c" : "$(SRCDIR)\json_wiki.c" | |
| 1631 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1632 | + | |
| 1633 | +"$(OX)\leaf$O" : "$(OX)\leaf_.c" "$(OX)\leaf.h" | |
| 1634 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\leaf_.c" | |
| 1635 | + | |
| 1636 | +"$(OX)\leaf_.c" : "$(SRCDIR)\leaf.c" | |
| 1637 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1638 | + | |
| 1639 | +"$(OX)\loadctrl$O" : "$(OX)\loadctrl_.c" "$(OX)\loadctrl.h" | |
| 1640 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\loadctrl_.c" | |
| 1641 | + | |
| 1642 | +"$(OX)\loadctrl_.c" : "$(SRCDIR)\loadctrl.c" | |
| 1643 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1644 | + | |
| 1645 | +"$(OX)\login$O" : "$(OX)\login_.c" "$(OX)\login.h" | |
| 1646 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\login_.c" | |
| 1647 | + | |
| 1648 | +"$(OX)\login_.c" : "$(SRCDIR)\login.c" | |
| 1649 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1650 | + | |
| 1651 | +"$(OX)\lookslike$O" : "$(OX)\lookslike_.c" "$(OX)\lookslike.h" | |
| 1652 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\lookslike_.c" | |
| 1653 | + | |
| 1654 | +"$(OX)\lookslike_.c" : "$(SRCDIR)\lookslike.c" | |
| 1655 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1656 | + | |
| 1657 | +"$(OX)\main$O" : "$(OX)\main_.c" "$(OX)\main.h" | |
| 1658 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\main_.c" | |
| 1659 | + | |
| 1660 | +"$(OX)\main_.c" : "$(SRCDIR)\main.c" | |
| 1661 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1662 | + | |
| 1663 | +"$(OX)\manifest$O" : "$(OX)\manifest_.c" "$(OX)\manifest.h" | |
| 1664 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\manifest_.c" | |
| 1665 | + | |
| 1666 | +"$(OX)\manifest_.c" : "$(SRCDIR)\manifest.c" | |
| 1667 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1668 | + | |
| 1669 | +"$(OX)\markdown$O" : "$(OX)\markdown_.c" "$(OX)\markdown.h" | |
| 1670 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\markdown_.c" | |
| 1671 | + | |
| 1672 | +"$(OX)\markdown_.c" : "$(SRCDIR)\markdown.c" | |
| 1673 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1674 | + | |
| 1675 | +"$(OX)\markdown_html$O" : "$(OX)\markdown_html_.c" "$(OX)\markdown_html.h" | |
| 1676 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\markdown_html_.c" | |
| 1677 | + | |
| 1678 | +"$(OX)\markdown_html_.c" : "$(SRCDIR)\markdown_html.c" | |
| 1679 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1680 | + | |
| 1681 | +"$(OX)\md5$O" : "$(OX)\md5_.c" "$(OX)\md5.h" | |
| 1682 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\md5_.c" | |
| 1683 | + | |
| 1684 | +"$(OX)\md5_.c" : "$(SRCDIR)\md5.c" | |
| 1685 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1686 | + | |
| 1687 | +"$(OX)\merge$O" : "$(OX)\merge_.c" "$(OX)\merge.h" | |
| 1688 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\merge_.c" | |
| 1689 | + | |
| 1690 | +"$(OX)\merge_.c" : "$(SRCDIR)\merge.c" | |
| 1691 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1692 | + | |
| 1693 | +"$(OX)\merge3$O" : "$(OX)\merge3_.c" "$(OX)\merge3.h" | |
| 1694 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\merge3_.c" | |
| 1695 | + | |
| 1696 | +"$(OX)\merge3_.c" : "$(SRCDIR)\merge3.c" | |
| 1697 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1698 | + | |
| 1699 | +"$(OX)\moderate$O" : "$(OX)\moderate_.c" "$(OX)\moderate.h" | |
| 1700 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\moderate_.c" | |
| 1701 | + | |
| 1702 | +"$(OX)\moderate_.c" : "$(SRCDIR)\moderate.c" | |
| 1703 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1704 | + | |
| 1705 | +"$(OX)\name$O" : "$(OX)\name_.c" "$(OX)\name.h" | |
| 1706 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\name_.c" | |
| 1707 | + | |
| 1708 | +"$(OX)\name_.c" : "$(SRCDIR)\name.c" | |
| 1709 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1710 | + | |
| 1711 | +"$(OX)\path$O" : "$(OX)\path_.c" "$(OX)\path.h" | |
| 1712 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\path_.c" | |
| 1713 | + | |
| 1714 | +"$(OX)\path_.c" : "$(SRCDIR)\path.c" | |
| 1715 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1716 | + | |
| 1717 | +"$(OX)\piechart$O" : "$(OX)\piechart_.c" "$(OX)\piechart.h" | |
| 1718 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\piechart_.c" | |
| 1719 | + | |
| 1720 | +"$(OX)\piechart_.c" : "$(SRCDIR)\piechart.c" | |
| 1721 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1722 | + | |
| 1723 | +"$(OX)\pivot$O" : "$(OX)\pivot_.c" "$(OX)\pivot.h" | |
| 1724 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\pivot_.c" | |
| 1725 | + | |
| 1726 | +"$(OX)\pivot_.c" : "$(SRCDIR)\pivot.c" | |
| 1727 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1728 | + | |
| 1729 | +"$(OX)\popen$O" : "$(OX)\popen_.c" "$(OX)\popen.h" | |
| 1730 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\popen_.c" | |
| 1731 | + | |
| 1732 | +"$(OX)\popen_.c" : "$(SRCDIR)\popen.c" | |
| 1733 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1734 | + | |
| 1735 | +"$(OX)\pqueue$O" : "$(OX)\pqueue_.c" "$(OX)\pqueue.h" | |
| 1736 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\pqueue_.c" | |
| 1737 | + | |
| 1738 | +"$(OX)\pqueue_.c" : "$(SRCDIR)\pqueue.c" | |
| 1739 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1740 | + | |
| 1741 | +"$(OX)\printf$O" : "$(OX)\printf_.c" "$(OX)\printf.h" | |
| 1742 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\printf_.c" | |
| 1743 | + | |
| 1744 | +"$(OX)\printf_.c" : "$(SRCDIR)\printf.c" | |
| 1745 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1746 | + | |
| 1747 | +"$(OX)\publish$O" : "$(OX)\publish_.c" "$(OX)\publish.h" | |
| 1748 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\publish_.c" | |
| 1749 | + | |
| 1750 | +"$(OX)\publish_.c" : "$(SRCDIR)\publish.c" | |
| 1751 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1752 | + | |
| 1753 | +"$(OX)\purge$O" : "$(OX)\purge_.c" "$(OX)\purge.h" | |
| 1754 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\purge_.c" | |
| 1755 | + | |
| 1756 | +"$(OX)\purge_.c" : "$(SRCDIR)\purge.c" | |
| 1757 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1758 | + | |
| 1759 | +"$(OX)\rebuild$O" : "$(OX)\rebuild_.c" "$(OX)\rebuild.h" | |
| 1760 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\rebuild_.c" | |
| 1761 | + | |
| 1762 | +"$(OX)\rebuild_.c" : "$(SRCDIR)\rebuild.c" | |
| 1763 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1764 | + | |
| 1765 | +"$(OX)\regexp$O" : "$(OX)\regexp_.c" "$(OX)\regexp.h" | |
| 1766 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\regexp_.c" | |
| 1767 | + | |
| 1768 | +"$(OX)\regexp_.c" : "$(SRCDIR)\regexp.c" | |
| 1769 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1770 | + | |
| 1771 | +"$(OX)\repolist$O" : "$(OX)\repolist_.c" "$(OX)\repolist.h" | |
| 1772 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\repolist_.c" | |
| 1773 | + | |
| 1774 | +"$(OX)\repolist_.c" : "$(SRCDIR)\repolist.c" | |
| 1775 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1776 | + | |
| 1777 | +"$(OX)\report$O" : "$(OX)\report_.c" "$(OX)\report.h" | |
| 1778 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\report_.c" | |
| 1779 | + | |
| 1780 | +"$(OX)\report_.c" : "$(SRCDIR)\report.c" | |
| 1781 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1782 | + | |
| 1783 | +"$(OX)\rss$O" : "$(OX)\rss_.c" "$(OX)\rss.h" | |
| 1784 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\rss_.c" | |
| 1785 | + | |
| 1786 | +"$(OX)\rss_.c" : "$(SRCDIR)\rss.c" | |
| 1787 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1788 | + | |
| 1789 | +"$(OX)\schema$O" : "$(OX)\schema_.c" "$(OX)\schema.h" | |
| 1790 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\schema_.c" | |
| 1791 | + | |
| 1792 | +"$(OX)\schema_.c" : "$(SRCDIR)\schema.c" | |
| 1793 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1794 | + | |
| 1795 | +"$(OX)\search$O" : "$(OX)\search_.c" "$(OX)\search.h" | |
| 1796 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\search_.c" | |
| 1797 | + | |
| 1798 | +"$(OX)\search_.c" : "$(SRCDIR)\search.c" | |
| 1799 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1800 | + | |
| 1801 | +"$(OX)\security_audit$O" : "$(OX)\security_audit_.c" "$(OX)\security_audit.h" | |
| 1802 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\security_audit_.c" | |
| 1803 | + | |
| 1804 | +"$(OX)\security_audit_.c" : "$(SRCDIR)\security_audit.c" | |
| 1805 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1806 | + | |
| 1807 | +"$(OX)\setup$O" : "$(OX)\setup_.c" "$(OX)\setup.h" | |
| 1808 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\setup_.c" | |
| 1809 | + | |
| 1810 | +"$(OX)\setup_.c" : "$(SRCDIR)\setup.c" | |
| 1811 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1812 | + | |
| 1813 | +"$(OX)\setupuser$O" : "$(OX)\setupuser_.c" "$(OX)\setupuser.h" | |
| 1814 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\setupuser_.c" | |
| 1815 | + | |
| 1816 | +"$(OX)\setupuser_.c" : "$(SRCDIR)\setupuser.c" | |
| 1817 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1818 | + | |
| 1819 | +"$(OX)\sha1$O" : "$(OX)\sha1_.c" "$(OX)\sha1.h" | |
| 1820 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\sha1_.c" | |
| 1821 | + | |
| 1822 | +"$(OX)\sha1_.c" : "$(SRCDIR)\sha1.c" | |
| 1823 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1824 | + | |
| 1825 | +"$(OX)\sha1hard$O" : "$(OX)\sha1hard_.c" "$(OX)\sha1hard.h" | |
| 1826 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\sha1hard_.c" | |
| 1827 | + | |
| 1828 | +"$(OX)\sha1hard_.c" : "$(SRCDIR)\sha1hard.c" | |
| 1829 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1830 | + | |
| 1831 | +"$(OX)\sha3$O" : "$(OX)\sha3_.c" "$(OX)\sha3.h" | |
| 1832 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\sha3_.c" | |
| 1833 | + | |
| 1834 | +"$(OX)\sha3_.c" : "$(SRCDIR)\sha3.c" | |
| 1835 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1836 | + | |
| 1837 | +"$(OX)\shun$O" : "$(OX)\shun_.c" "$(OX)\shun.h" | |
| 1838 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\shun_.c" | |
| 1839 | + | |
| 1840 | +"$(OX)\shun_.c" : "$(SRCDIR)\shun.c" | |
| 1841 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1842 | + | |
| 1843 | +"$(OX)\sitemap$O" : "$(OX)\sitemap_.c" "$(OX)\sitemap.h" | |
| 1844 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\sitemap_.c" | |
| 1845 | + | |
| 1846 | +"$(OX)\sitemap_.c" : "$(SRCDIR)\sitemap.c" | |
| 1847 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1848 | + | |
| 1849 | +"$(OX)\skins$O" : "$(OX)\skins_.c" "$(OX)\skins.h" | |
| 1850 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\skins_.c" | |
| 1851 | + | |
| 1852 | +"$(OX)\skins_.c" : "$(SRCDIR)\skins.c" | |
| 1853 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1854 | + | |
| 1855 | +"$(OX)\smtp$O" : "$(OX)\smtp_.c" "$(OX)\smtp.h" | |
| 1856 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\smtp_.c" | |
| 1857 | + | |
| 1858 | +"$(OX)\smtp_.c" : "$(SRCDIR)\smtp.c" | |
| 1859 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1860 | + | |
| 1861 | +"$(OX)\sqlcmd$O" : "$(OX)\sqlcmd_.c" "$(OX)\sqlcmd.h" | |
| 1862 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\sqlcmd_.c" | |
| 1863 | + | |
| 1864 | +"$(OX)\sqlcmd_.c" : "$(SRCDIR)\sqlcmd.c" | |
| 1865 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1866 | + | |
| 1867 | +"$(OX)\stash$O" : "$(OX)\stash_.c" "$(OX)\stash.h" | |
| 1868 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\stash_.c" | |
| 1869 | + | |
| 1870 | +"$(OX)\stash_.c" : "$(SRCDIR)\stash.c" | |
| 1871 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1872 | + | |
| 1873 | +"$(OX)\stat$O" : "$(OX)\stat_.c" "$(OX)\stat.h" | |
| 1874 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\stat_.c" | |
| 1875 | + | |
| 1876 | +"$(OX)\stat_.c" : "$(SRCDIR)\stat.c" | |
| 1877 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1878 | + | |
| 1879 | +"$(OX)\statrep$O" : "$(OX)\statrep_.c" "$(OX)\statrep.h" | |
| 1880 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\statrep_.c" | |
| 1881 | + | |
| 1882 | +"$(OX)\statrep_.c" : "$(SRCDIR)\statrep.c" | |
| 1883 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1884 | + | |
| 1885 | +"$(OX)\style$O" : "$(OX)\style_.c" "$(OX)\style.h" | |
| 1886 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\style_.c" | |
| 1887 | + | |
| 1888 | +"$(OX)\style_.c" : "$(SRCDIR)\style.c" | |
| 1889 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1890 | + | |
| 1891 | +"$(OX)\sync$O" : "$(OX)\sync_.c" "$(OX)\sync.h" | |
| 1892 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\sync_.c" | |
| 1893 | + | |
| 1894 | +"$(OX)\sync_.c" : "$(SRCDIR)\sync.c" | |
| 1895 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1896 | + | |
| 1897 | +"$(OX)\tag$O" : "$(OX)\tag_.c" "$(OX)\tag.h" | |
| 1898 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\tag_.c" | |
| 1899 | + | |
| 1900 | +"$(OX)\tag_.c" : "$(SRCDIR)\tag.c" | |
| 1901 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1902 | + | |
| 1903 | +"$(OX)\tar$O" : "$(OX)\tar_.c" "$(OX)\tar.h" | |
| 1904 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\tar_.c" | |
| 1905 | + | |
| 1906 | +"$(OX)\tar_.c" : "$(SRCDIR)\tar.c" | |
| 1907 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1908 | + | |
| 1909 | +"$(OX)\terminal$O" : "$(OX)\terminal_.c" "$(OX)\terminal.h" | |
| 1910 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\terminal_.c" | |
| 1911 | + | |
| 1912 | +"$(OX)\terminal_.c" : "$(SRCDIR)\terminal.c" | |
| 1913 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1914 | + | |
| 1915 | +"$(OX)\th_main$O" : "$(OX)\th_main_.c" "$(OX)\th_main.h" | |
| 1916 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\th_main_.c" | |
| 1917 | + | |
| 1918 | +"$(OX)\th_main_.c" : "$(SRCDIR)\th_main.c" | |
| 1919 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1920 | + | |
| 1921 | +"$(OX)\timeline$O" : "$(OX)\timeline_.c" "$(OX)\timeline.h" | |
| 1922 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\timeline_.c" | |
| 1923 | + | |
| 1924 | +"$(OX)\timeline_.c" : "$(SRCDIR)\timeline.c" | |
| 1925 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1926 | + | |
| 1927 | +"$(OX)\tkt$O" : "$(OX)\tkt_.c" "$(OX)\tkt.h" | |
| 1928 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\tkt_.c" | |
| 1929 | + | |
| 1930 | +"$(OX)\tkt_.c" : "$(SRCDIR)\tkt.c" | |
| 1931 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1932 | + | |
| 1933 | +"$(OX)\tktsetup$O" : "$(OX)\tktsetup_.c" "$(OX)\tktsetup.h" | |
| 1934 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\tktsetup_.c" | |
| 1935 | + | |
| 1936 | +"$(OX)\tktsetup_.c" : "$(SRCDIR)\tktsetup.c" | |
| 1937 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1938 | + | |
| 1939 | +"$(OX)\undo$O" : "$(OX)\undo_.c" "$(OX)\undo.h" | |
| 1940 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\undo_.c" | |
| 1941 | + | |
| 1942 | +"$(OX)\undo_.c" : "$(SRCDIR)\undo.c" | |
| 1943 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1944 | + | |
| 1945 | +"$(OX)\unicode$O" : "$(OX)\unicode_.c" "$(OX)\unicode.h" | |
| 1946 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\unicode_.c" | |
| 1947 | + | |
| 1948 | +"$(OX)\unicode_.c" : "$(SRCDIR)\unicode.c" | |
| 1949 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1950 | + | |
| 1951 | +"$(OX)\unversioned$O" : "$(OX)\unversioned_.c" "$(OX)\unversioned.h" | |
| 1952 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\unversioned_.c" | |
| 1953 | + | |
| 1954 | +"$(OX)\unversioned_.c" : "$(SRCDIR)\unversioned.c" | |
| 1955 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1956 | + | |
| 1957 | +"$(OX)\update$O" : "$(OX)\update_.c" "$(OX)\update.h" | |
| 1958 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\update_.c" | |
| 1959 | + | |
| 1960 | +"$(OX)\update_.c" : "$(SRCDIR)\update.c" | |
| 1961 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1962 | + | |
| 1963 | +"$(OX)\url$O" : "$(OX)\url_.c" "$(OX)\url.h" | |
| 1964 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\url_.c" | |
| 1965 | + | |
| 1966 | +"$(OX)\url_.c" : "$(SRCDIR)\url.c" | |
| 1967 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1968 | + | |
| 1969 | +"$(OX)\user$O" : "$(OX)\user_.c" "$(OX)\user.h" | |
| 1970 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\user_.c" | |
| 1971 | + | |
| 1972 | +"$(OX)\user_.c" : "$(SRCDIR)\user.c" | |
| 1973 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1974 | + | |
| 1975 | +"$(OX)\utf8$O" : "$(OX)\utf8_.c" "$(OX)\utf8.h" | |
| 1976 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\utf8_.c" | |
| 1977 | + | |
| 1978 | +"$(OX)\utf8_.c" : "$(SRCDIR)\utf8.c" | |
| 1979 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1980 | + | |
| 1981 | +"$(OX)\util$O" : "$(OX)\util_.c" "$(OX)\util.h" | |
| 1982 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\util_.c" | |
| 1983 | + | |
| 1984 | +"$(OX)\util_.c" : "$(SRCDIR)\util.c" | |
| 1985 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1986 | + | |
| 1987 | +"$(OX)\verify$O" : "$(OX)\verify_.c" "$(OX)\verify.h" | |
| 1988 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\verify_.c" | |
| 1989 | + | |
| 1990 | +"$(OX)\verify_.c" : "$(SRCDIR)\verify.c" | |
| 1991 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1992 | + | |
| 1993 | +"$(OX)\vfile$O" : "$(OX)\vfile_.c" "$(OX)\vfile.h" | |
| 1994 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\vfile_.c" | |
| 1995 | + | |
| 1996 | +"$(OX)\vfile_.c" : "$(SRCDIR)\vfile.c" | |
| 1997 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1998 | + | |
| 1999 | +"$(OX)\webmail$O" : "$(OX)\webmail_.c" "$(OX)\webmail.h" | |
| 2000 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\webmail_.c" | |
| 2001 | + | |
| 2002 | +"$(OX)\webmail_.c" : "$(SRCDIR)\webmail.c" | |
| 2003 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 2004 | + | |
| 2005 | +"$(OX)\wiki$O" : "$(OX)\wiki_.c" "$(OX)\wiki.h" | |
| 2006 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\wiki_.c" | |
| 2007 | + | |
| 2008 | +"$(OX)\wiki_.c" : "$(SRCDIR)\wiki.c" | |
| 2009 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 2010 | + | |
| 2011 | +"$(OX)\wikiformat$O" : "$(OX)\wikiformat_.c" "$(OX)\wikiformat.h" | |
| 2012 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\wikiformat_.c" | |
| 2013 | + | |
| 2014 | +"$(OX)\wikiformat_.c" : "$(SRCDIR)\wikiformat.c" | |
| 2015 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 2016 | + | |
| 2017 | +"$(OX)\winfile$O" : "$(OX)\winfile_.c" "$(OX)\winfile.h" | |
| 2018 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\winfile_.c" | |
| 2019 | + | |
| 2020 | +"$(OX)\winfile_.c" : "$(SRCDIR)\winfile.c" | |
| 2021 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 2022 | + | |
| 2023 | +"$(OX)\winhttp$O" : "$(OX)\winhttp_.c" "$(OX)\winhttp.h" | |
| 2024 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\winhttp_.c" | |
| 2025 | + | |
| 2026 | +"$(OX)\winhttp_.c" : "$(SRCDIR)\winhttp.c" | |
| 2027 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 2028 | + | |
| 2029 | +"$(OX)\wysiwyg$O" : "$(OX)\wysiwyg_.c" "$(OX)\wysiwyg.h" | |
| 2030 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\wysiwyg_.c" | |
| 2031 | + | |
| 2032 | +"$(OX)\wysiwyg_.c" : "$(SRCDIR)\wysiwyg.c" | |
| 2033 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 2034 | + | |
| 2035 | +"$(OX)\xfer$O" : "$(OX)\xfer_.c" "$(OX)\xfer.h" | |
| 2036 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\xfer_.c" | |
| 2037 | + | |
| 2038 | +"$(OX)\xfer_.c" : "$(SRCDIR)\xfer.c" | |
| 2039 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 2040 | + | |
| 2041 | +"$(OX)\xfersetup$O" : "$(OX)\xfersetup_.c" "$(OX)\xfersetup.h" | |
| 2042 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\xfersetup_.c" | |
| 2043 | + | |
| 2044 | +"$(OX)\xfersetup_.c" : "$(SRCDIR)\xfersetup.c" | |
| 2045 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 2046 | + | |
| 2047 | +"$(OX)\zip$O" : "$(OX)\zip_.c" "$(OX)\zip.h" | |
| 2048 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\zip_.c" | |
| 2049 | + | |
| 2050 | +"$(OX)\zip_.c" : "$(SRCDIR)\zip.c" | |
| 2051 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 2052 | + | |
| 2053 | +"$(OX)\fossil.res" : "$(B)\win\fossil.rc" | |
| 2054 | + $(RCC) /fo $@ $** | |
| 2055 | + | |
| 2056 | +"$(OX)\headers": "$(OBJDIR)\makeheaders$E" "$(OX)\page_index.h" "$(OX)\builtin_data.h" "$(OX)\default_css.h" "$(OX)\VERSION.h" | |
| 2057 | + "$(OBJDIR)\makeheaders$E" "$(OX)\add_.c":"$(OX)\add.h" \ | |
| 2058 | + "$(OX)\ajax_.c":"$(OX)\ajax.h" \ | |
| 2059 | + "$(OX)\alerts_.c":"$(OX)\alerts.h" \ | |
| 2060 | + "$(OX)\allrepo_.c":"$(OX)\allrepo.h" \ | |
| 2061 | + "$(OX)\attach_.c":"$(OX)\attach.h" \ | |
| 2062 | + "$(OX)\backlink_.c":"$(OX)\backlink.h" \ | |
| 2063 | + "$(OX)\backoffice_.c":"$(OX)\backoffice.h" \ | |
| 2064 | + "$(OX)\bag_.c":"$(OX)\bag.h" \ | |
| 2065 | + "$(OX)\bisect_.c":"$(OX)\bisect.h" \ | |
| 2066 | + "$(OX)\blob_.c":"$(OX)\blob.h" \ | |
| 2067 | + "$(OX)\branch_.c":"$(OX)\branch.h" \ | |
| 2068 | + "$(OX)\browse_.c":"$(OX)\browse.h" \ | |
| 2069 | + "$(OX)\builtin_.c":"$(OX)\builtin.h" \ | |
| 2070 | + "$(OX)\bundle_.c":"$(OX)\bundle.h" \ | |
| 2071 | + "$(OX)\cache_.c":"$(OX)\cache.h" \ | |
| 2072 | + "$(OX)\capabilities_.c":"$(OX)\capabilities.h" \ | |
| 2073 | + "$(OX)\captcha_.c":"$(OX)\captcha.h" \ | |
| 2074 | + "$(OX)\cgi_.c":"$(OX)\cgi.h" \ | |
| 2075 | + "$(OX)\checkin_.c":"$(OX)\checkin.h" \ | |
| 2076 | + "$(OX)\checkout_.c":"$(OX)\checkout.h" \ | |
| 2077 | + "$(OX)\clearsign_.c":"$(OX)\clearsign.h" \ | |
| 2078 | + "$(OX)\clone_.c":"$(OX)\clone.h" \ | |
| 2079 | + "$(OX)\comformat_.c":"$(OX)\comformat.h" \ | |
| 2080 | + "$(OX)\configure_.c":"$(OX)\configure.h" \ | |
| 2081 | + "$(OX)\content_.c":"$(OX)\content.h" \ | |
| 2082 | + "$(OX)\cookies_.c":"$(OX)\cookies.h" \ | |
| 2083 | + "$(OX)\db_.c":"$(OX)\db.h" \ | |
| 2084 | + "$(OX)\delta_.c":"$(OX)\delta.h" \ | |
| 2085 | + "$(OX)\deltacmd_.c":"$(OX)\deltacmd.h" \ | |
| 2086 | + "$(OX)\deltafunc_.c":"$(OX)\deltafunc.h" \ | |
| 2087 | + "$(OX)\descendants_.c":"$(OX)\descendants.h" \ | |
| 2088 | + "$(OX)\diff_.c":"$(OX)\diff.h" \ | |
| 2089 | + "$(OX)\diffcmd_.c":"$(OX)\diffcmd.h" \ | |
| 2090 | + "$(OX)\dispatch_.c":"$(OX)\dispatch.h" \ | |
| 2091 | + "$(OX)\doc_.c":"$(OX)\doc.h" \ | |
| 2092 | + "$(OX)\encode_.c":"$(OX)\encode.h" \ | |
| 2093 | + "$(OX)\etag_.c":"$(OX)\etag.h" \ | |
| 2094 | + "$(OX)\event_.c":"$(OX)\event.h" \ | |
| 2095 | + "$(OX)\export_.c":"$(OX)\export.h" \ | |
| 2096 | + "$(OX)\extcgi_.c":"$(OX)\extcgi.h" \ | |
| 2097 | + "$(OX)\file_.c":"$(OX)\file.h" \ | |
| 2098 | + "$(OX)\fileedit_.c":"$(OX)\fileedit.h" \ | |
| 2099 | + "$(OX)\finfo_.c":"$(OX)\finfo.h" \ | |
| 2100 | + "$(OX)\foci_.c":"$(OX)\foci.h" \ | |
| 2101 | + "$(OX)\forum_.c":"$(OX)\forum.h" \ | |
| 2102 | + "$(OX)\fshell_.c":"$(OX)\fshell.h" \ | |
| 2103 | + "$(OX)\fusefs_.c":"$(OX)\fusefs.h" \ | |
| 2104 | + "$(OX)\fuzz_.c":"$(OX)\fuzz.h" \ | |
| 2105 | + "$(OX)\glob_.c":"$(OX)\glob.h" \ | |
| 2106 | + "$(OX)\graph_.c":"$(OX)\graph.h" \ | |
| 2107 | + "$(OX)\gzip_.c":"$(OX)\gzip.h" \ | |
| 2108 | + "$(OX)\hname_.c":"$(OX)\hname.h" \ | |
| 2109 | + "$(OX)\http_.c":"$(OX)\http.h" \ | |
| 2110 | + "$(OX)\http_socket_.c":"$(OX)\http_socket.h" \ | |
| 2111 | + "$(OX)\http_ssl_.c":"$(OX)\http_ssl.h" \ | |
| 2112 | + "$(OX)\http_transport_.c":"$(OX)\http_transport.h" \ | |
| 2113 | + "$(OX)\import_.c":"$(OX)\import.h" \ | |
| 2114 | + "$(OX)\info_.c":"$(OX)\info.h" \ | |
| 2115 | + "$(OX)\json_.c":"$(OX)\json.h" \ | |
| 2116 | + "$(OX)\json_artifact_.c":"$(OX)\json_artifact.h" \ | |
| 2117 | + "$(OX)\json_branch_.c":"$(OX)\json_branch.h" \ | |
| 2118 | + "$(OX)\json_config_.c":"$(OX)\json_config.h" \ | |
| 2119 | + "$(OX)\json_diff_.c":"$(OX)\json_diff.h" \ | |
| 2120 | + "$(OX)\json_dir_.c":"$(OX)\json_dir.h" \ | |
| 2121 | + "$(OX)\json_finfo_.c":"$(OX)\json_finfo.h" \ | |
| 2122 | + "$(OX)\json_login_.c":"$(OX)\json_login.h" \ | |
| 2123 | + "$(OX)\json_query_.c":"$(OX)\json_query.h" \ | |
| 2124 | + "$(OX)\json_report_.c":"$(OX)\json_report.h" \ | |
| 2125 | + "$(OX)\json_status_.c":"$(OX)\json_status.h" \ | |
| 2126 | + "$(OX)\json_tag_.c":"$(OX)\json_tag.h" \ | |
| 2127 | + "$(OX)\json_timeline_.c":"$(OX)\json_timeline.h" \ | |
| 2128 | + "$(OX)\json_user_.c":"$(OX)\json_user.h" \ | |
| 2129 | + "$(OX)\json_wiki_.c":"$(OX)\json_wiki.h" \ | |
| 2130 | + "$(OX)\leaf_.c":"$(OX)\leaf.h" \ | |
| 2131 | + "$(OX)\loadctrl_.c":"$(OX)\loadctrl.h" \ | |
| 2132 | + "$(OX)\login_.c":"$(OX)\login.h" \ | |
| 2133 | + "$(OX)\lookslike_.c":"$(OX)\lookslike.h" \ | |
| 2134 | + "$(OX)\main_.c":"$(OX)\main.h" \ | |
| 2135 | + "$(OX)\manifest_.c":"$(OX)\manifest.h" \ | |
| 2136 | + "$(OX)\markdown_.c":"$(OX)\markdown.h" \ | |
| 2137 | + "$(OX)\markdown_html_.c":"$(OX)\markdown_html.h" \ | |
| 2138 | + "$(OX)\md5_.c":"$(OX)\md5.h" \ | |
| 2139 | + "$(OX)\merge_.c":"$(OX)\merge.h" \ | |
| 2140 | + "$(OX)\merge3_.c":"$(OX)\merge3.h" \ | |
| 2141 | + "$(OX)\moderate_.c":"$(OX)\moderate.h" \ | |
| 2142 | + "$(OX)\name_.c":"$(OX)\name.h" \ | |
| 2143 | + "$(OX)\path_.c":"$(OX)\path.h" \ | |
| 2144 | + "$(OX)\piechart_.c":"$(OX)\piechart.h" \ | |
| 2145 | + "$(OX)\pivot_.c":"$(OX)\pivot.h" \ | |
| 2146 | + "$(OX)\popen_.c":"$(OX)\popen.h" \ | |
| 2147 | + "$(OX)\pqueue_.c":"$(OX)\pqueue.h" \ | |
| 2148 | + "$(OX)\printf_.c":"$(OX)\printf.h" \ | |
| 2149 | + "$(OX)\publish_.c":"$(OX)\publish.h" \ | |
| 2150 | + "$(OX)\purge_.c":"$(OX)\purge.h" \ | |
| 2151 | + "$(OX)\rebuild_.c":"$(OX)\rebuild.h" \ | |
| 2152 | + "$(OX)\regexp_.c":"$(OX)\regexp.h" \ | |
| 2153 | + "$(OX)\repolist_.c":"$(OX)\repolist.h" \ | |
| 2154 | + "$(OX)\report_.c":"$(OX)\report.h" \ | |
| 2155 | + "$(OX)\rss_.c":"$(OX)\rss.h" \ | |
| 2156 | + "$(OX)\schema_.c":"$(OX)\schema.h" \ | |
| 2157 | + "$(OX)\search_.c":"$(OX)\search.h" \ | |
| 2158 | + "$(OX)\security_audit_.c":"$(OX)\security_audit.h" \ | |
| 2159 | + "$(OX)\setup_.c":"$(OX)\setup.h" \ | |
| 2160 | + "$(OX)\setupuser_.c":"$(OX)\setupuser.h" \ | |
| 2161 | + "$(OX)\sha1_.c":"$(OX)\sha1.h" \ | |
| 2162 | + "$(OX)\sha1hard_.c":"$(OX)\sha1hard.h" \ | |
| 2163 | + "$(OX)\sha3_.c":"$(OX)\sha3.h" \ | |
| 2164 | + "$(OX)\shun_.c":"$(OX)\shun.h" \ | |
| 2165 | + "$(OX)\sitemap_.c":"$(OX)\sitemap.h" \ | |
| 2166 | + "$(OX)\skins_.c":"$(OX)\skins.h" \ | |
| 2167 | + "$(OX)\smtp_.c":"$(OX)\smtp.h" \ | |
| 2168 | + "$(OX)\sqlcmd_.c":"$(OX)\sqlcmd.h" \ | |
| 2169 | + "$(OX)\stash_.c":"$(OX)\stash.h" \ | |
| 2170 | + "$(OX)\stat_.c":"$(OX)\stat.h" \ | |
| 2171 | + "$(OX)\statrep_.c":"$(OX)\statrep.h" \ | |
| 2172 | + "$(OX)\style_.c":"$(OX)\style.h" \ | |
| 2173 | + "$(OX)\sync_.c":"$(OX)\sync.h" \ | |
| 2174 | + "$(OX)\tag_.c":"$(OX)\tag.h" \ | |
| 2175 | + "$(OX)\tar_.c":"$(OX)\tar.h" \ | |
| 2176 | + "$(OX)\terminal_.c":"$(OX)\terminal.h" \ | |
| 2177 | + "$(OX)\th_main_.c":"$(OX)\th_main.h" \ | |
| 2178 | + "$(OX)\timeline_.c":"$(OX)\timeline.h" \ | |
| 2179 | + "$(OX)\tkt_.c":"$(OX)\tkt.h" \ | |
| 2180 | + "$(OX)\tktsetup_.c":"$(OX)\tktsetup.h" \ | |
| 2181 | + "$(OX)\undo_.c":"$(OX)\undo.h" \ | |
| 2182 | + "$(OX)\unicode_.c":"$(OX)\unicode.h" \ | |
| 2183 | + "$(OX)\unversioned_.c":"$(OX)\unversioned.h" \ | |
| 2184 | + "$(OX)\update_.c":"$(OX)\update.h" \ | |
| 2185 | + "$(OX)\url_.c":"$(OX)\url.h" \ | |
| 2186 | + "$(OX)\user_.c":"$(OX)\user.h" \ | |
| 2187 | + "$(OX)\utf8_.c":"$(OX)\utf8.h" \ | |
| 2188 | + "$(OX)\util_.c":"$(OX)\util.h" \ | |
| 2189 | + "$(OX)\verify_.c":"$(OX)\verify.h" \ | |
| 2190 | + "$(OX)\vfile_.c":"$(OX)\vfile.h" \ | |
| 2191 | + "$(OX)\webmail_.c":"$(OX)\webmail.h" \ | |
| 2192 | + "$(OX)\wiki_.c":"$(OX)\wiki.h" \ | |
| 2193 | + "$(OX)\wikiformat_.c":"$(OX)\wikiformat.h" \ | |
| 2194 | + "$(OX)\winfile_.c":"$(OX)\winfile.h" \ | |
| 2195 | + "$(OX)\winhttp_.c":"$(OX)\winhttp.h" \ | |
| 2196 | + "$(OX)\wysiwyg_.c":"$(OX)\wysiwyg.h" \ | |
| 2197 | + "$(OX)\xfer_.c":"$(OX)\xfer.h" \ | |
| 2198 | + "$(OX)\xfersetup_.c":"$(OX)\xfersetup.h" \ | |
| 2199 | + "$(OX)\zip_.c":"$(OX)\zip.h" \ | |
| 2200 | + "$(SRCDIR)\sqlite3.h" \ | |
| 2201 | + "$(SRCDIR)\th.h" \ | |
| 2202 | + "$(OX)\VERSION.h" \ | |
| 2203 | + "$(SRCDIR)\cson_amalgamation.h" | |
| 2204 | + @copy /Y nul: $@ | |
| 2059 | 2205 |
| --- win/Makefile.msc | |
| +++ win/Makefile.msc | |
| @@ -1,39 +1,52 @@ | |
| 1 | # |
| 2 | ############################################################################## |
| 3 | # WARNING: DO NOT EDIT, AUTOMATICALLY GENERATED FILE (SEE "src/makemake.tcl") |
| 4 | ############################################################################## |
| 5 | # |
| 6 | # This Makefile will only function correctly if used from a sub-directory |
| 7 | # that is a direct child of the top-level directory for this project. |
| 8 | # |
| 9 | !if !exist("..\.fossil-settings") |
| 10 | !error "Please change the current directory to the one containing this file." |
| 11 | !endif |
| 12 | |
| 13 | # |
| 14 | # This file is automatically generated. Instead of editing this |
| 15 | # file, edit "makemake.tcl" then run "tclsh makemake.tcl" |
| 16 | # to regenerate this file. |
| 17 | # |
| 18 | B = .. |
| 19 | SRCDIR = $B\src |
| 20 | OBJDIR = . |
| 21 | OX = . |
| 22 | O = .obj |
| 23 | E = .exe |
| 24 | P = .pdb |
| 25 | |
| 26 | # Perl is only necessary if OpenSSL support is enabled and it must |
| 27 | # be built from source code. The PERLDIR variable should point to |
| 28 | # the directory containing the main Perl binary (i.e. "perl.exe"). |
| 29 | PERLDIR = C:\Perl\bin |
| 30 | PERL = perl.exe |
| 31 | |
| 32 | # Enable debugging symbols? |
| 33 | !ifndef DEBUG |
| 34 | DEBUG = 0 |
| 35 | !endif |
| 36 | |
| 37 | # Build the OpenSSL libraries? |
| 38 | !ifndef FOSSIL_BUILD_SSL |
| 39 | FOSSIL_BUILD_SSL = 0 |
| @@ -150,27 +163,30 @@ | |
| 150 | ZLIB = zdll.lib |
| 151 | !else |
| 152 | ZLIB = zlib.lib |
| 153 | !endif |
| 154 | |
| 155 | INCL = /I. /I$(SRCDIR) /I$B\win\include |
| 156 | |
| 157 | !if $(FOSSIL_ENABLE_MINIZ)==0 |
| 158 | INCL = $(INCL) /I$(ZINCDIR) |
| 159 | !endif |
| 160 | |
| 161 | !if $(FOSSIL_ENABLE_SSL)!=0 |
| 162 | INCL = $(INCL) /I$(SSLINCDIR) |
| 163 | !endif |
| 164 | |
| 165 | !if $(FOSSIL_ENABLE_TCL)!=0 |
| 166 | INCL = $(INCL) /I$(TCLINCDIR) |
| 167 | !endif |
| 168 | |
| 169 | CFLAGS = /nologo |
| 170 | LDFLAGS = |
| 171 | |
| 172 | !if $(FOSSIL_DYNAMIC_BUILD)!=0 |
| 173 | LDFLAGS = $(LDFLAGS) /MANIFEST |
| 174 | !else |
| 175 | LDFLAGS = $(LDFLAGS) /NODEFAULTLIB:msvcrt /MANIFEST:NO |
| 176 | !endif |
| @@ -199,11 +215,11 @@ | |
| 199 | CRTFLAGS = /MT |
| 200 | !endif |
| 201 | !endif |
| 202 | |
| 203 | !if $(DEBUG)!=0 |
| 204 | CFLAGS = $(CFLAGS) /Zi $(CRTFLAGS) /Od |
| 205 | LDFLAGS = $(LDFLAGS) /DEBUG |
| 206 | !else |
| 207 | CFLAGS = $(CFLAGS) $(CRTFLAGS) /O2 |
| 208 | !endif |
| 209 | |
| @@ -219,11 +235,11 @@ | |
| 219 | RCC = $(RCC) /DFOSSIL_DYNAMIC_BUILD=1 |
| 220 | !endif |
| 221 | |
| 222 | !if $(FOSSIL_ENABLE_MINIZ)==0 |
| 223 | LIBS = $(LIBS) $(ZLIB) |
| 224 | LIBDIR = $(LIBDIR) /LIBPATH:$(ZLIBDIR) |
| 225 | !endif |
| 226 | |
| 227 | !if $(FOSSIL_ENABLE_MINIZ)!=0 |
| 228 | TCC = $(TCC) /DFOSSIL_ENABLE_MINIZ=1 |
| 229 | RCC = $(RCC) /DFOSSIL_ENABLE_MINIZ=1 |
| @@ -236,11 +252,11 @@ | |
| 236 | |
| 237 | !if $(FOSSIL_ENABLE_SSL)!=0 |
| 238 | TCC = $(TCC) /DFOSSIL_ENABLE_SSL=1 |
| 239 | RCC = $(RCC) /DFOSSIL_ENABLE_SSL=1 |
| 240 | LIBS = $(LIBS) $(SSLLIB) |
| 241 | LIBDIR = $(LIBDIR) /LIBPATH:$(SSLLIBDIR) |
| 242 | !endif |
| 243 | |
| 244 | !if $(FOSSIL_ENABLE_EXEC_REL_PATHS)!=0 |
| 245 | TCC = $(TCC) /DFOSSIL_ENABLE_EXEC_REL_PATHS=1 |
| 246 | RCC = $(RCC) /DFOSSIL_ENABLE_EXEC_REL_PATHS=1 |
| @@ -283,11 +299,10 @@ | |
| 283 | /DSQLITE_DEFAULT_MEMSTATUS=0 \ |
| 284 | /DSQLITE_DEFAULT_WAL_SYNCHRONOUS=1 \ |
| 285 | /DSQLITE_LIKE_DOESNT_MATCH_BLOBS \ |
| 286 | /DSQLITE_OMIT_DECLTYPE \ |
| 287 | /DSQLITE_OMIT_DEPRECATED \ |
| 288 | /DSQLITE_OMIT_GET_TABLE \ |
| 289 | /DSQLITE_OMIT_PROGRESS_CALLBACK \ |
| 290 | /DSQLITE_OMIT_SHARED_CACHE \ |
| 291 | /DSQLITE_OMIT_LOAD_EXTENSION \ |
| 292 | /DSQLITE_MAX_EXPR_DEPTH=0 \ |
| 293 | /DSQLITE_USE_ALLOCA \ |
| @@ -311,11 +326,10 @@ | |
| 311 | /DSQLITE_DEFAULT_MEMSTATUS=0 \ |
| 312 | /DSQLITE_DEFAULT_WAL_SYNCHRONOUS=1 \ |
| 313 | /DSQLITE_LIKE_DOESNT_MATCH_BLOBS \ |
| 314 | /DSQLITE_OMIT_DECLTYPE \ |
| 315 | /DSQLITE_OMIT_DEPRECATED \ |
| 316 | /DSQLITE_OMIT_GET_TABLE \ |
| 317 | /DSQLITE_OMIT_PROGRESS_CALLBACK \ |
| 318 | /DSQLITE_OMIT_SHARED_CACHE \ |
| 319 | /DSQLITE_OMIT_LOAD_EXTENSION \ |
| 320 | /DSQLITE_MAX_EXPR_DEPTH=0 \ |
| 321 | /DSQLITE_USE_ALLOCA \ |
| @@ -344,405 +358,407 @@ | |
| 344 | |
| 345 | MINIZ_OPTIONS = /DMINIZ_NO_STDIO \ |
| 346 | /DMINIZ_NO_TIME \ |
| 347 | /DMINIZ_NO_ARCHIVE_APIS |
| 348 | |
| 349 | SRC = add_.c \ |
| 350 | alerts_.c \ |
| 351 | allrepo_.c \ |
| 352 | attach_.c \ |
| 353 | backlink_.c \ |
| 354 | backoffice_.c \ |
| 355 | bag_.c \ |
| 356 | bisect_.c \ |
| 357 | blob_.c \ |
| 358 | branch_.c \ |
| 359 | browse_.c \ |
| 360 | builtin_.c \ |
| 361 | bundle_.c \ |
| 362 | cache_.c \ |
| 363 | capabilities_.c \ |
| 364 | captcha_.c \ |
| 365 | cgi_.c \ |
| 366 | checkin_.c \ |
| 367 | checkout_.c \ |
| 368 | clearsign_.c \ |
| 369 | clone_.c \ |
| 370 | comformat_.c \ |
| 371 | configure_.c \ |
| 372 | content_.c \ |
| 373 | cookies_.c \ |
| 374 | db_.c \ |
| 375 | delta_.c \ |
| 376 | deltacmd_.c \ |
| 377 | deltafunc_.c \ |
| 378 | descendants_.c \ |
| 379 | diff_.c \ |
| 380 | diffcmd_.c \ |
| 381 | dispatch_.c \ |
| 382 | doc_.c \ |
| 383 | encode_.c \ |
| 384 | etag_.c \ |
| 385 | event_.c \ |
| 386 | export_.c \ |
| 387 | extcgi_.c \ |
| 388 | file_.c \ |
| 389 | fileedit_.c \ |
| 390 | finfo_.c \ |
| 391 | foci_.c \ |
| 392 | forum_.c \ |
| 393 | fshell_.c \ |
| 394 | fusefs_.c \ |
| 395 | fuzz_.c \ |
| 396 | glob_.c \ |
| 397 | graph_.c \ |
| 398 | gzip_.c \ |
| 399 | hname_.c \ |
| 400 | http_.c \ |
| 401 | http_socket_.c \ |
| 402 | http_ssl_.c \ |
| 403 | http_transport_.c \ |
| 404 | import_.c \ |
| 405 | info_.c \ |
| 406 | json_.c \ |
| 407 | json_artifact_.c \ |
| 408 | json_branch_.c \ |
| 409 | json_config_.c \ |
| 410 | json_diff_.c \ |
| 411 | json_dir_.c \ |
| 412 | json_finfo_.c \ |
| 413 | json_login_.c \ |
| 414 | json_query_.c \ |
| 415 | json_report_.c \ |
| 416 | json_status_.c \ |
| 417 | json_tag_.c \ |
| 418 | json_timeline_.c \ |
| 419 | json_user_.c \ |
| 420 | json_wiki_.c \ |
| 421 | leaf_.c \ |
| 422 | loadctrl_.c \ |
| 423 | login_.c \ |
| 424 | lookslike_.c \ |
| 425 | main_.c \ |
| 426 | manifest_.c \ |
| 427 | markdown_.c \ |
| 428 | markdown_html_.c \ |
| 429 | md5_.c \ |
| 430 | merge_.c \ |
| 431 | merge3_.c \ |
| 432 | moderate_.c \ |
| 433 | name_.c \ |
| 434 | path_.c \ |
| 435 | piechart_.c \ |
| 436 | pivot_.c \ |
| 437 | popen_.c \ |
| 438 | pqueue_.c \ |
| 439 | printf_.c \ |
| 440 | publish_.c \ |
| 441 | purge_.c \ |
| 442 | rebuild_.c \ |
| 443 | regexp_.c \ |
| 444 | repolist_.c \ |
| 445 | report_.c \ |
| 446 | rss_.c \ |
| 447 | schema_.c \ |
| 448 | search_.c \ |
| 449 | security_audit_.c \ |
| 450 | setup_.c \ |
| 451 | setupuser_.c \ |
| 452 | sha1_.c \ |
| 453 | sha1hard_.c \ |
| 454 | sha3_.c \ |
| 455 | shun_.c \ |
| 456 | sitemap_.c \ |
| 457 | skins_.c \ |
| 458 | smtp_.c \ |
| 459 | sqlcmd_.c \ |
| 460 | stash_.c \ |
| 461 | stat_.c \ |
| 462 | statrep_.c \ |
| 463 | style_.c \ |
| 464 | sync_.c \ |
| 465 | tag_.c \ |
| 466 | tar_.c \ |
| 467 | terminal_.c \ |
| 468 | th_main_.c \ |
| 469 | timeline_.c \ |
| 470 | tkt_.c \ |
| 471 | tktsetup_.c \ |
| 472 | undo_.c \ |
| 473 | unicode_.c \ |
| 474 | unversioned_.c \ |
| 475 | update_.c \ |
| 476 | url_.c \ |
| 477 | user_.c \ |
| 478 | utf8_.c \ |
| 479 | util_.c \ |
| 480 | verify_.c \ |
| 481 | vfile_.c \ |
| 482 | webmail_.c \ |
| 483 | wiki_.c \ |
| 484 | wikiformat_.c \ |
| 485 | winfile_.c \ |
| 486 | winhttp_.c \ |
| 487 | wysiwyg_.c \ |
| 488 | xfer_.c \ |
| 489 | xfersetup_.c \ |
| 490 | zip_.c |
| 491 | |
| 492 | EXTRA_FILES = $(SRCDIR)\..\skins\aht\details.txt \ |
| 493 | $(SRCDIR)\..\skins\ardoise\css.txt \ |
| 494 | $(SRCDIR)\..\skins\ardoise\details.txt \ |
| 495 | $(SRCDIR)\..\skins\ardoise\footer.txt \ |
| 496 | $(SRCDIR)\..\skins\ardoise\header.txt \ |
| 497 | $(SRCDIR)\..\skins\black_and_white\css.txt \ |
| 498 | $(SRCDIR)\..\skins\black_and_white\details.txt \ |
| 499 | $(SRCDIR)\..\skins\black_and_white\footer.txt \ |
| 500 | $(SRCDIR)\..\skins\black_and_white\header.txt \ |
| 501 | $(SRCDIR)\..\skins\blitz\css.txt \ |
| 502 | $(SRCDIR)\..\skins\blitz\details.txt \ |
| 503 | $(SRCDIR)\..\skins\blitz\footer.txt \ |
| 504 | $(SRCDIR)\..\skins\blitz\header.txt \ |
| 505 | $(SRCDIR)\..\skins\blitz\ticket.txt \ |
| 506 | $(SRCDIR)\..\skins\blitz_no_logo\css.txt \ |
| 507 | $(SRCDIR)\..\skins\blitz_no_logo\details.txt \ |
| 508 | $(SRCDIR)\..\skins\blitz_no_logo\footer.txt \ |
| 509 | $(SRCDIR)\..\skins\blitz_no_logo\header.txt \ |
| 510 | $(SRCDIR)\..\skins\blitz_no_logo\ticket.txt \ |
| 511 | $(SRCDIR)\..\skins\bootstrap\css.txt \ |
| 512 | $(SRCDIR)\..\skins\bootstrap\details.txt \ |
| 513 | $(SRCDIR)\..\skins\bootstrap\footer.txt \ |
| 514 | $(SRCDIR)\..\skins\bootstrap\header.txt \ |
| 515 | $(SRCDIR)\..\skins\default\css.txt \ |
| 516 | $(SRCDIR)\..\skins\default\details.txt \ |
| 517 | $(SRCDIR)\..\skins\default\footer.txt \ |
| 518 | $(SRCDIR)\..\skins\default\header.txt \ |
| 519 | $(SRCDIR)\..\skins\default\js.txt \ |
| 520 | $(SRCDIR)\..\skins\eagle\css.txt \ |
| 521 | $(SRCDIR)\..\skins\eagle\details.txt \ |
| 522 | $(SRCDIR)\..\skins\eagle\footer.txt \ |
| 523 | $(SRCDIR)\..\skins\eagle\header.txt \ |
| 524 | $(SRCDIR)\..\skins\enhanced1\css.txt \ |
| 525 | $(SRCDIR)\..\skins\enhanced1\details.txt \ |
| 526 | $(SRCDIR)\..\skins\enhanced1\footer.txt \ |
| 527 | $(SRCDIR)\..\skins\enhanced1\header.txt \ |
| 528 | $(SRCDIR)\..\skins\khaki\css.txt \ |
| 529 | $(SRCDIR)\..\skins\khaki\details.txt \ |
| 530 | $(SRCDIR)\..\skins\khaki\footer.txt \ |
| 531 | $(SRCDIR)\..\skins\khaki\header.txt \ |
| 532 | $(SRCDIR)\..\skins\original\css.txt \ |
| 533 | $(SRCDIR)\..\skins\original\details.txt \ |
| 534 | $(SRCDIR)\..\skins\original\footer.txt \ |
| 535 | $(SRCDIR)\..\skins\original\header.txt \ |
| 536 | $(SRCDIR)\..\skins\plain_gray\css.txt \ |
| 537 | $(SRCDIR)\..\skins\plain_gray\details.txt \ |
| 538 | $(SRCDIR)\..\skins\plain_gray\footer.txt \ |
| 539 | $(SRCDIR)\..\skins\plain_gray\header.txt \ |
| 540 | $(SRCDIR)\..\skins\rounded1\css.txt \ |
| 541 | $(SRCDIR)\..\skins\rounded1\details.txt \ |
| 542 | $(SRCDIR)\..\skins\rounded1\footer.txt \ |
| 543 | $(SRCDIR)\..\skins\rounded1\header.txt \ |
| 544 | $(SRCDIR)\..\skins\xekri\css.txt \ |
| 545 | $(SRCDIR)\..\skins\xekri\details.txt \ |
| 546 | $(SRCDIR)\..\skins\xekri\footer.txt \ |
| 547 | $(SRCDIR)\..\skins\xekri\header.txt \ |
| 548 | $(SRCDIR)\accordion.js \ |
| 549 | $(SRCDIR)\ci_edit.js \ |
| 550 | $(SRCDIR)\copybtn.js \ |
| 551 | $(SRCDIR)\default.css \ |
| 552 | $(SRCDIR)\diff.tcl \ |
| 553 | $(SRCDIR)\forum.js \ |
| 554 | $(SRCDIR)\fossil.bootstrap.js \ |
| 555 | $(SRCDIR)\fossil.confirmer.js \ |
| 556 | $(SRCDIR)\fossil.dom.js \ |
| 557 | $(SRCDIR)\fossil.fetch.js \ |
| 558 | $(SRCDIR)\fossil.page.fileedit.js \ |
| 559 | $(SRCDIR)\fossil.storage.js \ |
| 560 | $(SRCDIR)\fossil.tabs.js \ |
| 561 | $(SRCDIR)\graph.js \ |
| 562 | $(SRCDIR)\href.js \ |
| 563 | $(SRCDIR)\login.js \ |
| 564 | $(SRCDIR)\markdown.md \ |
| 565 | $(SRCDIR)\menu.js \ |
| 566 | $(SRCDIR)\sbsdiff.js \ |
| 567 | $(SRCDIR)\scroll.js \ |
| 568 | $(SRCDIR)\skin.js \ |
| 569 | $(SRCDIR)\sorttable.js \ |
| 570 | $(SRCDIR)\sounds\0.wav \ |
| 571 | $(SRCDIR)\sounds\1.wav \ |
| 572 | $(SRCDIR)\sounds\2.wav \ |
| 573 | $(SRCDIR)\sounds\3.wav \ |
| 574 | $(SRCDIR)\sounds\4.wav \ |
| 575 | $(SRCDIR)\sounds\5.wav \ |
| 576 | $(SRCDIR)\sounds\6.wav \ |
| 577 | $(SRCDIR)\sounds\7.wav \ |
| 578 | $(SRCDIR)\sounds\8.wav \ |
| 579 | $(SRCDIR)\sounds\9.wav \ |
| 580 | $(SRCDIR)\sounds\a.wav \ |
| 581 | $(SRCDIR)\sounds\b.wav \ |
| 582 | $(SRCDIR)\sounds\c.wav \ |
| 583 | $(SRCDIR)\sounds\d.wav \ |
| 584 | $(SRCDIR)\sounds\e.wav \ |
| 585 | $(SRCDIR)\sounds\f.wav \ |
| 586 | $(SRCDIR)\style.admin_log.css \ |
| 587 | $(SRCDIR)\style.fileedit.css \ |
| 588 | $(SRCDIR)\tree.js \ |
| 589 | $(SRCDIR)\useredit.js \ |
| 590 | $(SRCDIR)\wiki.wiki |
| 591 | |
| 592 | OBJ = $(OX)\add$O \ |
| 593 | $(OX)\alerts$O \ |
| 594 | $(OX)\allrepo$O \ |
| 595 | $(OX)\attach$O \ |
| 596 | $(OX)\backlink$O \ |
| 597 | $(OX)\backoffice$O \ |
| 598 | $(OX)\bag$O \ |
| 599 | $(OX)\bisect$O \ |
| 600 | $(OX)\blob$O \ |
| 601 | $(OX)\branch$O \ |
| 602 | $(OX)\browse$O \ |
| 603 | $(OX)\builtin$O \ |
| 604 | $(OX)\bundle$O \ |
| 605 | $(OX)\cache$O \ |
| 606 | $(OX)\capabilities$O \ |
| 607 | $(OX)\captcha$O \ |
| 608 | $(OX)\cgi$O \ |
| 609 | $(OX)\checkin$O \ |
| 610 | $(OX)\checkout$O \ |
| 611 | $(OX)\clearsign$O \ |
| 612 | $(OX)\clone$O \ |
| 613 | $(OX)\comformat$O \ |
| 614 | $(OX)\configure$O \ |
| 615 | $(OX)\content$O \ |
| 616 | $(OX)\cookies$O \ |
| 617 | $(OX)\cson_amalgamation$O \ |
| 618 | $(OX)\db$O \ |
| 619 | $(OX)\delta$O \ |
| 620 | $(OX)\deltacmd$O \ |
| 621 | $(OX)\deltafunc$O \ |
| 622 | $(OX)\descendants$O \ |
| 623 | $(OX)\diff$O \ |
| 624 | $(OX)\diffcmd$O \ |
| 625 | $(OX)\dispatch$O \ |
| 626 | $(OX)\doc$O \ |
| 627 | $(OX)\encode$O \ |
| 628 | $(OX)\etag$O \ |
| 629 | $(OX)\event$O \ |
| 630 | $(OX)\export$O \ |
| 631 | $(OX)\extcgi$O \ |
| 632 | $(OX)\file$O \ |
| 633 | $(OX)\fileedit$O \ |
| 634 | $(OX)\finfo$O \ |
| 635 | $(OX)\foci$O \ |
| 636 | $(OX)\forum$O \ |
| 637 | $(OX)\fshell$O \ |
| 638 | $(OX)\fusefs$O \ |
| 639 | $(OX)\fuzz$O \ |
| 640 | $(OX)\glob$O \ |
| 641 | $(OX)\graph$O \ |
| 642 | $(OX)\gzip$O \ |
| 643 | $(OX)\hname$O \ |
| 644 | $(OX)\http$O \ |
| 645 | $(OX)\http_socket$O \ |
| 646 | $(OX)\http_ssl$O \ |
| 647 | $(OX)\http_transport$O \ |
| 648 | $(OX)\import$O \ |
| 649 | $(OX)\info$O \ |
| 650 | $(OX)\json$O \ |
| 651 | $(OX)\json_artifact$O \ |
| 652 | $(OX)\json_branch$O \ |
| 653 | $(OX)\json_config$O \ |
| 654 | $(OX)\json_diff$O \ |
| 655 | $(OX)\json_dir$O \ |
| 656 | $(OX)\json_finfo$O \ |
| 657 | $(OX)\json_login$O \ |
| 658 | $(OX)\json_query$O \ |
| 659 | $(OX)\json_report$O \ |
| 660 | $(OX)\json_status$O \ |
| 661 | $(OX)\json_tag$O \ |
| 662 | $(OX)\json_timeline$O \ |
| 663 | $(OX)\json_user$O \ |
| 664 | $(OX)\json_wiki$O \ |
| 665 | $(OX)\leaf$O \ |
| 666 | $(OX)\loadctrl$O \ |
| 667 | $(OX)\login$O \ |
| 668 | $(OX)\lookslike$O \ |
| 669 | $(OX)\main$O \ |
| 670 | $(OX)\manifest$O \ |
| 671 | $(OX)\markdown$O \ |
| 672 | $(OX)\markdown_html$O \ |
| 673 | $(OX)\md5$O \ |
| 674 | $(OX)\merge$O \ |
| 675 | $(OX)\merge3$O \ |
| 676 | $(OX)\moderate$O \ |
| 677 | $(OX)\name$O \ |
| 678 | $(OX)\path$O \ |
| 679 | $(OX)\piechart$O \ |
| 680 | $(OX)\pivot$O \ |
| 681 | $(OX)\popen$O \ |
| 682 | $(OX)\pqueue$O \ |
| 683 | $(OX)\printf$O \ |
| 684 | $(OX)\publish$O \ |
| 685 | $(OX)\purge$O \ |
| 686 | $(OX)\rebuild$O \ |
| 687 | $(OX)\regexp$O \ |
| 688 | $(OX)\repolist$O \ |
| 689 | $(OX)\report$O \ |
| 690 | $(OX)\rss$O \ |
| 691 | $(OX)\schema$O \ |
| 692 | $(OX)\search$O \ |
| 693 | $(OX)\security_audit$O \ |
| 694 | $(OX)\setup$O \ |
| 695 | $(OX)\setupuser$O \ |
| 696 | $(OX)\sha1$O \ |
| 697 | $(OX)\sha1hard$O \ |
| 698 | $(OX)\sha3$O \ |
| 699 | $(OX)\shell$O \ |
| 700 | $(OX)\shun$O \ |
| 701 | $(OX)\sitemap$O \ |
| 702 | $(OX)\skins$O \ |
| 703 | $(OX)\smtp$O \ |
| 704 | $(OX)\sqlcmd$O \ |
| 705 | $(OX)\sqlite3$O \ |
| 706 | $(OX)\stash$O \ |
| 707 | $(OX)\stat$O \ |
| 708 | $(OX)\statrep$O \ |
| 709 | $(OX)\style$O \ |
| 710 | $(OX)\sync$O \ |
| 711 | $(OX)\tag$O \ |
| 712 | $(OX)\tar$O \ |
| 713 | $(OX)\terminal$O \ |
| 714 | $(OX)\th$O \ |
| 715 | $(OX)\th_lang$O \ |
| 716 | $(OX)\th_main$O \ |
| 717 | $(OX)\th_tcl$O \ |
| 718 | $(OX)\timeline$O \ |
| 719 | $(OX)\tkt$O \ |
| 720 | $(OX)\tktsetup$O \ |
| 721 | $(OX)\undo$O \ |
| 722 | $(OX)\unicode$O \ |
| 723 | $(OX)\unversioned$O \ |
| 724 | $(OX)\update$O \ |
| 725 | $(OX)\url$O \ |
| 726 | $(OX)\user$O \ |
| 727 | $(OX)\utf8$O \ |
| 728 | $(OX)\util$O \ |
| 729 | $(OX)\verify$O \ |
| 730 | $(OX)\vfile$O \ |
| 731 | $(OX)\webmail$O \ |
| 732 | $(OX)\wiki$O \ |
| 733 | $(OX)\wikiformat$O \ |
| 734 | $(OX)\winfile$O \ |
| 735 | $(OX)\winhttp$O \ |
| 736 | $(OX)\wysiwyg$O \ |
| 737 | $(OX)\xfer$O \ |
| 738 | $(OX)\xfersetup$O \ |
| 739 | $(OX)\zip$O \ |
| 740 | !if $(FOSSIL_ENABLE_MINIZ)!=0 |
| 741 | $(OX)\miniz$O \ |
| 742 | !endif |
| 743 | $(OX)\fossil.res |
| 744 | |
| 745 | |
| 746 | !ifndef BASEAPPNAME |
| 747 | BASEAPPNAME = fossil |
| 748 | !endif |
| @@ -749,32 +765,52 @@ | |
| 749 | |
| 750 | APPNAME = $(OX)\$(BASEAPPNAME)$(E) |
| 751 | PDBNAME = $(OX)\$(BASEAPPNAME)$(P) |
| 752 | APPTARGETS = |
| 753 | |
| 754 | all: $(OX) $(APPNAME) |
| 755 | |
| 756 | zlib: |
| 757 | @echo Building zlib from "$(ZLIBDIR)"... |
| 758 | !if $(FOSSIL_ENABLE_WINXP)!=0 |
| 759 | @pushd "$(ZLIBDIR)" && $(MAKE) /f win32\Makefile.msc $(ZLIB) "CC=cl $(XPCFLAGS)" "LD=link $(XPLDFLAGS)" && popd |
| 760 | !else |
| 761 | @pushd "$(ZLIBDIR)" && $(MAKE) /f win32\Makefile.msc $(ZLIB) && popd |
| 762 | !endif |
| 763 | |
| 764 | !if $(FOSSIL_ENABLE_SSL)!=0 |
| 765 | openssl: |
| 766 | @echo Building OpenSSL from "$(SSLDIR)"... |
| 767 | !if "$(PERLDIR)" != "" |
| 768 | @set PATH=$(PERLDIR);$(PATH) |
| 769 | !endif |
| 770 | @pushd "$(SSLDIR)" && $(PERL) Configure $(SSLCONFIG) && popd |
| 771 | !if $(FOSSIL_ENABLE_WINXP)!=0 |
| 772 | @pushd "$(SSLDIR)" && $(MAKE) "CC=cl $(XPCFLAGS)" "LFLAGS=$(XPLDFLAGS)" && popd |
| 773 | !else |
| 774 | @pushd "$(SSLDIR)" && $(MAKE) && popd |
| 775 | !endif |
| 776 | !endif |
| 777 | |
| 778 | !if $(FOSSIL_ENABLE_MINIZ)==0 |
| 779 | !if $(FOSSIL_BUILD_ZLIB)!=0 |
| 780 | APPTARGETS = $(APPTARGETS) zlib |
| @@ -785,191 +821,188 @@ | |
| 785 | !if $(FOSSIL_BUILD_SSL)!=0 |
| 786 | APPTARGETS = $(APPTARGETS) openssl |
| 787 | !endif |
| 788 | !endif |
| 789 | |
| 790 | $(APPNAME) : $(APPTARGETS) translate$E mkindex$E codecheck1$E headers $(OBJ) $(OX)\linkopts |
| 791 | cd $(OX) |
| 792 | codecheck1$E $(SRC) |
| 793 | link $(LDFLAGS) /OUT:$@ $(LIBDIR) Wsetargv.obj fossil.res @linkopts |
| 794 | if exist [email protected] \ |
| 795 | $(MTC) -nologo -manifest [email protected] -outputresource:$@;1 |
| 796 | |
| 797 | $(OX)\linkopts: $B\win\Makefile.msc |
| 798 | echo $(OX)\add.obj > $@ |
| 799 | echo $(OX)\alerts.obj >> $@ |
| 800 | echo $(OX)\allrepo.obj >> $@ |
| 801 | echo $(OX)\attach.obj >> $@ |
| 802 | echo $(OX)\backlink.obj >> $@ |
| 803 | echo $(OX)\backoffice.obj >> $@ |
| 804 | echo $(OX)\bag.obj >> $@ |
| 805 | echo $(OX)\bisect.obj >> $@ |
| 806 | echo $(OX)\blob.obj >> $@ |
| 807 | echo $(OX)\branch.obj >> $@ |
| 808 | echo $(OX)\browse.obj >> $@ |
| 809 | echo $(OX)\builtin.obj >> $@ |
| 810 | echo $(OX)\bundle.obj >> $@ |
| 811 | echo $(OX)\cache.obj >> $@ |
| 812 | echo $(OX)\capabilities.obj >> $@ |
| 813 | echo $(OX)\captcha.obj >> $@ |
| 814 | echo $(OX)\cgi.obj >> $@ |
| 815 | echo $(OX)\checkin.obj >> $@ |
| 816 | echo $(OX)\checkout.obj >> $@ |
| 817 | echo $(OX)\clearsign.obj >> $@ |
| 818 | echo $(OX)\clone.obj >> $@ |
| 819 | echo $(OX)\comformat.obj >> $@ |
| 820 | echo $(OX)\configure.obj >> $@ |
| 821 | echo $(OX)\content.obj >> $@ |
| 822 | echo $(OX)\cookies.obj >> $@ |
| 823 | echo $(OX)\cson_amalgamation.obj >> $@ |
| 824 | echo $(OX)\db.obj >> $@ |
| 825 | echo $(OX)\delta.obj >> $@ |
| 826 | echo $(OX)\deltacmd.obj >> $@ |
| 827 | echo $(OX)\deltafunc.obj >> $@ |
| 828 | echo $(OX)\descendants.obj >> $@ |
| 829 | echo $(OX)\diff.obj >> $@ |
| 830 | echo $(OX)\diffcmd.obj >> $@ |
| 831 | echo $(OX)\dispatch.obj >> $@ |
| 832 | echo $(OX)\doc.obj >> $@ |
| 833 | echo $(OX)\encode.obj >> $@ |
| 834 | echo $(OX)\etag.obj >> $@ |
| 835 | echo $(OX)\event.obj >> $@ |
| 836 | echo $(OX)\export.obj >> $@ |
| 837 | echo $(OX)\extcgi.obj >> $@ |
| 838 | echo $(OX)\file.obj >> $@ |
| 839 | echo $(OX)\fileedit.obj >> $@ |
| 840 | echo $(OX)\finfo.obj >> $@ |
| 841 | echo $(OX)\foci.obj >> $@ |
| 842 | echo $(OX)\forum.obj >> $@ |
| 843 | echo $(OX)\fshell.obj >> $@ |
| 844 | echo $(OX)\fusefs.obj >> $@ |
| 845 | echo $(OX)\fuzz.obj >> $@ |
| 846 | echo $(OX)\glob.obj >> $@ |
| 847 | echo $(OX)\graph.obj >> $@ |
| 848 | echo $(OX)\gzip.obj >> $@ |
| 849 | echo $(OX)\hname.obj >> $@ |
| 850 | echo $(OX)\http.obj >> $@ |
| 851 | echo $(OX)\http_socket.obj >> $@ |
| 852 | echo $(OX)\http_ssl.obj >> $@ |
| 853 | echo $(OX)\http_transport.obj >> $@ |
| 854 | echo $(OX)\import.obj >> $@ |
| 855 | echo $(OX)\info.obj >> $@ |
| 856 | echo $(OX)\json.obj >> $@ |
| 857 | echo $(OX)\json_artifact.obj >> $@ |
| 858 | echo $(OX)\json_branch.obj >> $@ |
| 859 | echo $(OX)\json_config.obj >> $@ |
| 860 | echo $(OX)\json_diff.obj >> $@ |
| 861 | echo $(OX)\json_dir.obj >> $@ |
| 862 | echo $(OX)\json_finfo.obj >> $@ |
| 863 | echo $(OX)\json_login.obj >> $@ |
| 864 | echo $(OX)\json_query.obj >> $@ |
| 865 | echo $(OX)\json_report.obj >> $@ |
| 866 | echo $(OX)\json_status.obj >> $@ |
| 867 | echo $(OX)\json_tag.obj >> $@ |
| 868 | echo $(OX)\json_timeline.obj >> $@ |
| 869 | echo $(OX)\json_user.obj >> $@ |
| 870 | echo $(OX)\json_wiki.obj >> $@ |
| 871 | echo $(OX)\leaf.obj >> $@ |
| 872 | echo $(OX)\loadctrl.obj >> $@ |
| 873 | echo $(OX)\login.obj >> $@ |
| 874 | echo $(OX)\lookslike.obj >> $@ |
| 875 | echo $(OX)\main.obj >> $@ |
| 876 | echo $(OX)\manifest.obj >> $@ |
| 877 | echo $(OX)\markdown.obj >> $@ |
| 878 | echo $(OX)\markdown_html.obj >> $@ |
| 879 | echo $(OX)\md5.obj >> $@ |
| 880 | echo $(OX)\merge.obj >> $@ |
| 881 | echo $(OX)\merge3.obj >> $@ |
| 882 | echo $(OX)\moderate.obj >> $@ |
| 883 | echo $(OX)\name.obj >> $@ |
| 884 | echo $(OX)\path.obj >> $@ |
| 885 | echo $(OX)\piechart.obj >> $@ |
| 886 | echo $(OX)\pivot.obj >> $@ |
| 887 | echo $(OX)\popen.obj >> $@ |
| 888 | echo $(OX)\pqueue.obj >> $@ |
| 889 | echo $(OX)\printf.obj >> $@ |
| 890 | echo $(OX)\publish.obj >> $@ |
| 891 | echo $(OX)\purge.obj >> $@ |
| 892 | echo $(OX)\rebuild.obj >> $@ |
| 893 | echo $(OX)\regexp.obj >> $@ |
| 894 | echo $(OX)\repolist.obj >> $@ |
| 895 | echo $(OX)\report.obj >> $@ |
| 896 | echo $(OX)\rss.obj >> $@ |
| 897 | echo $(OX)\schema.obj >> $@ |
| 898 | echo $(OX)\search.obj >> $@ |
| 899 | echo $(OX)\security_audit.obj >> $@ |
| 900 | echo $(OX)\setup.obj >> $@ |
| 901 | echo $(OX)\setupuser.obj >> $@ |
| 902 | echo $(OX)\sha1.obj >> $@ |
| 903 | echo $(OX)\sha1hard.obj >> $@ |
| 904 | echo $(OX)\sha3.obj >> $@ |
| 905 | echo $(OX)\shell.obj >> $@ |
| 906 | echo $(OX)\shun.obj >> $@ |
| 907 | echo $(OX)\sitemap.obj >> $@ |
| 908 | echo $(OX)\skins.obj >> $@ |
| 909 | echo $(OX)\smtp.obj >> $@ |
| 910 | echo $(OX)\sqlcmd.obj >> $@ |
| 911 | echo $(OX)\sqlite3.obj >> $@ |
| 912 | echo $(OX)\stash.obj >> $@ |
| 913 | echo $(OX)\stat.obj >> $@ |
| 914 | echo $(OX)\statrep.obj >> $@ |
| 915 | echo $(OX)\style.obj >> $@ |
| 916 | echo $(OX)\sync.obj >> $@ |
| 917 | echo $(OX)\tag.obj >> $@ |
| 918 | echo $(OX)\tar.obj >> $@ |
| 919 | echo $(OX)\terminal.obj >> $@ |
| 920 | echo $(OX)\th.obj >> $@ |
| 921 | echo $(OX)\th_lang.obj >> $@ |
| 922 | echo $(OX)\th_main.obj >> $@ |
| 923 | echo $(OX)\th_tcl.obj >> $@ |
| 924 | echo $(OX)\timeline.obj >> $@ |
| 925 | echo $(OX)\tkt.obj >> $@ |
| 926 | echo $(OX)\tktsetup.obj >> $@ |
| 927 | echo $(OX)\undo.obj >> $@ |
| 928 | echo $(OX)\unicode.obj >> $@ |
| 929 | echo $(OX)\unversioned.obj >> $@ |
| 930 | echo $(OX)\update.obj >> $@ |
| 931 | echo $(OX)\url.obj >> $@ |
| 932 | echo $(OX)\user.obj >> $@ |
| 933 | echo $(OX)\utf8.obj >> $@ |
| 934 | echo $(OX)\util.obj >> $@ |
| 935 | echo $(OX)\verify.obj >> $@ |
| 936 | echo $(OX)\vfile.obj >> $@ |
| 937 | echo $(OX)\webmail.obj >> $@ |
| 938 | echo $(OX)\wiki.obj >> $@ |
| 939 | echo $(OX)\wikiformat.obj >> $@ |
| 940 | echo $(OX)\winfile.obj >> $@ |
| 941 | echo $(OX)\winhttp.obj >> $@ |
| 942 | echo $(OX)\wysiwyg.obj >> $@ |
| 943 | echo $(OX)\xfer.obj >> $@ |
| 944 | echo $(OX)\xfersetup.obj >> $@ |
| 945 | echo $(OX)\zip.obj >> $@ |
| 946 | !if $(FOSSIL_ENABLE_MINIZ)!=0 |
| 947 | echo $(OX)\miniz.obj >> $@ |
| 948 | !endif |
| 949 | echo $(LIBS) >> $@ |
| 950 | |
| 951 | $(OX): |
| 952 | @-mkdir $@ |
| 953 | |
| 954 | translate$E: $(SRCDIR)\translate.c |
| 955 | $(BCC) $** |
| 956 | |
| 957 | makeheaders$E: $(SRCDIR)\makeheaders.c |
| 958 | $(BCC) $** |
| 959 | |
| 960 | mkindex$E: $(SRCDIR)\mkindex.c |
| 961 | $(BCC) $** |
| 962 | |
| 963 | mkbuiltin$E: $(SRCDIR)\mkbuiltin.c |
| 964 | $(BCC) $** |
| 965 | |
| 966 | mkversion$E: $(SRCDIR)\mkversion.c |
| 967 | $(BCC) $** |
| 968 | |
| 969 | codecheck1$E: $(SRCDIR)\codecheck1.c |
| 970 | $(BCC) $** |
| 971 | |
| 972 | !if $(USE_SEE)!=0 |
| 973 | SEE_FLAGS = /DSQLITE_HAS_CODEC=1 /DSQLITE_SHELL_DBKEY_PROC=fossil_key |
| 974 | SQLITE3_SHELL_SRC = $(SRCDIR)\shell-see.c |
| 975 | SQLITE3_SRC = $(SRCDIR)\sqlite3-see.c |
| @@ -977,1082 +1010,1195 @@ | |
| 977 | SEE_FLAGS = |
| 978 | SQLITE3_SHELL_SRC = $(SRCDIR)\shell.c |
| 979 | SQLITE3_SRC = $(SRCDIR)\sqlite3.c |
| 980 | !endif |
| 981 | |
| 982 | $(OX)\shell$O : $(SQLITE3_SHELL_SRC) $B\win\Makefile.msc |
| 983 | $(TCC) /Fo$@ $(SHELL_OPTIONS) $(SQLITE_OPTIONS) $(SHELL_CFLAGS) $(SEE_FLAGS) -c $(SQLITE3_SHELL_SRC) |
| 984 | |
| 985 | $(OX)\sqlite3$O : $(SQLITE3_SRC) $B\win\Makefile.msc |
| 986 | $(TCC) /Fo$@ -c $(SQLITE_OPTIONS) $(SQLITE_CFLAGS) $(SEE_FLAGS) $(SQLITE3_SRC) |
| 987 | |
| 988 | $(OX)\th$O : $(SRCDIR)\th.c |
| 989 | $(TCC) /Fo$@ -c $** |
| 990 | |
| 991 | $(OX)\th_lang$O : $(SRCDIR)\th_lang.c |
| 992 | $(TCC) /Fo$@ -c $** |
| 993 | |
| 994 | $(OX)\th_tcl$O : $(SRCDIR)\th_tcl.c |
| 995 | $(TCC) /Fo$@ -c $** |
| 996 | |
| 997 | $(OX)\miniz$O : $(SRCDIR)\miniz.c |
| 998 | $(TCC) /Fo$@ -c $(MINIZ_OPTIONS) $(SRCDIR)\miniz.c |
| 999 | |
| 1000 | VERSION.h : mkversion$E $B\manifest.uuid $B\manifest $B\VERSION |
| 1001 | $** > $@ |
| 1002 | |
| 1003 | $(OX)\cson_amalgamation$O : $(SRCDIR)\cson_amalgamation.c |
| 1004 | $(TCC) /Fo$@ /c $** |
| 1005 | |
| 1006 | page_index.h: mkindex$E $(SRC) |
| 1007 | $** > $@ |
| 1008 | |
| 1009 | builtin_data.h: mkbuiltin$E $(EXTRA_FILES) |
| 1010 | mkbuiltin$E --prefix $(SRCDIR)/ $(EXTRA_FILES) > $@ |
| 1011 | |
| 1012 | clean: |
| 1013 | -del $(OX)\*.obj 2>NUL |
| 1014 | -del *.obj 2>NUL |
| 1015 | -del *_.c 2>NUL |
| 1016 | -del *.h 2>NUL |
| 1017 | -del *.ilk 2>NUL |
| 1018 | -del *.map 2>NUL |
| 1019 | -del *.res 2>NUL |
| 1020 | -del headers 2>NUL |
| 1021 | -del linkopts 2>NUL |
| 1022 | -del vc*.pdb 2>NUL |
| 1023 | |
| 1024 | realclean: clean |
| 1025 | -del $(APPNAME) 2>NUL |
| 1026 | -del $(PDBNAME) 2>NUL |
| 1027 | -del translate$E 2>NUL |
| 1028 | -del translate$P 2>NUL |
| 1029 | -del mkindex$E 2>NUL |
| 1030 | -del mkindex$P 2>NUL |
| 1031 | -del makeheaders$E 2>NUL |
| 1032 | -del makeheaders$P 2>NUL |
| 1033 | -del mkversion$E 2>NUL |
| 1034 | -del mkversion$P 2>NUL |
| 1035 | -del codecheck1$E 2>NUL |
| 1036 | -del codecheck1$P 2>NUL |
| 1037 | -del mkbuiltin$E 2>NUL |
| 1038 | -del mkbuiltin$P 2>NUL |
| 1039 | |
| 1040 | $(OBJDIR)\json$O : $(SRCDIR)\json_detail.h |
| 1041 | $(OBJDIR)\json_artifact$O : $(SRCDIR)\json_detail.h |
| 1042 | $(OBJDIR)\json_branch$O : $(SRCDIR)\json_detail.h |
| 1043 | $(OBJDIR)\json_config$O : $(SRCDIR)\json_detail.h |
| 1044 | $(OBJDIR)\json_diff$O : $(SRCDIR)\json_detail.h |
| 1045 | $(OBJDIR)\json_dir$O : $(SRCDIR)\json_detail.h |
| 1046 | $(OBJDIR)\json_finfo$O : $(SRCDIR)\json_detail.h |
| 1047 | $(OBJDIR)\json_login$O : $(SRCDIR)\json_detail.h |
| 1048 | $(OBJDIR)\json_query$O : $(SRCDIR)\json_detail.h |
| 1049 | $(OBJDIR)\json_report$O : $(SRCDIR)\json_detail.h |
| 1050 | $(OBJDIR)\json_status$O : $(SRCDIR)\json_detail.h |
| 1051 | $(OBJDIR)\json_tag$O : $(SRCDIR)\json_detail.h |
| 1052 | $(OBJDIR)\json_timeline$O : $(SRCDIR)\json_detail.h |
| 1053 | $(OBJDIR)\json_user$O : $(SRCDIR)\json_detail.h |
| 1054 | $(OBJDIR)\json_wiki$O : $(SRCDIR)\json_detail.h |
| 1055 | |
| 1056 | $(OX)\add$O : add_.c add.h |
| 1057 | $(TCC) /Fo$@ -c add_.c |
| 1058 | |
| 1059 | add_.c : $(SRCDIR)\add.c |
| 1060 | translate$E $** > $@ |
| 1061 | |
| 1062 | $(OX)\alerts$O : alerts_.c alerts.h |
| 1063 | $(TCC) /Fo$@ -c alerts_.c |
| 1064 | |
| 1065 | alerts_.c : $(SRCDIR)\alerts.c |
| 1066 | translate$E $** > $@ |
| 1067 | |
| 1068 | $(OX)\allrepo$O : allrepo_.c allrepo.h |
| 1069 | $(TCC) /Fo$@ -c allrepo_.c |
| 1070 | |
| 1071 | allrepo_.c : $(SRCDIR)\allrepo.c |
| 1072 | translate$E $** > $@ |
| 1073 | |
| 1074 | $(OX)\attach$O : attach_.c attach.h |
| 1075 | $(TCC) /Fo$@ -c attach_.c |
| 1076 | |
| 1077 | attach_.c : $(SRCDIR)\attach.c |
| 1078 | translate$E $** > $@ |
| 1079 | |
| 1080 | $(OX)\backlink$O : backlink_.c backlink.h |
| 1081 | $(TCC) /Fo$@ -c backlink_.c |
| 1082 | |
| 1083 | backlink_.c : $(SRCDIR)\backlink.c |
| 1084 | translate$E $** > $@ |
| 1085 | |
| 1086 | $(OX)\backoffice$O : backoffice_.c backoffice.h |
| 1087 | $(TCC) /Fo$@ -c backoffice_.c |
| 1088 | |
| 1089 | backoffice_.c : $(SRCDIR)\backoffice.c |
| 1090 | translate$E $** > $@ |
| 1091 | |
| 1092 | $(OX)\bag$O : bag_.c bag.h |
| 1093 | $(TCC) /Fo$@ -c bag_.c |
| 1094 | |
| 1095 | bag_.c : $(SRCDIR)\bag.c |
| 1096 | translate$E $** > $@ |
| 1097 | |
| 1098 | $(OX)\bisect$O : bisect_.c bisect.h |
| 1099 | $(TCC) /Fo$@ -c bisect_.c |
| 1100 | |
| 1101 | bisect_.c : $(SRCDIR)\bisect.c |
| 1102 | translate$E $** > $@ |
| 1103 | |
| 1104 | $(OX)\blob$O : blob_.c blob.h |
| 1105 | $(TCC) /Fo$@ -c blob_.c |
| 1106 | |
| 1107 | blob_.c : $(SRCDIR)\blob.c |
| 1108 | translate$E $** > $@ |
| 1109 | |
| 1110 | $(OX)\branch$O : branch_.c branch.h |
| 1111 | $(TCC) /Fo$@ -c branch_.c |
| 1112 | |
| 1113 | branch_.c : $(SRCDIR)\branch.c |
| 1114 | translate$E $** > $@ |
| 1115 | |
| 1116 | $(OX)\browse$O : browse_.c browse.h |
| 1117 | $(TCC) /Fo$@ -c browse_.c |
| 1118 | |
| 1119 | browse_.c : $(SRCDIR)\browse.c |
| 1120 | translate$E $** > $@ |
| 1121 | |
| 1122 | $(OX)\builtin$O : builtin_.c builtin.h |
| 1123 | $(TCC) /Fo$@ -c builtin_.c |
| 1124 | |
| 1125 | builtin_.c : $(SRCDIR)\builtin.c |
| 1126 | translate$E $** > $@ |
| 1127 | |
| 1128 | $(OX)\bundle$O : bundle_.c bundle.h |
| 1129 | $(TCC) /Fo$@ -c bundle_.c |
| 1130 | |
| 1131 | bundle_.c : $(SRCDIR)\bundle.c |
| 1132 | translate$E $** > $@ |
| 1133 | |
| 1134 | $(OX)\cache$O : cache_.c cache.h |
| 1135 | $(TCC) /Fo$@ -c cache_.c |
| 1136 | |
| 1137 | cache_.c : $(SRCDIR)\cache.c |
| 1138 | translate$E $** > $@ |
| 1139 | |
| 1140 | $(OX)\capabilities$O : capabilities_.c capabilities.h |
| 1141 | $(TCC) /Fo$@ -c capabilities_.c |
| 1142 | |
| 1143 | capabilities_.c : $(SRCDIR)\capabilities.c |
| 1144 | translate$E $** > $@ |
| 1145 | |
| 1146 | $(OX)\captcha$O : captcha_.c captcha.h |
| 1147 | $(TCC) /Fo$@ -c captcha_.c |
| 1148 | |
| 1149 | captcha_.c : $(SRCDIR)\captcha.c |
| 1150 | translate$E $** > $@ |
| 1151 | |
| 1152 | $(OX)\cgi$O : cgi_.c cgi.h |
| 1153 | $(TCC) /Fo$@ -c cgi_.c |
| 1154 | |
| 1155 | cgi_.c : $(SRCDIR)\cgi.c |
| 1156 | translate$E $** > $@ |
| 1157 | |
| 1158 | $(OX)\checkin$O : checkin_.c checkin.h |
| 1159 | $(TCC) /Fo$@ -c checkin_.c |
| 1160 | |
| 1161 | checkin_.c : $(SRCDIR)\checkin.c |
| 1162 | translate$E $** > $@ |
| 1163 | |
| 1164 | $(OX)\checkout$O : checkout_.c checkout.h |
| 1165 | $(TCC) /Fo$@ -c checkout_.c |
| 1166 | |
| 1167 | checkout_.c : $(SRCDIR)\checkout.c |
| 1168 | translate$E $** > $@ |
| 1169 | |
| 1170 | $(OX)\clearsign$O : clearsign_.c clearsign.h |
| 1171 | $(TCC) /Fo$@ -c clearsign_.c |
| 1172 | |
| 1173 | clearsign_.c : $(SRCDIR)\clearsign.c |
| 1174 | translate$E $** > $@ |
| 1175 | |
| 1176 | $(OX)\clone$O : clone_.c clone.h |
| 1177 | $(TCC) /Fo$@ -c clone_.c |
| 1178 | |
| 1179 | clone_.c : $(SRCDIR)\clone.c |
| 1180 | translate$E $** > $@ |
| 1181 | |
| 1182 | $(OX)\comformat$O : comformat_.c comformat.h |
| 1183 | $(TCC) /Fo$@ -c comformat_.c |
| 1184 | |
| 1185 | comformat_.c : $(SRCDIR)\comformat.c |
| 1186 | translate$E $** > $@ |
| 1187 | |
| 1188 | $(OX)\configure$O : configure_.c configure.h |
| 1189 | $(TCC) /Fo$@ -c configure_.c |
| 1190 | |
| 1191 | configure_.c : $(SRCDIR)\configure.c |
| 1192 | translate$E $** > $@ |
| 1193 | |
| 1194 | $(OX)\content$O : content_.c content.h |
| 1195 | $(TCC) /Fo$@ -c content_.c |
| 1196 | |
| 1197 | content_.c : $(SRCDIR)\content.c |
| 1198 | translate$E $** > $@ |
| 1199 | |
| 1200 | $(OX)\cookies$O : cookies_.c cookies.h |
| 1201 | $(TCC) /Fo$@ -c cookies_.c |
| 1202 | |
| 1203 | cookies_.c : $(SRCDIR)\cookies.c |
| 1204 | translate$E $** > $@ |
| 1205 | |
| 1206 | $(OX)\db$O : db_.c db.h |
| 1207 | $(TCC) /Fo$@ -c db_.c |
| 1208 | |
| 1209 | db_.c : $(SRCDIR)\db.c |
| 1210 | translate$E $** > $@ |
| 1211 | |
| 1212 | $(OX)\delta$O : delta_.c delta.h |
| 1213 | $(TCC) /Fo$@ -c delta_.c |
| 1214 | |
| 1215 | delta_.c : $(SRCDIR)\delta.c |
| 1216 | translate$E $** > $@ |
| 1217 | |
| 1218 | $(OX)\deltacmd$O : deltacmd_.c deltacmd.h |
| 1219 | $(TCC) /Fo$@ -c deltacmd_.c |
| 1220 | |
| 1221 | deltacmd_.c : $(SRCDIR)\deltacmd.c |
| 1222 | translate$E $** > $@ |
| 1223 | |
| 1224 | $(OX)\deltafunc$O : deltafunc_.c deltafunc.h |
| 1225 | $(TCC) /Fo$@ -c deltafunc_.c |
| 1226 | |
| 1227 | deltafunc_.c : $(SRCDIR)\deltafunc.c |
| 1228 | translate$E $** > $@ |
| 1229 | |
| 1230 | $(OX)\descendants$O : descendants_.c descendants.h |
| 1231 | $(TCC) /Fo$@ -c descendants_.c |
| 1232 | |
| 1233 | descendants_.c : $(SRCDIR)\descendants.c |
| 1234 | translate$E $** > $@ |
| 1235 | |
| 1236 | $(OX)\diff$O : diff_.c diff.h |
| 1237 | $(TCC) /Fo$@ -c diff_.c |
| 1238 | |
| 1239 | diff_.c : $(SRCDIR)\diff.c |
| 1240 | translate$E $** > $@ |
| 1241 | |
| 1242 | $(OX)\diffcmd$O : diffcmd_.c diffcmd.h |
| 1243 | $(TCC) /Fo$@ -c diffcmd_.c |
| 1244 | |
| 1245 | diffcmd_.c : $(SRCDIR)\diffcmd.c |
| 1246 | translate$E $** > $@ |
| 1247 | |
| 1248 | $(OX)\dispatch$O : dispatch_.c dispatch.h |
| 1249 | $(TCC) /Fo$@ -c dispatch_.c |
| 1250 | |
| 1251 | dispatch_.c : $(SRCDIR)\dispatch.c |
| 1252 | translate$E $** > $@ |
| 1253 | |
| 1254 | $(OX)\doc$O : doc_.c doc.h |
| 1255 | $(TCC) /Fo$@ -c doc_.c |
| 1256 | |
| 1257 | doc_.c : $(SRCDIR)\doc.c |
| 1258 | translate$E $** > $@ |
| 1259 | |
| 1260 | $(OX)\encode$O : encode_.c encode.h |
| 1261 | $(TCC) /Fo$@ -c encode_.c |
| 1262 | |
| 1263 | encode_.c : $(SRCDIR)\encode.c |
| 1264 | translate$E $** > $@ |
| 1265 | |
| 1266 | $(OX)\etag$O : etag_.c etag.h |
| 1267 | $(TCC) /Fo$@ -c etag_.c |
| 1268 | |
| 1269 | etag_.c : $(SRCDIR)\etag.c |
| 1270 | translate$E $** > $@ |
| 1271 | |
| 1272 | $(OX)\event$O : event_.c event.h |
| 1273 | $(TCC) /Fo$@ -c event_.c |
| 1274 | |
| 1275 | event_.c : $(SRCDIR)\event.c |
| 1276 | translate$E $** > $@ |
| 1277 | |
| 1278 | $(OX)\export$O : export_.c export.h |
| 1279 | $(TCC) /Fo$@ -c export_.c |
| 1280 | |
| 1281 | export_.c : $(SRCDIR)\export.c |
| 1282 | translate$E $** > $@ |
| 1283 | |
| 1284 | $(OX)\extcgi$O : extcgi_.c extcgi.h |
| 1285 | $(TCC) /Fo$@ -c extcgi_.c |
| 1286 | |
| 1287 | extcgi_.c : $(SRCDIR)\extcgi.c |
| 1288 | translate$E $** > $@ |
| 1289 | |
| 1290 | $(OX)\file$O : file_.c file.h |
| 1291 | $(TCC) /Fo$@ -c file_.c |
| 1292 | |
| 1293 | file_.c : $(SRCDIR)\file.c |
| 1294 | translate$E $** > $@ |
| 1295 | |
| 1296 | $(OX)\fileedit$O : fileedit_.c fileedit.h |
| 1297 | $(TCC) /Fo$@ -c fileedit_.c |
| 1298 | |
| 1299 | fileedit_.c : $(SRCDIR)\fileedit.c |
| 1300 | translate$E $** > $@ |
| 1301 | |
| 1302 | $(OX)\finfo$O : finfo_.c finfo.h |
| 1303 | $(TCC) /Fo$@ -c finfo_.c |
| 1304 | |
| 1305 | finfo_.c : $(SRCDIR)\finfo.c |
| 1306 | translate$E $** > $@ |
| 1307 | |
| 1308 | $(OX)\foci$O : foci_.c foci.h |
| 1309 | $(TCC) /Fo$@ -c foci_.c |
| 1310 | |
| 1311 | foci_.c : $(SRCDIR)\foci.c |
| 1312 | translate$E $** > $@ |
| 1313 | |
| 1314 | $(OX)\forum$O : forum_.c forum.h |
| 1315 | $(TCC) /Fo$@ -c forum_.c |
| 1316 | |
| 1317 | forum_.c : $(SRCDIR)\forum.c |
| 1318 | translate$E $** > $@ |
| 1319 | |
| 1320 | $(OX)\fshell$O : fshell_.c fshell.h |
| 1321 | $(TCC) /Fo$@ -c fshell_.c |
| 1322 | |
| 1323 | fshell_.c : $(SRCDIR)\fshell.c |
| 1324 | translate$E $** > $@ |
| 1325 | |
| 1326 | $(OX)\fusefs$O : fusefs_.c fusefs.h |
| 1327 | $(TCC) /Fo$@ -c fusefs_.c |
| 1328 | |
| 1329 | fusefs_.c : $(SRCDIR)\fusefs.c |
| 1330 | translate$E $** > $@ |
| 1331 | |
| 1332 | $(OX)\fuzz$O : fuzz_.c fuzz.h |
| 1333 | $(TCC) /Fo$@ -c fuzz_.c |
| 1334 | |
| 1335 | fuzz_.c : $(SRCDIR)\fuzz.c |
| 1336 | translate$E $** > $@ |
| 1337 | |
| 1338 | $(OX)\glob$O : glob_.c glob.h |
| 1339 | $(TCC) /Fo$@ -c glob_.c |
| 1340 | |
| 1341 | glob_.c : $(SRCDIR)\glob.c |
| 1342 | translate$E $** > $@ |
| 1343 | |
| 1344 | $(OX)\graph$O : graph_.c graph.h |
| 1345 | $(TCC) /Fo$@ -c graph_.c |
| 1346 | |
| 1347 | graph_.c : $(SRCDIR)\graph.c |
| 1348 | translate$E $** > $@ |
| 1349 | |
| 1350 | $(OX)\gzip$O : gzip_.c gzip.h |
| 1351 | $(TCC) /Fo$@ -c gzip_.c |
| 1352 | |
| 1353 | gzip_.c : $(SRCDIR)\gzip.c |
| 1354 | translate$E $** > $@ |
| 1355 | |
| 1356 | $(OX)\hname$O : hname_.c hname.h |
| 1357 | $(TCC) /Fo$@ -c hname_.c |
| 1358 | |
| 1359 | hname_.c : $(SRCDIR)\hname.c |
| 1360 | translate$E $** > $@ |
| 1361 | |
| 1362 | $(OX)\http$O : http_.c http.h |
| 1363 | $(TCC) /Fo$@ -c http_.c |
| 1364 | |
| 1365 | http_.c : $(SRCDIR)\http.c |
| 1366 | translate$E $** > $@ |
| 1367 | |
| 1368 | $(OX)\http_socket$O : http_socket_.c http_socket.h |
| 1369 | $(TCC) /Fo$@ -c http_socket_.c |
| 1370 | |
| 1371 | http_socket_.c : $(SRCDIR)\http_socket.c |
| 1372 | translate$E $** > $@ |
| 1373 | |
| 1374 | $(OX)\http_ssl$O : http_ssl_.c http_ssl.h |
| 1375 | $(TCC) /Fo$@ -c http_ssl_.c |
| 1376 | |
| 1377 | http_ssl_.c : $(SRCDIR)\http_ssl.c |
| 1378 | translate$E $** > $@ |
| 1379 | |
| 1380 | $(OX)\http_transport$O : http_transport_.c http_transport.h |
| 1381 | $(TCC) /Fo$@ -c http_transport_.c |
| 1382 | |
| 1383 | http_transport_.c : $(SRCDIR)\http_transport.c |
| 1384 | translate$E $** > $@ |
| 1385 | |
| 1386 | $(OX)\import$O : import_.c import.h |
| 1387 | $(TCC) /Fo$@ -c import_.c |
| 1388 | |
| 1389 | import_.c : $(SRCDIR)\import.c |
| 1390 | translate$E $** > $@ |
| 1391 | |
| 1392 | $(OX)\info$O : info_.c info.h |
| 1393 | $(TCC) /Fo$@ -c info_.c |
| 1394 | |
| 1395 | info_.c : $(SRCDIR)\info.c |
| 1396 | translate$E $** > $@ |
| 1397 | |
| 1398 | $(OX)\json$O : json_.c json.h |
| 1399 | $(TCC) /Fo$@ -c json_.c |
| 1400 | |
| 1401 | json_.c : $(SRCDIR)\json.c |
| 1402 | translate$E $** > $@ |
| 1403 | |
| 1404 | $(OX)\json_artifact$O : json_artifact_.c json_artifact.h |
| 1405 | $(TCC) /Fo$@ -c json_artifact_.c |
| 1406 | |
| 1407 | json_artifact_.c : $(SRCDIR)\json_artifact.c |
| 1408 | translate$E $** > $@ |
| 1409 | |
| 1410 | $(OX)\json_branch$O : json_branch_.c json_branch.h |
| 1411 | $(TCC) /Fo$@ -c json_branch_.c |
| 1412 | |
| 1413 | json_branch_.c : $(SRCDIR)\json_branch.c |
| 1414 | translate$E $** > $@ |
| 1415 | |
| 1416 | $(OX)\json_config$O : json_config_.c json_config.h |
| 1417 | $(TCC) /Fo$@ -c json_config_.c |
| 1418 | |
| 1419 | json_config_.c : $(SRCDIR)\json_config.c |
| 1420 | translate$E $** > $@ |
| 1421 | |
| 1422 | $(OX)\json_diff$O : json_diff_.c json_diff.h |
| 1423 | $(TCC) /Fo$@ -c json_diff_.c |
| 1424 | |
| 1425 | json_diff_.c : $(SRCDIR)\json_diff.c |
| 1426 | translate$E $** > $@ |
| 1427 | |
| 1428 | $(OX)\json_dir$O : json_dir_.c json_dir.h |
| 1429 | $(TCC) /Fo$@ -c json_dir_.c |
| 1430 | |
| 1431 | json_dir_.c : $(SRCDIR)\json_dir.c |
| 1432 | translate$E $** > $@ |
| 1433 | |
| 1434 | $(OX)\json_finfo$O : json_finfo_.c json_finfo.h |
| 1435 | $(TCC) /Fo$@ -c json_finfo_.c |
| 1436 | |
| 1437 | json_finfo_.c : $(SRCDIR)\json_finfo.c |
| 1438 | translate$E $** > $@ |
| 1439 | |
| 1440 | $(OX)\json_login$O : json_login_.c json_login.h |
| 1441 | $(TCC) /Fo$@ -c json_login_.c |
| 1442 | |
| 1443 | json_login_.c : $(SRCDIR)\json_login.c |
| 1444 | translate$E $** > $@ |
| 1445 | |
| 1446 | $(OX)\json_query$O : json_query_.c json_query.h |
| 1447 | $(TCC) /Fo$@ -c json_query_.c |
| 1448 | |
| 1449 | json_query_.c : $(SRCDIR)\json_query.c |
| 1450 | translate$E $** > $@ |
| 1451 | |
| 1452 | $(OX)\json_report$O : json_report_.c json_report.h |
| 1453 | $(TCC) /Fo$@ -c json_report_.c |
| 1454 | |
| 1455 | json_report_.c : $(SRCDIR)\json_report.c |
| 1456 | translate$E $** > $@ |
| 1457 | |
| 1458 | $(OX)\json_status$O : json_status_.c json_status.h |
| 1459 | $(TCC) /Fo$@ -c json_status_.c |
| 1460 | |
| 1461 | json_status_.c : $(SRCDIR)\json_status.c |
| 1462 | translate$E $** > $@ |
| 1463 | |
| 1464 | $(OX)\json_tag$O : json_tag_.c json_tag.h |
| 1465 | $(TCC) /Fo$@ -c json_tag_.c |
| 1466 | |
| 1467 | json_tag_.c : $(SRCDIR)\json_tag.c |
| 1468 | translate$E $** > $@ |
| 1469 | |
| 1470 | $(OX)\json_timeline$O : json_timeline_.c json_timeline.h |
| 1471 | $(TCC) /Fo$@ -c json_timeline_.c |
| 1472 | |
| 1473 | json_timeline_.c : $(SRCDIR)\json_timeline.c |
| 1474 | translate$E $** > $@ |
| 1475 | |
| 1476 | $(OX)\json_user$O : json_user_.c json_user.h |
| 1477 | $(TCC) /Fo$@ -c json_user_.c |
| 1478 | |
| 1479 | json_user_.c : $(SRCDIR)\json_user.c |
| 1480 | translate$E $** > $@ |
| 1481 | |
| 1482 | $(OX)\json_wiki$O : json_wiki_.c json_wiki.h |
| 1483 | $(TCC) /Fo$@ -c json_wiki_.c |
| 1484 | |
| 1485 | json_wiki_.c : $(SRCDIR)\json_wiki.c |
| 1486 | translate$E $** > $@ |
| 1487 | |
| 1488 | $(OX)\leaf$O : leaf_.c leaf.h |
| 1489 | $(TCC) /Fo$@ -c leaf_.c |
| 1490 | |
| 1491 | leaf_.c : $(SRCDIR)\leaf.c |
| 1492 | translate$E $** > $@ |
| 1493 | |
| 1494 | $(OX)\loadctrl$O : loadctrl_.c loadctrl.h |
| 1495 | $(TCC) /Fo$@ -c loadctrl_.c |
| 1496 | |
| 1497 | loadctrl_.c : $(SRCDIR)\loadctrl.c |
| 1498 | translate$E $** > $@ |
| 1499 | |
| 1500 | $(OX)\login$O : login_.c login.h |
| 1501 | $(TCC) /Fo$@ -c login_.c |
| 1502 | |
| 1503 | login_.c : $(SRCDIR)\login.c |
| 1504 | translate$E $** > $@ |
| 1505 | |
| 1506 | $(OX)\lookslike$O : lookslike_.c lookslike.h |
| 1507 | $(TCC) /Fo$@ -c lookslike_.c |
| 1508 | |
| 1509 | lookslike_.c : $(SRCDIR)\lookslike.c |
| 1510 | translate$E $** > $@ |
| 1511 | |
| 1512 | $(OX)\main$O : main_.c main.h |
| 1513 | $(TCC) /Fo$@ -c main_.c |
| 1514 | |
| 1515 | main_.c : $(SRCDIR)\main.c |
| 1516 | translate$E $** > $@ |
| 1517 | |
| 1518 | $(OX)\manifest$O : manifest_.c manifest.h |
| 1519 | $(TCC) /Fo$@ -c manifest_.c |
| 1520 | |
| 1521 | manifest_.c : $(SRCDIR)\manifest.c |
| 1522 | translate$E $** > $@ |
| 1523 | |
| 1524 | $(OX)\markdown$O : markdown_.c markdown.h |
| 1525 | $(TCC) /Fo$@ -c markdown_.c |
| 1526 | |
| 1527 | markdown_.c : $(SRCDIR)\markdown.c |
| 1528 | translate$E $** > $@ |
| 1529 | |
| 1530 | $(OX)\markdown_html$O : markdown_html_.c markdown_html.h |
| 1531 | $(TCC) /Fo$@ -c markdown_html_.c |
| 1532 | |
| 1533 | markdown_html_.c : $(SRCDIR)\markdown_html.c |
| 1534 | translate$E $** > $@ |
| 1535 | |
| 1536 | $(OX)\md5$O : md5_.c md5.h |
| 1537 | $(TCC) /Fo$@ -c md5_.c |
| 1538 | |
| 1539 | md5_.c : $(SRCDIR)\md5.c |
| 1540 | translate$E $** > $@ |
| 1541 | |
| 1542 | $(OX)\merge$O : merge_.c merge.h |
| 1543 | $(TCC) /Fo$@ -c merge_.c |
| 1544 | |
| 1545 | merge_.c : $(SRCDIR)\merge.c |
| 1546 | translate$E $** > $@ |
| 1547 | |
| 1548 | $(OX)\merge3$O : merge3_.c merge3.h |
| 1549 | $(TCC) /Fo$@ -c merge3_.c |
| 1550 | |
| 1551 | merge3_.c : $(SRCDIR)\merge3.c |
| 1552 | translate$E $** > $@ |
| 1553 | |
| 1554 | $(OX)\moderate$O : moderate_.c moderate.h |
| 1555 | $(TCC) /Fo$@ -c moderate_.c |
| 1556 | |
| 1557 | moderate_.c : $(SRCDIR)\moderate.c |
| 1558 | translate$E $** > $@ |
| 1559 | |
| 1560 | $(OX)\name$O : name_.c name.h |
| 1561 | $(TCC) /Fo$@ -c name_.c |
| 1562 | |
| 1563 | name_.c : $(SRCDIR)\name.c |
| 1564 | translate$E $** > $@ |
| 1565 | |
| 1566 | $(OX)\path$O : path_.c path.h |
| 1567 | $(TCC) /Fo$@ -c path_.c |
| 1568 | |
| 1569 | path_.c : $(SRCDIR)\path.c |
| 1570 | translate$E $** > $@ |
| 1571 | |
| 1572 | $(OX)\piechart$O : piechart_.c piechart.h |
| 1573 | $(TCC) /Fo$@ -c piechart_.c |
| 1574 | |
| 1575 | piechart_.c : $(SRCDIR)\piechart.c |
| 1576 | translate$E $** > $@ |
| 1577 | |
| 1578 | $(OX)\pivot$O : pivot_.c pivot.h |
| 1579 | $(TCC) /Fo$@ -c pivot_.c |
| 1580 | |
| 1581 | pivot_.c : $(SRCDIR)\pivot.c |
| 1582 | translate$E $** > $@ |
| 1583 | |
| 1584 | $(OX)\popen$O : popen_.c popen.h |
| 1585 | $(TCC) /Fo$@ -c popen_.c |
| 1586 | |
| 1587 | popen_.c : $(SRCDIR)\popen.c |
| 1588 | translate$E $** > $@ |
| 1589 | |
| 1590 | $(OX)\pqueue$O : pqueue_.c pqueue.h |
| 1591 | $(TCC) /Fo$@ -c pqueue_.c |
| 1592 | |
| 1593 | pqueue_.c : $(SRCDIR)\pqueue.c |
| 1594 | translate$E $** > $@ |
| 1595 | |
| 1596 | $(OX)\printf$O : printf_.c printf.h |
| 1597 | $(TCC) /Fo$@ -c printf_.c |
| 1598 | |
| 1599 | printf_.c : $(SRCDIR)\printf.c |
| 1600 | translate$E $** > $@ |
| 1601 | |
| 1602 | $(OX)\publish$O : publish_.c publish.h |
| 1603 | $(TCC) /Fo$@ -c publish_.c |
| 1604 | |
| 1605 | publish_.c : $(SRCDIR)\publish.c |
| 1606 | translate$E $** > $@ |
| 1607 | |
| 1608 | $(OX)\purge$O : purge_.c purge.h |
| 1609 | $(TCC) /Fo$@ -c purge_.c |
| 1610 | |
| 1611 | purge_.c : $(SRCDIR)\purge.c |
| 1612 | translate$E $** > $@ |
| 1613 | |
| 1614 | $(OX)\rebuild$O : rebuild_.c rebuild.h |
| 1615 | $(TCC) /Fo$@ -c rebuild_.c |
| 1616 | |
| 1617 | rebuild_.c : $(SRCDIR)\rebuild.c |
| 1618 | translate$E $** > $@ |
| 1619 | |
| 1620 | $(OX)\regexp$O : regexp_.c regexp.h |
| 1621 | $(TCC) /Fo$@ -c regexp_.c |
| 1622 | |
| 1623 | regexp_.c : $(SRCDIR)\regexp.c |
| 1624 | translate$E $** > $@ |
| 1625 | |
| 1626 | $(OX)\repolist$O : repolist_.c repolist.h |
| 1627 | $(TCC) /Fo$@ -c repolist_.c |
| 1628 | |
| 1629 | repolist_.c : $(SRCDIR)\repolist.c |
| 1630 | translate$E $** > $@ |
| 1631 | |
| 1632 | $(OX)\report$O : report_.c report.h |
| 1633 | $(TCC) /Fo$@ -c report_.c |
| 1634 | |
| 1635 | report_.c : $(SRCDIR)\report.c |
| 1636 | translate$E $** > $@ |
| 1637 | |
| 1638 | $(OX)\rss$O : rss_.c rss.h |
| 1639 | $(TCC) /Fo$@ -c rss_.c |
| 1640 | |
| 1641 | rss_.c : $(SRCDIR)\rss.c |
| 1642 | translate$E $** > $@ |
| 1643 | |
| 1644 | $(OX)\schema$O : schema_.c schema.h |
| 1645 | $(TCC) /Fo$@ -c schema_.c |
| 1646 | |
| 1647 | schema_.c : $(SRCDIR)\schema.c |
| 1648 | translate$E $** > $@ |
| 1649 | |
| 1650 | $(OX)\search$O : search_.c search.h |
| 1651 | $(TCC) /Fo$@ -c search_.c |
| 1652 | |
| 1653 | search_.c : $(SRCDIR)\search.c |
| 1654 | translate$E $** > $@ |
| 1655 | |
| 1656 | $(OX)\security_audit$O : security_audit_.c security_audit.h |
| 1657 | $(TCC) /Fo$@ -c security_audit_.c |
| 1658 | |
| 1659 | security_audit_.c : $(SRCDIR)\security_audit.c |
| 1660 | translate$E $** > $@ |
| 1661 | |
| 1662 | $(OX)\setup$O : setup_.c setup.h |
| 1663 | $(TCC) /Fo$@ -c setup_.c |
| 1664 | |
| 1665 | setup_.c : $(SRCDIR)\setup.c |
| 1666 | translate$E $** > $@ |
| 1667 | |
| 1668 | $(OX)\setupuser$O : setupuser_.c setupuser.h |
| 1669 | $(TCC) /Fo$@ -c setupuser_.c |
| 1670 | |
| 1671 | setupuser_.c : $(SRCDIR)\setupuser.c |
| 1672 | translate$E $** > $@ |
| 1673 | |
| 1674 | $(OX)\sha1$O : sha1_.c sha1.h |
| 1675 | $(TCC) /Fo$@ -c sha1_.c |
| 1676 | |
| 1677 | sha1_.c : $(SRCDIR)\sha1.c |
| 1678 | translate$E $** > $@ |
| 1679 | |
| 1680 | $(OX)\sha1hard$O : sha1hard_.c sha1hard.h |
| 1681 | $(TCC) /Fo$@ -c sha1hard_.c |
| 1682 | |
| 1683 | sha1hard_.c : $(SRCDIR)\sha1hard.c |
| 1684 | translate$E $** > $@ |
| 1685 | |
| 1686 | $(OX)\sha3$O : sha3_.c sha3.h |
| 1687 | $(TCC) /Fo$@ -c sha3_.c |
| 1688 | |
| 1689 | sha3_.c : $(SRCDIR)\sha3.c |
| 1690 | translate$E $** > $@ |
| 1691 | |
| 1692 | $(OX)\shun$O : shun_.c shun.h |
| 1693 | $(TCC) /Fo$@ -c shun_.c |
| 1694 | |
| 1695 | shun_.c : $(SRCDIR)\shun.c |
| 1696 | translate$E $** > $@ |
| 1697 | |
| 1698 | $(OX)\sitemap$O : sitemap_.c sitemap.h |
| 1699 | $(TCC) /Fo$@ -c sitemap_.c |
| 1700 | |
| 1701 | sitemap_.c : $(SRCDIR)\sitemap.c |
| 1702 | translate$E $** > $@ |
| 1703 | |
| 1704 | $(OX)\skins$O : skins_.c skins.h |
| 1705 | $(TCC) /Fo$@ -c skins_.c |
| 1706 | |
| 1707 | skins_.c : $(SRCDIR)\skins.c |
| 1708 | translate$E $** > $@ |
| 1709 | |
| 1710 | $(OX)\smtp$O : smtp_.c smtp.h |
| 1711 | $(TCC) /Fo$@ -c smtp_.c |
| 1712 | |
| 1713 | smtp_.c : $(SRCDIR)\smtp.c |
| 1714 | translate$E $** > $@ |
| 1715 | |
| 1716 | $(OX)\sqlcmd$O : sqlcmd_.c sqlcmd.h |
| 1717 | $(TCC) /Fo$@ -c sqlcmd_.c |
| 1718 | |
| 1719 | sqlcmd_.c : $(SRCDIR)\sqlcmd.c |
| 1720 | translate$E $** > $@ |
| 1721 | |
| 1722 | $(OX)\stash$O : stash_.c stash.h |
| 1723 | $(TCC) /Fo$@ -c stash_.c |
| 1724 | |
| 1725 | stash_.c : $(SRCDIR)\stash.c |
| 1726 | translate$E $** > $@ |
| 1727 | |
| 1728 | $(OX)\stat$O : stat_.c stat.h |
| 1729 | $(TCC) /Fo$@ -c stat_.c |
| 1730 | |
| 1731 | stat_.c : $(SRCDIR)\stat.c |
| 1732 | translate$E $** > $@ |
| 1733 | |
| 1734 | $(OX)\statrep$O : statrep_.c statrep.h |
| 1735 | $(TCC) /Fo$@ -c statrep_.c |
| 1736 | |
| 1737 | statrep_.c : $(SRCDIR)\statrep.c |
| 1738 | translate$E $** > $@ |
| 1739 | |
| 1740 | $(OX)\style$O : style_.c style.h |
| 1741 | $(TCC) /Fo$@ -c style_.c |
| 1742 | |
| 1743 | style_.c : $(SRCDIR)\style.c |
| 1744 | translate$E $** > $@ |
| 1745 | |
| 1746 | $(OX)\sync$O : sync_.c sync.h |
| 1747 | $(TCC) /Fo$@ -c sync_.c |
| 1748 | |
| 1749 | sync_.c : $(SRCDIR)\sync.c |
| 1750 | translate$E $** > $@ |
| 1751 | |
| 1752 | $(OX)\tag$O : tag_.c tag.h |
| 1753 | $(TCC) /Fo$@ -c tag_.c |
| 1754 | |
| 1755 | tag_.c : $(SRCDIR)\tag.c |
| 1756 | translate$E $** > $@ |
| 1757 | |
| 1758 | $(OX)\tar$O : tar_.c tar.h |
| 1759 | $(TCC) /Fo$@ -c tar_.c |
| 1760 | |
| 1761 | tar_.c : $(SRCDIR)\tar.c |
| 1762 | translate$E $** > $@ |
| 1763 | |
| 1764 | $(OX)\terminal$O : terminal_.c terminal.h |
| 1765 | $(TCC) /Fo$@ -c terminal_.c |
| 1766 | |
| 1767 | terminal_.c : $(SRCDIR)\terminal.c |
| 1768 | translate$E $** > $@ |
| 1769 | |
| 1770 | $(OX)\th_main$O : th_main_.c th_main.h |
| 1771 | $(TCC) /Fo$@ -c th_main_.c |
| 1772 | |
| 1773 | th_main_.c : $(SRCDIR)\th_main.c |
| 1774 | translate$E $** > $@ |
| 1775 | |
| 1776 | $(OX)\timeline$O : timeline_.c timeline.h |
| 1777 | $(TCC) /Fo$@ -c timeline_.c |
| 1778 | |
| 1779 | timeline_.c : $(SRCDIR)\timeline.c |
| 1780 | translate$E $** > $@ |
| 1781 | |
| 1782 | $(OX)\tkt$O : tkt_.c tkt.h |
| 1783 | $(TCC) /Fo$@ -c tkt_.c |
| 1784 | |
| 1785 | tkt_.c : $(SRCDIR)\tkt.c |
| 1786 | translate$E $** > $@ |
| 1787 | |
| 1788 | $(OX)\tktsetup$O : tktsetup_.c tktsetup.h |
| 1789 | $(TCC) /Fo$@ -c tktsetup_.c |
| 1790 | |
| 1791 | tktsetup_.c : $(SRCDIR)\tktsetup.c |
| 1792 | translate$E $** > $@ |
| 1793 | |
| 1794 | $(OX)\undo$O : undo_.c undo.h |
| 1795 | $(TCC) /Fo$@ -c undo_.c |
| 1796 | |
| 1797 | undo_.c : $(SRCDIR)\undo.c |
| 1798 | translate$E $** > $@ |
| 1799 | |
| 1800 | $(OX)\unicode$O : unicode_.c unicode.h |
| 1801 | $(TCC) /Fo$@ -c unicode_.c |
| 1802 | |
| 1803 | unicode_.c : $(SRCDIR)\unicode.c |
| 1804 | translate$E $** > $@ |
| 1805 | |
| 1806 | $(OX)\unversioned$O : unversioned_.c unversioned.h |
| 1807 | $(TCC) /Fo$@ -c unversioned_.c |
| 1808 | |
| 1809 | unversioned_.c : $(SRCDIR)\unversioned.c |
| 1810 | translate$E $** > $@ |
| 1811 | |
| 1812 | $(OX)\update$O : update_.c update.h |
| 1813 | $(TCC) /Fo$@ -c update_.c |
| 1814 | |
| 1815 | update_.c : $(SRCDIR)\update.c |
| 1816 | translate$E $** > $@ |
| 1817 | |
| 1818 | $(OX)\url$O : url_.c url.h |
| 1819 | $(TCC) /Fo$@ -c url_.c |
| 1820 | |
| 1821 | url_.c : $(SRCDIR)\url.c |
| 1822 | translate$E $** > $@ |
| 1823 | |
| 1824 | $(OX)\user$O : user_.c user.h |
| 1825 | $(TCC) /Fo$@ -c user_.c |
| 1826 | |
| 1827 | user_.c : $(SRCDIR)\user.c |
| 1828 | translate$E $** > $@ |
| 1829 | |
| 1830 | $(OX)\utf8$O : utf8_.c utf8.h |
| 1831 | $(TCC) /Fo$@ -c utf8_.c |
| 1832 | |
| 1833 | utf8_.c : $(SRCDIR)\utf8.c |
| 1834 | translate$E $** > $@ |
| 1835 | |
| 1836 | $(OX)\util$O : util_.c util.h |
| 1837 | $(TCC) /Fo$@ -c util_.c |
| 1838 | |
| 1839 | util_.c : $(SRCDIR)\util.c |
| 1840 | translate$E $** > $@ |
| 1841 | |
| 1842 | $(OX)\verify$O : verify_.c verify.h |
| 1843 | $(TCC) /Fo$@ -c verify_.c |
| 1844 | |
| 1845 | verify_.c : $(SRCDIR)\verify.c |
| 1846 | translate$E $** > $@ |
| 1847 | |
| 1848 | $(OX)\vfile$O : vfile_.c vfile.h |
| 1849 | $(TCC) /Fo$@ -c vfile_.c |
| 1850 | |
| 1851 | vfile_.c : $(SRCDIR)\vfile.c |
| 1852 | translate$E $** > $@ |
| 1853 | |
| 1854 | $(OX)\webmail$O : webmail_.c webmail.h |
| 1855 | $(TCC) /Fo$@ -c webmail_.c |
| 1856 | |
| 1857 | webmail_.c : $(SRCDIR)\webmail.c |
| 1858 | translate$E $** > $@ |
| 1859 | |
| 1860 | $(OX)\wiki$O : wiki_.c wiki.h |
| 1861 | $(TCC) /Fo$@ -c wiki_.c |
| 1862 | |
| 1863 | wiki_.c : $(SRCDIR)\wiki.c |
| 1864 | translate$E $** > $@ |
| 1865 | |
| 1866 | $(OX)\wikiformat$O : wikiformat_.c wikiformat.h |
| 1867 | $(TCC) /Fo$@ -c wikiformat_.c |
| 1868 | |
| 1869 | wikiformat_.c : $(SRCDIR)\wikiformat.c |
| 1870 | translate$E $** > $@ |
| 1871 | |
| 1872 | $(OX)\winfile$O : winfile_.c winfile.h |
| 1873 | $(TCC) /Fo$@ -c winfile_.c |
| 1874 | |
| 1875 | winfile_.c : $(SRCDIR)\winfile.c |
| 1876 | translate$E $** > $@ |
| 1877 | |
| 1878 | $(OX)\winhttp$O : winhttp_.c winhttp.h |
| 1879 | $(TCC) /Fo$@ -c winhttp_.c |
| 1880 | |
| 1881 | winhttp_.c : $(SRCDIR)\winhttp.c |
| 1882 | translate$E $** > $@ |
| 1883 | |
| 1884 | $(OX)\wysiwyg$O : wysiwyg_.c wysiwyg.h |
| 1885 | $(TCC) /Fo$@ -c wysiwyg_.c |
| 1886 | |
| 1887 | wysiwyg_.c : $(SRCDIR)\wysiwyg.c |
| 1888 | translate$E $** > $@ |
| 1889 | |
| 1890 | $(OX)\xfer$O : xfer_.c xfer.h |
| 1891 | $(TCC) /Fo$@ -c xfer_.c |
| 1892 | |
| 1893 | xfer_.c : $(SRCDIR)\xfer.c |
| 1894 | translate$E $** > $@ |
| 1895 | |
| 1896 | $(OX)\xfersetup$O : xfersetup_.c xfersetup.h |
| 1897 | $(TCC) /Fo$@ -c xfersetup_.c |
| 1898 | |
| 1899 | xfersetup_.c : $(SRCDIR)\xfersetup.c |
| 1900 | translate$E $** > $@ |
| 1901 | |
| 1902 | $(OX)\zip$O : zip_.c zip.h |
| 1903 | $(TCC) /Fo$@ -c zip_.c |
| 1904 | |
| 1905 | zip_.c : $(SRCDIR)\zip.c |
| 1906 | translate$E $** > $@ |
| 1907 | |
| 1908 | fossil.res : $B\win\fossil.rc |
| 1909 | $(RCC) /fo $@ $** |
| 1910 | |
| 1911 | headers: makeheaders$E page_index.h builtin_data.h VERSION.h |
| 1912 | makeheaders$E add_.c:add.h \ |
| 1913 | alerts_.c:alerts.h \ |
| 1914 | allrepo_.c:allrepo.h \ |
| 1915 | attach_.c:attach.h \ |
| 1916 | backlink_.c:backlink.h \ |
| 1917 | backoffice_.c:backoffice.h \ |
| 1918 | bag_.c:bag.h \ |
| 1919 | bisect_.c:bisect.h \ |
| 1920 | blob_.c:blob.h \ |
| 1921 | branch_.c:branch.h \ |
| 1922 | browse_.c:browse.h \ |
| 1923 | builtin_.c:builtin.h \ |
| 1924 | bundle_.c:bundle.h \ |
| 1925 | cache_.c:cache.h \ |
| 1926 | capabilities_.c:capabilities.h \ |
| 1927 | captcha_.c:captcha.h \ |
| 1928 | cgi_.c:cgi.h \ |
| 1929 | checkin_.c:checkin.h \ |
| 1930 | checkout_.c:checkout.h \ |
| 1931 | clearsign_.c:clearsign.h \ |
| 1932 | clone_.c:clone.h \ |
| 1933 | comformat_.c:comformat.h \ |
| 1934 | configure_.c:configure.h \ |
| 1935 | content_.c:content.h \ |
| 1936 | cookies_.c:cookies.h \ |
| 1937 | db_.c:db.h \ |
| 1938 | delta_.c:delta.h \ |
| 1939 | deltacmd_.c:deltacmd.h \ |
| 1940 | deltafunc_.c:deltafunc.h \ |
| 1941 | descendants_.c:descendants.h \ |
| 1942 | diff_.c:diff.h \ |
| 1943 | diffcmd_.c:diffcmd.h \ |
| 1944 | dispatch_.c:dispatch.h \ |
| 1945 | doc_.c:doc.h \ |
| 1946 | encode_.c:encode.h \ |
| 1947 | etag_.c:etag.h \ |
| 1948 | event_.c:event.h \ |
| 1949 | export_.c:export.h \ |
| 1950 | extcgi_.c:extcgi.h \ |
| 1951 | file_.c:file.h \ |
| 1952 | fileedit_.c:fileedit.h \ |
| 1953 | finfo_.c:finfo.h \ |
| 1954 | foci_.c:foci.h \ |
| 1955 | forum_.c:forum.h \ |
| 1956 | fshell_.c:fshell.h \ |
| 1957 | fusefs_.c:fusefs.h \ |
| 1958 | fuzz_.c:fuzz.h \ |
| 1959 | glob_.c:glob.h \ |
| 1960 | graph_.c:graph.h \ |
| 1961 | gzip_.c:gzip.h \ |
| 1962 | hname_.c:hname.h \ |
| 1963 | http_.c:http.h \ |
| 1964 | http_socket_.c:http_socket.h \ |
| 1965 | http_ssl_.c:http_ssl.h \ |
| 1966 | http_transport_.c:http_transport.h \ |
| 1967 | import_.c:import.h \ |
| 1968 | info_.c:info.h \ |
| 1969 | json_.c:json.h \ |
| 1970 | json_artifact_.c:json_artifact.h \ |
| 1971 | json_branch_.c:json_branch.h \ |
| 1972 | json_config_.c:json_config.h \ |
| 1973 | json_diff_.c:json_diff.h \ |
| 1974 | json_dir_.c:json_dir.h \ |
| 1975 | json_finfo_.c:json_finfo.h \ |
| 1976 | json_login_.c:json_login.h \ |
| 1977 | json_query_.c:json_query.h \ |
| 1978 | json_report_.c:json_report.h \ |
| 1979 | json_status_.c:json_status.h \ |
| 1980 | json_tag_.c:json_tag.h \ |
| 1981 | json_timeline_.c:json_timeline.h \ |
| 1982 | json_user_.c:json_user.h \ |
| 1983 | json_wiki_.c:json_wiki.h \ |
| 1984 | leaf_.c:leaf.h \ |
| 1985 | loadctrl_.c:loadctrl.h \ |
| 1986 | login_.c:login.h \ |
| 1987 | lookslike_.c:lookslike.h \ |
| 1988 | main_.c:main.h \ |
| 1989 | manifest_.c:manifest.h \ |
| 1990 | markdown_.c:markdown.h \ |
| 1991 | markdown_html_.c:markdown_html.h \ |
| 1992 | md5_.c:md5.h \ |
| 1993 | merge_.c:merge.h \ |
| 1994 | merge3_.c:merge3.h \ |
| 1995 | moderate_.c:moderate.h \ |
| 1996 | name_.c:name.h \ |
| 1997 | path_.c:path.h \ |
| 1998 | piechart_.c:piechart.h \ |
| 1999 | pivot_.c:pivot.h \ |
| 2000 | popen_.c:popen.h \ |
| 2001 | pqueue_.c:pqueue.h \ |
| 2002 | printf_.c:printf.h \ |
| 2003 | publish_.c:publish.h \ |
| 2004 | purge_.c:purge.h \ |
| 2005 | rebuild_.c:rebuild.h \ |
| 2006 | regexp_.c:regexp.h \ |
| 2007 | repolist_.c:repolist.h \ |
| 2008 | report_.c:report.h \ |
| 2009 | rss_.c:rss.h \ |
| 2010 | schema_.c:schema.h \ |
| 2011 | search_.c:search.h \ |
| 2012 | security_audit_.c:security_audit.h \ |
| 2013 | setup_.c:setup.h \ |
| 2014 | setupuser_.c:setupuser.h \ |
| 2015 | sha1_.c:sha1.h \ |
| 2016 | sha1hard_.c:sha1hard.h \ |
| 2017 | sha3_.c:sha3.h \ |
| 2018 | shun_.c:shun.h \ |
| 2019 | sitemap_.c:sitemap.h \ |
| 2020 | skins_.c:skins.h \ |
| 2021 | smtp_.c:smtp.h \ |
| 2022 | sqlcmd_.c:sqlcmd.h \ |
| 2023 | stash_.c:stash.h \ |
| 2024 | stat_.c:stat.h \ |
| 2025 | statrep_.c:statrep.h \ |
| 2026 | style_.c:style.h \ |
| 2027 | sync_.c:sync.h \ |
| 2028 | tag_.c:tag.h \ |
| 2029 | tar_.c:tar.h \ |
| 2030 | terminal_.c:terminal.h \ |
| 2031 | th_main_.c:th_main.h \ |
| 2032 | timeline_.c:timeline.h \ |
| 2033 | tkt_.c:tkt.h \ |
| 2034 | tktsetup_.c:tktsetup.h \ |
| 2035 | undo_.c:undo.h \ |
| 2036 | unicode_.c:unicode.h \ |
| 2037 | unversioned_.c:unversioned.h \ |
| 2038 | update_.c:update.h \ |
| 2039 | url_.c:url.h \ |
| 2040 | user_.c:user.h \ |
| 2041 | utf8_.c:utf8.h \ |
| 2042 | util_.c:util.h \ |
| 2043 | verify_.c:verify.h \ |
| 2044 | vfile_.c:vfile.h \ |
| 2045 | webmail_.c:webmail.h \ |
| 2046 | wiki_.c:wiki.h \ |
| 2047 | wikiformat_.c:wikiformat.h \ |
| 2048 | winfile_.c:winfile.h \ |
| 2049 | winhttp_.c:winhttp.h \ |
| 2050 | wysiwyg_.c:wysiwyg.h \ |
| 2051 | xfer_.c:xfer.h \ |
| 2052 | xfersetup_.c:xfersetup.h \ |
| 2053 | zip_.c:zip.h \ |
| 2054 | $(SRCDIR)\sqlite3.h \ |
| 2055 | $(SRCDIR)\th.h \ |
| 2056 | VERSION.h \ |
| 2057 | $(SRCDIR)\cson_amalgamation.h |
| 2058 | @copy /Y nul: headers |
| 2059 |
| --- win/Makefile.msc | |
| +++ win/Makefile.msc | |
| @@ -1,39 +1,52 @@ | |
| 1 | # |
| 2 | ############################################################################## |
| 3 | # WARNING: DO NOT EDIT, AUTOMATICALLY GENERATED FILE (SEE "src/makemake.tcl") |
| 4 | ############################################################################## |
| 5 | # |
| 6 | # |
| 7 | # This file is automatically generated. Instead of editing this |
| 8 | # file, edit "makemake.tcl" then run "tclsh makemake.tcl" |
| 9 | # to regenerate this file. |
| 10 | # |
| 11 | B = .. |
| 12 | SRCDIR = $(B)\src |
| 13 | T = . |
| 14 | OBJDIR = $(T) |
| 15 | OX = $(OBJDIR) |
| 16 | O = .obj |
| 17 | E = .exe |
| 18 | P = .pdb |
| 19 | |
| 20 | INSTALLDIR = . |
| 21 | !ifdef DESTDIR |
| 22 | INSTALLDIR = $(DESTDIR)\$(INSTALLDIR) |
| 23 | !endif |
| 24 | |
| 25 | # When building out of source, this Makefile needs to know the path to the base |
| 26 | # top-level directory for this project. Pass it on NMAKE command line via make |
| 27 | # variable B: |
| 28 | # NMAKE /f "path\to\this\Makefile" B="path/to/fossil/root" |
| 29 | # |
| 30 | # NOTE: Make sure B path has no trailing backslash, UNIX-style path is OK too. |
| 31 | # |
| 32 | !if !exist("$(B)\.fossil-settings") |
| 33 | !error Please specify path to project base directory: B="path/to/fossil" |
| 34 | !endif |
| 35 | |
| 36 | # Perl is only necessary if OpenSSL support is enabled and it is built from |
| 37 | # source code. The PERLDIR environment variable, if it exists, should point |
| 38 | # to the directory containing the main Perl executable specified here (i.e. |
| 39 | # "perl.exe"). |
| 40 | PERL = perl.exe |
| 41 | |
| 42 | # Enable debugging symbols? |
| 43 | !ifndef DEBUG |
| 44 | DEBUG = 0 |
| 45 | !endif |
| 46 | !ifdef FOSSIL_DEBUG |
| 47 | DEBUG = 1 |
| 48 | !endif |
| 49 | |
| 50 | # Build the OpenSSL libraries? |
| 51 | !ifndef FOSSIL_BUILD_SSL |
| 52 | FOSSIL_BUILD_SSL = 0 |
| @@ -150,27 +163,30 @@ | |
| 163 | ZLIB = zdll.lib |
| 164 | !else |
| 165 | ZLIB = zlib.lib |
| 166 | !endif |
| 167 | |
| 168 | INCL = /I. /I"$(OX)" /I"$(SRCDIR)" /I"$(B)\win\include" |
| 169 | |
| 170 | !if $(FOSSIL_ENABLE_MINIZ)==0 |
| 171 | INCL = $(INCL) /I"$(ZINCDIR)" |
| 172 | !endif |
| 173 | |
| 174 | !if $(FOSSIL_ENABLE_SSL)!=0 |
| 175 | INCL = $(INCL) /I"$(SSLINCDIR)" |
| 176 | !endif |
| 177 | |
| 178 | !if $(FOSSIL_ENABLE_TCL)!=0 |
| 179 | INCL = $(INCL) /I"$(TCLINCDIR)" |
| 180 | !endif |
| 181 | |
| 182 | CFLAGS = /nologo |
| 183 | LDFLAGS = |
| 184 | |
| 185 | CFLAGS = $(CFLAGS) /D_CRT_SECURE_NO_DEPRECATE /D_CRT_SECURE_NO_WARNINGS |
| 186 | CFLAGS = $(CFLAGS) /D_CRT_NONSTDC_NO_DEPRECATE /D_CRT_NONSTDC_NO_WARNINGS |
| 187 | |
| 188 | !if $(FOSSIL_DYNAMIC_BUILD)!=0 |
| 189 | LDFLAGS = $(LDFLAGS) /MANIFEST |
| 190 | !else |
| 191 | LDFLAGS = $(LDFLAGS) /NODEFAULTLIB:msvcrt /MANIFEST:NO |
| 192 | !endif |
| @@ -199,11 +215,11 @@ | |
| 215 | CRTFLAGS = /MT |
| 216 | !endif |
| 217 | !endif |
| 218 | |
| 219 | !if $(DEBUG)!=0 |
| 220 | CFLAGS = $(CFLAGS) /Zi $(CRTFLAGS) /Od /DFOSSIL_DEBUG |
| 221 | LDFLAGS = $(LDFLAGS) /DEBUG |
| 222 | !else |
| 223 | CFLAGS = $(CFLAGS) $(CRTFLAGS) /O2 |
| 224 | !endif |
| 225 | |
| @@ -219,11 +235,11 @@ | |
| 235 | RCC = $(RCC) /DFOSSIL_DYNAMIC_BUILD=1 |
| 236 | !endif |
| 237 | |
| 238 | !if $(FOSSIL_ENABLE_MINIZ)==0 |
| 239 | LIBS = $(LIBS) $(ZLIB) |
| 240 | LIBDIR = $(LIBDIR) /LIBPATH:"$(ZLIBDIR)" |
| 241 | !endif |
| 242 | |
| 243 | !if $(FOSSIL_ENABLE_MINIZ)!=0 |
| 244 | TCC = $(TCC) /DFOSSIL_ENABLE_MINIZ=1 |
| 245 | RCC = $(RCC) /DFOSSIL_ENABLE_MINIZ=1 |
| @@ -236,11 +252,11 @@ | |
| 252 | |
| 253 | !if $(FOSSIL_ENABLE_SSL)!=0 |
| 254 | TCC = $(TCC) /DFOSSIL_ENABLE_SSL=1 |
| 255 | RCC = $(RCC) /DFOSSIL_ENABLE_SSL=1 |
| 256 | LIBS = $(LIBS) $(SSLLIB) |
| 257 | LIBDIR = $(LIBDIR) /LIBPATH:"$(SSLLIBDIR)" |
| 258 | !endif |
| 259 | |
| 260 | !if $(FOSSIL_ENABLE_EXEC_REL_PATHS)!=0 |
| 261 | TCC = $(TCC) /DFOSSIL_ENABLE_EXEC_REL_PATHS=1 |
| 262 | RCC = $(RCC) /DFOSSIL_ENABLE_EXEC_REL_PATHS=1 |
| @@ -283,11 +299,10 @@ | |
| 299 | /DSQLITE_DEFAULT_MEMSTATUS=0 \ |
| 300 | /DSQLITE_DEFAULT_WAL_SYNCHRONOUS=1 \ |
| 301 | /DSQLITE_LIKE_DOESNT_MATCH_BLOBS \ |
| 302 | /DSQLITE_OMIT_DECLTYPE \ |
| 303 | /DSQLITE_OMIT_DEPRECATED \ |
| 304 | /DSQLITE_OMIT_PROGRESS_CALLBACK \ |
| 305 | /DSQLITE_OMIT_SHARED_CACHE \ |
| 306 | /DSQLITE_OMIT_LOAD_EXTENSION \ |
| 307 | /DSQLITE_MAX_EXPR_DEPTH=0 \ |
| 308 | /DSQLITE_USE_ALLOCA \ |
| @@ -311,11 +326,10 @@ | |
| 326 | /DSQLITE_DEFAULT_MEMSTATUS=0 \ |
| 327 | /DSQLITE_DEFAULT_WAL_SYNCHRONOUS=1 \ |
| 328 | /DSQLITE_LIKE_DOESNT_MATCH_BLOBS \ |
| 329 | /DSQLITE_OMIT_DECLTYPE \ |
| 330 | /DSQLITE_OMIT_DEPRECATED \ |
| 331 | /DSQLITE_OMIT_PROGRESS_CALLBACK \ |
| 332 | /DSQLITE_OMIT_SHARED_CACHE \ |
| 333 | /DSQLITE_OMIT_LOAD_EXTENSION \ |
| 334 | /DSQLITE_MAX_EXPR_DEPTH=0 \ |
| 335 | /DSQLITE_USE_ALLOCA \ |
| @@ -344,405 +358,407 @@ | |
| 358 | |
| 359 | MINIZ_OPTIONS = /DMINIZ_NO_STDIO \ |
| 360 | /DMINIZ_NO_TIME \ |
| 361 | /DMINIZ_NO_ARCHIVE_APIS |
| 362 | |
| 363 | SRC = "$(OX)\add_.c" \ |
| 364 | "$(OX)\ajax_.c" \ |
| 365 | "$(OX)\alerts_.c" \ |
| 366 | "$(OX)\allrepo_.c" \ |
| 367 | "$(OX)\attach_.c" \ |
| 368 | "$(OX)\backlink_.c" \ |
| 369 | "$(OX)\backoffice_.c" \ |
| 370 | "$(OX)\bag_.c" \ |
| 371 | "$(OX)\bisect_.c" \ |
| 372 | "$(OX)\blob_.c" \ |
| 373 | "$(OX)\branch_.c" \ |
| 374 | "$(OX)\browse_.c" \ |
| 375 | "$(OX)\builtin_.c" \ |
| 376 | "$(OX)\bundle_.c" \ |
| 377 | "$(OX)\cache_.c" \ |
| 378 | "$(OX)\capabilities_.c" \ |
| 379 | "$(OX)\captcha_.c" \ |
| 380 | "$(OX)\cgi_.c" \ |
| 381 | "$(OX)\checkin_.c" \ |
| 382 | "$(OX)\checkout_.c" \ |
| 383 | "$(OX)\clearsign_.c" \ |
| 384 | "$(OX)\clone_.c" \ |
| 385 | "$(OX)\comformat_.c" \ |
| 386 | "$(OX)\configure_.c" \ |
| 387 | "$(OX)\content_.c" \ |
| 388 | "$(OX)\cookies_.c" \ |
| 389 | "$(OX)\db_.c" \ |
| 390 | "$(OX)\delta_.c" \ |
| 391 | "$(OX)\deltacmd_.c" \ |
| 392 | "$(OX)\deltafunc_.c" \ |
| 393 | "$(OX)\descendants_.c" \ |
| 394 | "$(OX)\diff_.c" \ |
| 395 | "$(OX)\diffcmd_.c" \ |
| 396 | "$(OX)\dispatch_.c" \ |
| 397 | "$(OX)\doc_.c" \ |
| 398 | "$(OX)\encode_.c" \ |
| 399 | "$(OX)\etag_.c" \ |
| 400 | "$(OX)\event_.c" \ |
| 401 | "$(OX)\export_.c" \ |
| 402 | "$(OX)\extcgi_.c" \ |
| 403 | "$(OX)\file_.c" \ |
| 404 | "$(OX)\fileedit_.c" \ |
| 405 | "$(OX)\finfo_.c" \ |
| 406 | "$(OX)\foci_.c" \ |
| 407 | "$(OX)\forum_.c" \ |
| 408 | "$(OX)\fshell_.c" \ |
| 409 | "$(OX)\fusefs_.c" \ |
| 410 | "$(OX)\fuzz_.c" \ |
| 411 | "$(OX)\glob_.c" \ |
| 412 | "$(OX)\graph_.c" \ |
| 413 | "$(OX)\gzip_.c" \ |
| 414 | "$(OX)\hname_.c" \ |
| 415 | "$(OX)\http_.c" \ |
| 416 | "$(OX)\http_socket_.c" \ |
| 417 | "$(OX)\http_ssl_.c" \ |
| 418 | "$(OX)\http_transport_.c" \ |
| 419 | "$(OX)\import_.c" \ |
| 420 | "$(OX)\info_.c" \ |
| 421 | "$(OX)\json_.c" \ |
| 422 | "$(OX)\json_artifact_.c" \ |
| 423 | "$(OX)\json_branch_.c" \ |
| 424 | "$(OX)\json_config_.c" \ |
| 425 | "$(OX)\json_diff_.c" \ |
| 426 | "$(OX)\json_dir_.c" \ |
| 427 | "$(OX)\json_finfo_.c" \ |
| 428 | "$(OX)\json_login_.c" \ |
| 429 | "$(OX)\json_query_.c" \ |
| 430 | "$(OX)\json_report_.c" \ |
| 431 | "$(OX)\json_status_.c" \ |
| 432 | "$(OX)\json_tag_.c" \ |
| 433 | "$(OX)\json_timeline_.c" \ |
| 434 | "$(OX)\json_user_.c" \ |
| 435 | "$(OX)\json_wiki_.c" \ |
| 436 | "$(OX)\leaf_.c" \ |
| 437 | "$(OX)\loadctrl_.c" \ |
| 438 | "$(OX)\login_.c" \ |
| 439 | "$(OX)\lookslike_.c" \ |
| 440 | "$(OX)\main_.c" \ |
| 441 | "$(OX)\manifest_.c" \ |
| 442 | "$(OX)\markdown_.c" \ |
| 443 | "$(OX)\markdown_html_.c" \ |
| 444 | "$(OX)\md5_.c" \ |
| 445 | "$(OX)\merge_.c" \ |
| 446 | "$(OX)\merge3_.c" \ |
| 447 | "$(OX)\moderate_.c" \ |
| 448 | "$(OX)\name_.c" \ |
| 449 | "$(OX)\path_.c" \ |
| 450 | "$(OX)\piechart_.c" \ |
| 451 | "$(OX)\pivot_.c" \ |
| 452 | "$(OX)\popen_.c" \ |
| 453 | "$(OX)\pqueue_.c" \ |
| 454 | "$(OX)\printf_.c" \ |
| 455 | "$(OX)\publish_.c" \ |
| 456 | "$(OX)\purge_.c" \ |
| 457 | "$(OX)\rebuild_.c" \ |
| 458 | "$(OX)\regexp_.c" \ |
| 459 | "$(OX)\repolist_.c" \ |
| 460 | "$(OX)\report_.c" \ |
| 461 | "$(OX)\rss_.c" \ |
| 462 | "$(OX)\schema_.c" \ |
| 463 | "$(OX)\search_.c" \ |
| 464 | "$(OX)\security_audit_.c" \ |
| 465 | "$(OX)\setup_.c" \ |
| 466 | "$(OX)\setupuser_.c" \ |
| 467 | "$(OX)\sha1_.c" \ |
| 468 | "$(OX)\sha1hard_.c" \ |
| 469 | "$(OX)\sha3_.c" \ |
| 470 | "$(OX)\shun_.c" \ |
| 471 | "$(OX)\sitemap_.c" \ |
| 472 | "$(OX)\skins_.c" \ |
| 473 | "$(OX)\smtp_.c" \ |
| 474 | "$(OX)\sqlcmd_.c" \ |
| 475 | "$(OX)\stash_.c" \ |
| 476 | "$(OX)\stat_.c" \ |
| 477 | "$(OX)\statrep_.c" \ |
| 478 | "$(OX)\style_.c" \ |
| 479 | "$(OX)\sync_.c" \ |
| 480 | "$(OX)\tag_.c" \ |
| 481 | "$(OX)\tar_.c" \ |
| 482 | "$(OX)\terminal_.c" \ |
| 483 | "$(OX)\th_main_.c" \ |
| 484 | "$(OX)\timeline_.c" \ |
| 485 | "$(OX)\tkt_.c" \ |
| 486 | "$(OX)\tktsetup_.c" \ |
| 487 | "$(OX)\undo_.c" \ |
| 488 | "$(OX)\unicode_.c" \ |
| 489 | "$(OX)\unversioned_.c" \ |
| 490 | "$(OX)\update_.c" \ |
| 491 | "$(OX)\url_.c" \ |
| 492 | "$(OX)\user_.c" \ |
| 493 | "$(OX)\utf8_.c" \ |
| 494 | "$(OX)\util_.c" \ |
| 495 | "$(OX)\verify_.c" \ |
| 496 | "$(OX)\vfile_.c" \ |
| 497 | "$(OX)\webmail_.c" \ |
| 498 | "$(OX)\wiki_.c" \ |
| 499 | "$(OX)\wikiformat_.c" \ |
| 500 | "$(OX)\winfile_.c" \ |
| 501 | "$(OX)\winhttp_.c" \ |
| 502 | "$(OX)\wysiwyg_.c" \ |
| 503 | "$(OX)\xfer_.c" \ |
| 504 | "$(OX)\xfersetup_.c" \ |
| 505 | "$(OX)\zip_.c" |
| 506 | |
| 507 | EXTRA_FILES = "$(SRCDIR)\..\skins\aht\details.txt" \ |
| 508 | "$(SRCDIR)\..\skins\ardoise\css.txt" \ |
| 509 | "$(SRCDIR)\..\skins\ardoise\details.txt" \ |
| 510 | "$(SRCDIR)\..\skins\ardoise\footer.txt" \ |
| 511 | "$(SRCDIR)\..\skins\ardoise\header.txt" \ |
| 512 | "$(SRCDIR)\..\skins\black_and_white\css.txt" \ |
| 513 | "$(SRCDIR)\..\skins\black_and_white\details.txt" \ |
| 514 | "$(SRCDIR)\..\skins\black_and_white\footer.txt" \ |
| 515 | "$(SRCDIR)\..\skins\black_and_white\header.txt" \ |
| 516 | "$(SRCDIR)\..\skins\blitz\css.txt" \ |
| 517 | "$(SRCDIR)\..\skins\blitz\details.txt" \ |
| 518 | "$(SRCDIR)\..\skins\blitz\footer.txt" \ |
| 519 | "$(SRCDIR)\..\skins\blitz\header.txt" \ |
| 520 | "$(SRCDIR)\..\skins\blitz\ticket.txt" \ |
| 521 | "$(SRCDIR)\..\skins\blitz_no_logo\css.txt" \ |
| 522 | "$(SRCDIR)\..\skins\blitz_no_logo\details.txt" \ |
| 523 | "$(SRCDIR)\..\skins\blitz_no_logo\footer.txt" \ |
| 524 | "$(SRCDIR)\..\skins\blitz_no_logo\header.txt" \ |
| 525 | "$(SRCDIR)\..\skins\blitz_no_logo\ticket.txt" \ |
| 526 | "$(SRCDIR)\..\skins\bootstrap\css.txt" \ |
| 527 | "$(SRCDIR)\..\skins\bootstrap\details.txt" \ |
| 528 | "$(SRCDIR)\..\skins\bootstrap\footer.txt" \ |
| 529 | "$(SRCDIR)\..\skins\bootstrap\header.txt" \ |
| 530 | "$(SRCDIR)\..\skins\default\css.txt" \ |
| 531 | "$(SRCDIR)\..\skins\default\details.txt" \ |
| 532 | "$(SRCDIR)\..\skins\default\footer.txt" \ |
| 533 | "$(SRCDIR)\..\skins\default\header.txt" \ |
| 534 | "$(SRCDIR)\..\skins\default\js.txt" \ |
| 535 | "$(SRCDIR)\..\skins\eagle\css.txt" \ |
| 536 | "$(SRCDIR)\..\skins\eagle\details.txt" \ |
| 537 | "$(SRCDIR)\..\skins\eagle\footer.txt" \ |
| 538 | "$(SRCDIR)\..\skins\eagle\header.txt" \ |
| 539 | "$(SRCDIR)\..\skins\enhanced1\css.txt" \ |
| 540 | "$(SRCDIR)\..\skins\enhanced1\details.txt" \ |
| 541 | "$(SRCDIR)\..\skins\enhanced1\footer.txt" \ |
| 542 | "$(SRCDIR)\..\skins\enhanced1\header.txt" \ |
| 543 | "$(SRCDIR)\..\skins\khaki\css.txt" \ |
| 544 | "$(SRCDIR)\..\skins\khaki\details.txt" \ |
| 545 | "$(SRCDIR)\..\skins\khaki\footer.txt" \ |
| 546 | "$(SRCDIR)\..\skins\khaki\header.txt" \ |
| 547 | "$(SRCDIR)\..\skins\original\css.txt" \ |
| 548 | "$(SRCDIR)\..\skins\original\details.txt" \ |
| 549 | "$(SRCDIR)\..\skins\original\footer.txt" \ |
| 550 | "$(SRCDIR)\..\skins\original\header.txt" \ |
| 551 | "$(SRCDIR)\..\skins\plain_gray\css.txt" \ |
| 552 | "$(SRCDIR)\..\skins\plain_gray\details.txt" \ |
| 553 | "$(SRCDIR)\..\skins\plain_gray\footer.txt" \ |
| 554 | "$(SRCDIR)\..\skins\plain_gray\header.txt" \ |
| 555 | "$(SRCDIR)\..\skins\rounded1\css.txt" \ |
| 556 | "$(SRCDIR)\..\skins\rounded1\details.txt" \ |
| 557 | "$(SRCDIR)\..\skins\rounded1\footer.txt" \ |
| 558 | "$(SRCDIR)\..\skins\rounded1\header.txt" \ |
| 559 | "$(SRCDIR)\..\skins\xekri\css.txt" \ |
| 560 | "$(SRCDIR)\..\skins\xekri\details.txt" \ |
| 561 | "$(SRCDIR)\..\skins\xekri\footer.txt" \ |
| 562 | "$(SRCDIR)\..\skins\xekri\header.txt" \ |
| 563 | "$(SRCDIR)\accordion.js" \ |
| 564 | "$(SRCDIR)\ci_edit.js" \ |
| 565 | "$(SRCDIR)\copybtn.js" \ |
| 566 | "$(SRCDIR)\default.css" \ |
| 567 | "$(SRCDIR)\diff.tcl" \ |
| 568 | "$(SRCDIR)\forum.js" \ |
| 569 | "$(SRCDIR)\fossil.bootstrap.js" \ |
| 570 | "$(SRCDIR)\fossil.confirmer.js" \ |
| 571 | "$(SRCDIR)\fossil.dom.js" \ |
| 572 | "$(SRCDIR)\fossil.fetch.js" \ |
| 573 | "$(SRCDIR)\fossil.page.fileedit.js" \ |
| 574 | "$(SRCDIR)\fossil.storage.js" \ |
| 575 | "$(SRCDIR)\fossil.tabs.js" \ |
| 576 | "$(SRCDIR)\graph.js" \ |
| 577 | "$(SRCDIR)\href.js" \ |
| 578 | "$(SRCDIR)\login.js" \ |
| 579 | "$(SRCDIR)\markdown.md" \ |
| 580 | "$(SRCDIR)\menu.js" \ |
| 581 | "$(SRCDIR)\sbsdiff.js" \ |
| 582 | "$(SRCDIR)\scroll.js" \ |
| 583 | "$(SRCDIR)\skin.js" \ |
| 584 | "$(SRCDIR)\sorttable.js" \ |
| 585 | "$(SRCDIR)\sounds\0.wav" \ |
| 586 | "$(SRCDIR)\sounds\1.wav" \ |
| 587 | "$(SRCDIR)\sounds\2.wav" \ |
| 588 | "$(SRCDIR)\sounds\3.wav" \ |
| 589 | "$(SRCDIR)\sounds\4.wav" \ |
| 590 | "$(SRCDIR)\sounds\5.wav" \ |
| 591 | "$(SRCDIR)\sounds\6.wav" \ |
| 592 | "$(SRCDIR)\sounds\7.wav" \ |
| 593 | "$(SRCDIR)\sounds\8.wav" \ |
| 594 | "$(SRCDIR)\sounds\9.wav" \ |
| 595 | "$(SRCDIR)\sounds\a.wav" \ |
| 596 | "$(SRCDIR)\sounds\b.wav" \ |
| 597 | "$(SRCDIR)\sounds\c.wav" \ |
| 598 | "$(SRCDIR)\sounds\d.wav" \ |
| 599 | "$(SRCDIR)\sounds\e.wav" \ |
| 600 | "$(SRCDIR)\sounds\f.wav" \ |
| 601 | "$(SRCDIR)\style.admin_log.css" \ |
| 602 | "$(SRCDIR)\style.fileedit.css" \ |
| 603 | "$(SRCDIR)\tree.js" \ |
| 604 | "$(SRCDIR)\useredit.js" \ |
| 605 | "$(SRCDIR)\wiki.wiki" |
| 606 | |
| 607 | OBJ = "$(OX)\add$O" \ |
| 608 | "$(OX)\ajax$O" \ |
| 609 | "$(OX)\alerts$O" \ |
| 610 | "$(OX)\allrepo$O" \ |
| 611 | "$(OX)\attach$O" \ |
| 612 | "$(OX)\backlink$O" \ |
| 613 | "$(OX)\backoffice$O" \ |
| 614 | "$(OX)\bag$O" \ |
| 615 | "$(OX)\bisect$O" \ |
| 616 | "$(OX)\blob$O" \ |
| 617 | "$(OX)\branch$O" \ |
| 618 | "$(OX)\browse$O" \ |
| 619 | "$(OX)\builtin$O" \ |
| 620 | "$(OX)\bundle$O" \ |
| 621 | "$(OX)\cache$O" \ |
| 622 | "$(OX)\capabilities$O" \ |
| 623 | "$(OX)\captcha$O" \ |
| 624 | "$(OX)\cgi$O" \ |
| 625 | "$(OX)\checkin$O" \ |
| 626 | "$(OX)\checkout$O" \ |
| 627 | "$(OX)\clearsign$O" \ |
| 628 | "$(OX)\clone$O" \ |
| 629 | "$(OX)\comformat$O" \ |
| 630 | "$(OX)\configure$O" \ |
| 631 | "$(OX)\content$O" \ |
| 632 | "$(OX)\cookies$O" \ |
| 633 | "$(OX)\cson_amalgamation$O" \ |
| 634 | "$(OX)\db$O" \ |
| 635 | "$(OX)\delta$O" \ |
| 636 | "$(OX)\deltacmd$O" \ |
| 637 | "$(OX)\deltafunc$O" \ |
| 638 | "$(OX)\descendants$O" \ |
| 639 | "$(OX)\diff$O" \ |
| 640 | "$(OX)\diffcmd$O" \ |
| 641 | "$(OX)\dispatch$O" \ |
| 642 | "$(OX)\doc$O" \ |
| 643 | "$(OX)\encode$O" \ |
| 644 | "$(OX)\etag$O" \ |
| 645 | "$(OX)\event$O" \ |
| 646 | "$(OX)\export$O" \ |
| 647 | "$(OX)\extcgi$O" \ |
| 648 | "$(OX)\file$O" \ |
| 649 | "$(OX)\fileedit$O" \ |
| 650 | "$(OX)\finfo$O" \ |
| 651 | "$(OX)\foci$O" \ |
| 652 | "$(OX)\forum$O" \ |
| 653 | "$(OX)\fshell$O" \ |
| 654 | "$(OX)\fusefs$O" \ |
| 655 | "$(OX)\fuzz$O" \ |
| 656 | "$(OX)\glob$O" \ |
| 657 | "$(OX)\graph$O" \ |
| 658 | "$(OX)\gzip$O" \ |
| 659 | "$(OX)\hname$O" \ |
| 660 | "$(OX)\http$O" \ |
| 661 | "$(OX)\http_socket$O" \ |
| 662 | "$(OX)\http_ssl$O" \ |
| 663 | "$(OX)\http_transport$O" \ |
| 664 | "$(OX)\import$O" \ |
| 665 | "$(OX)\info$O" \ |
| 666 | "$(OX)\json$O" \ |
| 667 | "$(OX)\json_artifact$O" \ |
| 668 | "$(OX)\json_branch$O" \ |
| 669 | "$(OX)\json_config$O" \ |
| 670 | "$(OX)\json_diff$O" \ |
| 671 | "$(OX)\json_dir$O" \ |
| 672 | "$(OX)\json_finfo$O" \ |
| 673 | "$(OX)\json_login$O" \ |
| 674 | "$(OX)\json_query$O" \ |
| 675 | "$(OX)\json_report$O" \ |
| 676 | "$(OX)\json_status$O" \ |
| 677 | "$(OX)\json_tag$O" \ |
| 678 | "$(OX)\json_timeline$O" \ |
| 679 | "$(OX)\json_user$O" \ |
| 680 | "$(OX)\json_wiki$O" \ |
| 681 | "$(OX)\leaf$O" \ |
| 682 | "$(OX)\loadctrl$O" \ |
| 683 | "$(OX)\login$O" \ |
| 684 | "$(OX)\lookslike$O" \ |
| 685 | "$(OX)\main$O" \ |
| 686 | "$(OX)\manifest$O" \ |
| 687 | "$(OX)\markdown$O" \ |
| 688 | "$(OX)\markdown_html$O" \ |
| 689 | "$(OX)\md5$O" \ |
| 690 | "$(OX)\merge$O" \ |
| 691 | "$(OX)\merge3$O" \ |
| 692 | "$(OX)\moderate$O" \ |
| 693 | "$(OX)\name$O" \ |
| 694 | "$(OX)\path$O" \ |
| 695 | "$(OX)\piechart$O" \ |
| 696 | "$(OX)\pivot$O" \ |
| 697 | "$(OX)\popen$O" \ |
| 698 | "$(OX)\pqueue$O" \ |
| 699 | "$(OX)\printf$O" \ |
| 700 | "$(OX)\publish$O" \ |
| 701 | "$(OX)\purge$O" \ |
| 702 | "$(OX)\rebuild$O" \ |
| 703 | "$(OX)\regexp$O" \ |
| 704 | "$(OX)\repolist$O" \ |
| 705 | "$(OX)\report$O" \ |
| 706 | "$(OX)\rss$O" \ |
| 707 | "$(OX)\schema$O" \ |
| 708 | "$(OX)\search$O" \ |
| 709 | "$(OX)\security_audit$O" \ |
| 710 | "$(OX)\setup$O" \ |
| 711 | "$(OX)\setupuser$O" \ |
| 712 | "$(OX)\sha1$O" \ |
| 713 | "$(OX)\sha1hard$O" \ |
| 714 | "$(OX)\sha3$O" \ |
| 715 | "$(OX)\shell$O" \ |
| 716 | "$(OX)\shun$O" \ |
| 717 | "$(OX)\sitemap$O" \ |
| 718 | "$(OX)\skins$O" \ |
| 719 | "$(OX)\smtp$O" \ |
| 720 | "$(OX)\sqlcmd$O" \ |
| 721 | "$(OX)\sqlite3$O" \ |
| 722 | "$(OX)\stash$O" \ |
| 723 | "$(OX)\stat$O" \ |
| 724 | "$(OX)\statrep$O" \ |
| 725 | "$(OX)\style$O" \ |
| 726 | "$(OX)\sync$O" \ |
| 727 | "$(OX)\tag$O" \ |
| 728 | "$(OX)\tar$O" \ |
| 729 | "$(OX)\terminal$O" \ |
| 730 | "$(OX)\th$O" \ |
| 731 | "$(OX)\th_lang$O" \ |
| 732 | "$(OX)\th_main$O" \ |
| 733 | "$(OX)\th_tcl$O" \ |
| 734 | "$(OX)\timeline$O" \ |
| 735 | "$(OX)\tkt$O" \ |
| 736 | "$(OX)\tktsetup$O" \ |
| 737 | "$(OX)\undo$O" \ |
| 738 | "$(OX)\unicode$O" \ |
| 739 | "$(OX)\unversioned$O" \ |
| 740 | "$(OX)\update$O" \ |
| 741 | "$(OX)\url$O" \ |
| 742 | "$(OX)\user$O" \ |
| 743 | "$(OX)\utf8$O" \ |
| 744 | "$(OX)\util$O" \ |
| 745 | "$(OX)\verify$O" \ |
| 746 | "$(OX)\vfile$O" \ |
| 747 | "$(OX)\webmail$O" \ |
| 748 | "$(OX)\wiki$O" \ |
| 749 | "$(OX)\wikiformat$O" \ |
| 750 | "$(OX)\winfile$O" \ |
| 751 | "$(OX)\winhttp$O" \ |
| 752 | "$(OX)\wysiwyg$O" \ |
| 753 | "$(OX)\xfer$O" \ |
| 754 | "$(OX)\xfersetup$O" \ |
| 755 | "$(OX)\zip$O" \ |
| 756 | !if $(FOSSIL_ENABLE_MINIZ)!=0 |
| 757 | "$(OX)\miniz$O" \ |
| 758 | !endif |
| 759 | "$(OX)\fossil.res" |
| 760 | |
| 761 | |
| 762 | !ifndef BASEAPPNAME |
| 763 | BASEAPPNAME = fossil |
| 764 | !endif |
| @@ -749,32 +765,52 @@ | |
| 765 | |
| 766 | APPNAME = $(OX)\$(BASEAPPNAME)$(E) |
| 767 | PDBNAME = $(OX)\$(BASEAPPNAME)$(P) |
| 768 | APPTARGETS = |
| 769 | |
| 770 | all: "$(OX)" "$(APPNAME)" |
| 771 | |
| 772 | $(BASEAPPNAME): "$(APPNAME)" |
| 773 | |
| 774 | $(BASEAPPNAME)$(E): "$(APPNAME)" |
| 775 | |
| 776 | install: "$(APPNAME)" |
| 777 | echo F | xcopy /Y "$(APPNAME)" "$(INSTALLDIR)"\* |
| 778 | !if $(DEBUG)!=0 |
| 779 | echo F | xcopy /Y "$(PDBNAME)" "$(INSTALLDIR)"\* |
| 780 | !endif |
| 781 | |
| 782 | $(OX): |
| 783 | @-mkdir $@ |
| 784 | |
| 785 | zlib: |
| 786 | @echo Building zlib from "$(ZLIBDIR)"... |
| 787 | !if $(FOSSIL_ENABLE_WINXP)!=0 |
| 788 | @pushd "$(ZLIBDIR)" && $(MAKE) /f win32\Makefile.msc $(ZLIB) "CC=cl $(XPCFLAGS)" "LD=link $(XPLDFLAGS)" && popd |
| 789 | !else |
| 790 | @pushd "$(ZLIBDIR)" && $(MAKE) /f win32\Makefile.msc $(ZLIB) && popd |
| 791 | !endif |
| 792 | |
| 793 | clean-zlib: |
| 794 | @pushd "$(ZLIBDIR)" && $(MAKE) /f win32\Makefile.msc clean && popd |
| 795 | |
| 796 | !if $(FOSSIL_ENABLE_SSL)!=0 |
| 797 | openssl: |
| 798 | @echo Building OpenSSL from "$(SSLDIR)"... |
| 799 | !ifdef PERLDIR |
| 800 | @pushd "$(SSLDIR)" && "$(PERLDIR)\$(PERL)" Configure $(SSLCONFIG) && popd |
| 801 | !else |
| 802 | @pushd "$(SSLDIR)" && "$(PERL)" Configure $(SSLCONFIG) && popd |
| 803 | !endif |
| 804 | !if $(FOSSIL_ENABLE_WINXP)!=0 |
| 805 | @pushd "$(SSLDIR)" && $(MAKE) "CC=cl $(XPCFLAGS)" "LFLAGS=$(XPLDFLAGS)" && popd |
| 806 | !else |
| 807 | @pushd "$(SSLDIR)" && $(MAKE) && popd |
| 808 | !endif |
| 809 | |
| 810 | clean-openssl: |
| 811 | @pushd "$(SSLDIR)" && $(MAKE) clean && popd |
| 812 | !endif |
| 813 | |
| 814 | !if $(FOSSIL_ENABLE_MINIZ)==0 |
| 815 | !if $(FOSSIL_BUILD_ZLIB)!=0 |
| 816 | APPTARGETS = $(APPTARGETS) zlib |
| @@ -785,191 +821,188 @@ | |
| 821 | !if $(FOSSIL_BUILD_SSL)!=0 |
| 822 | APPTARGETS = $(APPTARGETS) openssl |
| 823 | !endif |
| 824 | !endif |
| 825 | |
| 826 | "$(APPNAME)" : $(APPTARGETS) "$(OBJDIR)\translate$E" "$(OBJDIR)\mkindex$E" "$(OBJDIR)\codecheck1$E" "$(OX)\headers" $(OBJ) "$(OX)\linkopts" |
| 827 | "$(OBJDIR)\codecheck1$E" $(SRC) |
| 828 | link $(LDFLAGS) /OUT:$@ /PDB:$(@D)\ $(LIBDIR) Wsetargv.obj "$(OX)\fossil.res" @"$(OX)\linkopts" |
| 829 | if exist "$(B)\win\fossil.exe.manifest" \ |
| 830 | $(MTC) -nologo -manifest "$(B)\win\fossil.exe.manifest" -outputresource:$@;1 |
| 831 | |
| 832 | "$(OX)\linkopts": "$(B)\win\Makefile.msc" |
| 833 | echo "$(OX)\add.obj" > $@ |
| 834 | echo "$(OX)\ajax.obj" >> $@ |
| 835 | echo "$(OX)\alerts.obj" >> $@ |
| 836 | echo "$(OX)\allrepo.obj" >> $@ |
| 837 | echo "$(OX)\attach.obj" >> $@ |
| 838 | echo "$(OX)\backlink.obj" >> $@ |
| 839 | echo "$(OX)\backoffice.obj" >> $@ |
| 840 | echo "$(OX)\bag.obj" >> $@ |
| 841 | echo "$(OX)\bisect.obj" >> $@ |
| 842 | echo "$(OX)\blob.obj" >> $@ |
| 843 | echo "$(OX)\branch.obj" >> $@ |
| 844 | echo "$(OX)\browse.obj" >> $@ |
| 845 | echo "$(OX)\builtin.obj" >> $@ |
| 846 | echo "$(OX)\bundle.obj" >> $@ |
| 847 | echo "$(OX)\cache.obj" >> $@ |
| 848 | echo "$(OX)\capabilities.obj" >> $@ |
| 849 | echo "$(OX)\captcha.obj" >> $@ |
| 850 | echo "$(OX)\cgi.obj" >> $@ |
| 851 | echo "$(OX)\checkin.obj" >> $@ |
| 852 | echo "$(OX)\checkout.obj" >> $@ |
| 853 | echo "$(OX)\clearsign.obj" >> $@ |
| 854 | echo "$(OX)\clone.obj" >> $@ |
| 855 | echo "$(OX)\comformat.obj" >> $@ |
| 856 | echo "$(OX)\configure.obj" >> $@ |
| 857 | echo "$(OX)\content.obj" >> $@ |
| 858 | echo "$(OX)\cookies.obj" >> $@ |
| 859 | echo "$(OX)\cson_amalgamation.obj" >> $@ |
| 860 | echo "$(OX)\db.obj" >> $@ |
| 861 | echo "$(OX)\delta.obj" >> $@ |
| 862 | echo "$(OX)\deltacmd.obj" >> $@ |
| 863 | echo "$(OX)\deltafunc.obj" >> $@ |
| 864 | echo "$(OX)\descendants.obj" >> $@ |
| 865 | echo "$(OX)\diff.obj" >> $@ |
| 866 | echo "$(OX)\diffcmd.obj" >> $@ |
| 867 | echo "$(OX)\dispatch.obj" >> $@ |
| 868 | echo "$(OX)\doc.obj" >> $@ |
| 869 | echo "$(OX)\encode.obj" >> $@ |
| 870 | echo "$(OX)\etag.obj" >> $@ |
| 871 | echo "$(OX)\event.obj" >> $@ |
| 872 | echo "$(OX)\export.obj" >> $@ |
| 873 | echo "$(OX)\extcgi.obj" >> $@ |
| 874 | echo "$(OX)\file.obj" >> $@ |
| 875 | echo "$(OX)\fileedit.obj" >> $@ |
| 876 | echo "$(OX)\finfo.obj" >> $@ |
| 877 | echo "$(OX)\foci.obj" >> $@ |
| 878 | echo "$(OX)\forum.obj" >> $@ |
| 879 | echo "$(OX)\fshell.obj" >> $@ |
| 880 | echo "$(OX)\fusefs.obj" >> $@ |
| 881 | echo "$(OX)\fuzz.obj" >> $@ |
| 882 | echo "$(OX)\glob.obj" >> $@ |
| 883 | echo "$(OX)\graph.obj" >> $@ |
| 884 | echo "$(OX)\gzip.obj" >> $@ |
| 885 | echo "$(OX)\hname.obj" >> $@ |
| 886 | echo "$(OX)\http.obj" >> $@ |
| 887 | echo "$(OX)\http_socket.obj" >> $@ |
| 888 | echo "$(OX)\http_ssl.obj" >> $@ |
| 889 | echo "$(OX)\http_transport.obj" >> $@ |
| 890 | echo "$(OX)\import.obj" >> $@ |
| 891 | echo "$(OX)\info.obj" >> $@ |
| 892 | echo "$(OX)\json.obj" >> $@ |
| 893 | echo "$(OX)\json_artifact.obj" >> $@ |
| 894 | echo "$(OX)\json_branch.obj" >> $@ |
| 895 | echo "$(OX)\json_config.obj" >> $@ |
| 896 | echo "$(OX)\json_diff.obj" >> $@ |
| 897 | echo "$(OX)\json_dir.obj" >> $@ |
| 898 | echo "$(OX)\json_finfo.obj" >> $@ |
| 899 | echo "$(OX)\json_login.obj" >> $@ |
| 900 | echo "$(OX)\json_query.obj" >> $@ |
| 901 | echo "$(OX)\json_report.obj" >> $@ |
| 902 | echo "$(OX)\json_status.obj" >> $@ |
| 903 | echo "$(OX)\json_tag.obj" >> $@ |
| 904 | echo "$(OX)\json_timeline.obj" >> $@ |
| 905 | echo "$(OX)\json_user.obj" >> $@ |
| 906 | echo "$(OX)\json_wiki.obj" >> $@ |
| 907 | echo "$(OX)\leaf.obj" >> $@ |
| 908 | echo "$(OX)\loadctrl.obj" >> $@ |
| 909 | echo "$(OX)\login.obj" >> $@ |
| 910 | echo "$(OX)\lookslike.obj" >> $@ |
| 911 | echo "$(OX)\main.obj" >> $@ |
| 912 | echo "$(OX)\manifest.obj" >> $@ |
| 913 | echo "$(OX)\markdown.obj" >> $@ |
| 914 | echo "$(OX)\markdown_html.obj" >> $@ |
| 915 | echo "$(OX)\md5.obj" >> $@ |
| 916 | echo "$(OX)\merge.obj" >> $@ |
| 917 | echo "$(OX)\merge3.obj" >> $@ |
| 918 | echo "$(OX)\moderate.obj" >> $@ |
| 919 | echo "$(OX)\name.obj" >> $@ |
| 920 | echo "$(OX)\path.obj" >> $@ |
| 921 | echo "$(OX)\piechart.obj" >> $@ |
| 922 | echo "$(OX)\pivot.obj" >> $@ |
| 923 | echo "$(OX)\popen.obj" >> $@ |
| 924 | echo "$(OX)\pqueue.obj" >> $@ |
| 925 | echo "$(OX)\printf.obj" >> $@ |
| 926 | echo "$(OX)\publish.obj" >> $@ |
| 927 | echo "$(OX)\purge.obj" >> $@ |
| 928 | echo "$(OX)\rebuild.obj" >> $@ |
| 929 | echo "$(OX)\regexp.obj" >> $@ |
| 930 | echo "$(OX)\repolist.obj" >> $@ |
| 931 | echo "$(OX)\report.obj" >> $@ |
| 932 | echo "$(OX)\rss.obj" >> $@ |
| 933 | echo "$(OX)\schema.obj" >> $@ |
| 934 | echo "$(OX)\search.obj" >> $@ |
| 935 | echo "$(OX)\security_audit.obj" >> $@ |
| 936 | echo "$(OX)\setup.obj" >> $@ |
| 937 | echo "$(OX)\setupuser.obj" >> $@ |
| 938 | echo "$(OX)\sha1.obj" >> $@ |
| 939 | echo "$(OX)\sha1hard.obj" >> $@ |
| 940 | echo "$(OX)\sha3.obj" >> $@ |
| 941 | echo "$(OX)\shell.obj" >> $@ |
| 942 | echo "$(OX)\shun.obj" >> $@ |
| 943 | echo "$(OX)\sitemap.obj" >> $@ |
| 944 | echo "$(OX)\skins.obj" >> $@ |
| 945 | echo "$(OX)\smtp.obj" >> $@ |
| 946 | echo "$(OX)\sqlcmd.obj" >> $@ |
| 947 | echo "$(OX)\sqlite3.obj" >> $@ |
| 948 | echo "$(OX)\stash.obj" >> $@ |
| 949 | echo "$(OX)\stat.obj" >> $@ |
| 950 | echo "$(OX)\statrep.obj" >> $@ |
| 951 | echo "$(OX)\style.obj" >> $@ |
| 952 | echo "$(OX)\sync.obj" >> $@ |
| 953 | echo "$(OX)\tag.obj" >> $@ |
| 954 | echo "$(OX)\tar.obj" >> $@ |
| 955 | echo "$(OX)\terminal.obj" >> $@ |
| 956 | echo "$(OX)\th.obj" >> $@ |
| 957 | echo "$(OX)\th_lang.obj" >> $@ |
| 958 | echo "$(OX)\th_main.obj" >> $@ |
| 959 | echo "$(OX)\th_tcl.obj" >> $@ |
| 960 | echo "$(OX)\timeline.obj" >> $@ |
| 961 | echo "$(OX)\tkt.obj" >> $@ |
| 962 | echo "$(OX)\tktsetup.obj" >> $@ |
| 963 | echo "$(OX)\undo.obj" >> $@ |
| 964 | echo "$(OX)\unicode.obj" >> $@ |
| 965 | echo "$(OX)\unversioned.obj" >> $@ |
| 966 | echo "$(OX)\update.obj" >> $@ |
| 967 | echo "$(OX)\url.obj" >> $@ |
| 968 | echo "$(OX)\user.obj" >> $@ |
| 969 | echo "$(OX)\utf8.obj" >> $@ |
| 970 | echo "$(OX)\util.obj" >> $@ |
| 971 | echo "$(OX)\verify.obj" >> $@ |
| 972 | echo "$(OX)\vfile.obj" >> $@ |
| 973 | echo "$(OX)\webmail.obj" >> $@ |
| 974 | echo "$(OX)\wiki.obj" >> $@ |
| 975 | echo "$(OX)\wikiformat.obj" >> $@ |
| 976 | echo "$(OX)\winfile.obj" >> $@ |
| 977 | echo "$(OX)\winhttp.obj" >> $@ |
| 978 | echo "$(OX)\wysiwyg.obj" >> $@ |
| 979 | echo "$(OX)\xfer.obj" >> $@ |
| 980 | echo "$(OX)\xfersetup.obj" >> $@ |
| 981 | echo "$(OX)\zip.obj" >> $@ |
| 982 | !if $(FOSSIL_ENABLE_MINIZ)!=0 |
| 983 | echo "$(OX)\miniz.obj" >> $@ |
| 984 | !endif |
| 985 | echo $(LIBS) >> $@ |
| 986 | |
| 987 | "$(OBJDIR)\translate$E": "$(SRCDIR)\translate.c" |
| 988 | $(BCC) /Fe$@ /Fo$(@D)\ /Fd$(@D)\ $** |
| 989 | |
| 990 | "$(OBJDIR)\makeheaders$E": "$(SRCDIR)\makeheaders.c" |
| 991 | $(BCC) /Fe$@ /Fo$(@D)\ /Fd$(@D)\ $** |
| 992 | |
| 993 | "$(OBJDIR)\mkindex$E": "$(SRCDIR)\mkindex.c" |
| 994 | $(BCC) /Fe$@ /Fo$(@D)\ /Fd$(@D)\ $** |
| 995 | |
| 996 | "$(OBJDIR)\mkbuiltin$E": "$(SRCDIR)\mkbuiltin.c" |
| 997 | $(BCC) /Fe$@ /Fo$(@D)\ /Fd$(@D)\ $** |
| 998 | |
| 999 | "$(OBJDIR)\mkversion$E": "$(SRCDIR)\mkversion.c" |
| 1000 | $(BCC) /Fe$@ /Fo$(@D)\ /Fd$(@D)\ $** |
| 1001 | |
| 1002 | "$(OBJDIR)\codecheck1$E": "$(SRCDIR)\codecheck1.c" |
| 1003 | $(BCC) /Fe$@ /Fo$(@D)\ /Fd$(@D)\ $** |
| 1004 | |
| 1005 | !if $(USE_SEE)!=0 |
| 1006 | SEE_FLAGS = /DSQLITE_HAS_CODEC=1 /DSQLITE_SHELL_DBKEY_PROC=fossil_key |
| 1007 | SQLITE3_SHELL_SRC = $(SRCDIR)\shell-see.c |
| 1008 | SQLITE3_SRC = $(SRCDIR)\sqlite3-see.c |
| @@ -977,1082 +1010,1195 @@ | |
| 1010 | SEE_FLAGS = |
| 1011 | SQLITE3_SHELL_SRC = $(SRCDIR)\shell.c |
| 1012 | SQLITE3_SRC = $(SRCDIR)\sqlite3.c |
| 1013 | !endif |
| 1014 | |
| 1015 | "$(OX)\shell$O" : "$(SQLITE3_SHELL_SRC)" "$(B)\win\Makefile.msc" |
| 1016 | $(TCC) /Fo$@ /Fd$(@D)\ $(SHELL_OPTIONS) $(SQLITE_OPTIONS) $(SHELL_CFLAGS) $(SEE_FLAGS) -c "$(SQLITE3_SHELL_SRC)" |
| 1017 | |
| 1018 | "$(OX)\sqlite3$O" : "$(SQLITE3_SRC)" "$(B)\win\Makefile.msc" |
| 1019 | $(TCC) /Fo$@ /Fd$(@D)\ -c $(SQLITE_OPTIONS) $(SQLITE_CFLAGS) $(SEE_FLAGS) "$(SQLITE3_SRC)" |
| 1020 | |
| 1021 | "$(OX)\th$O" : "$(SRCDIR)\th.c" |
| 1022 | $(TCC) /Fo$@ /Fd$(@D)\ -c $** |
| 1023 | |
| 1024 | "$(OX)\th_lang$O" : "$(SRCDIR)\th_lang.c" |
| 1025 | $(TCC) /Fo$@ /Fd$(@D)\ -c $** |
| 1026 | |
| 1027 | "$(OX)\th_tcl$O" : "$(SRCDIR)\th_tcl.c" |
| 1028 | $(TCC) /Fo$@ /Fd$(@D)\ -c $** |
| 1029 | |
| 1030 | "$(OX)\miniz$O" : "$(SRCDIR)\miniz.c" |
| 1031 | $(TCC) /Fo$@ /Fd$(@D)\ -c $(MINIZ_OPTIONS) $** |
| 1032 | |
| 1033 | "$(OX)\VERSION.h" : "$(OBJDIR)\mkversion$E" "$(B)\manifest.uuid" "$(B)\manifest" "$(B)\VERSION" |
| 1034 | $** > $@ |
| 1035 | |
| 1036 | "$(OX)\cson_amalgamation$O" : "$(SRCDIR)\cson_amalgamation.c" |
| 1037 | $(TCC) /Fo$@ /Fd$(@D)\ -c $** |
| 1038 | |
| 1039 | "$(OX)\page_index.h": "$(OBJDIR)\mkindex$E" $(SRC) |
| 1040 | $** > $@ |
| 1041 | |
| 1042 | "$(OX)\builtin_data.h": "$(OBJDIR)\mkbuiltin$E" "$(OX)\builtin_data.reslist" |
| 1043 | "$(OBJDIR)\mkbuiltin$E" --prefix "$(SRCDIR)/" --reslist "$(OX)\builtin_data.reslist" > $@ |
| 1044 | |
| 1045 | cleanx: |
| 1046 | -del "$(OX)\*.obj" 2>NUL |
| 1047 | -del "$(OBJDIR)\*.obj" 2>NUL |
| 1048 | -del "$(OX)\*_.c" 2>NUL |
| 1049 | -del "$(OX)\*.h" 2>NUL |
| 1050 | -del "$(OX)\*.ilk" 2>NUL |
| 1051 | -del "$(OX)\*.map" 2>NUL |
| 1052 | -del "$(OX)\*.res" 2>NUL |
| 1053 | -del "$(OX)\*.reslist" 2>NUL |
| 1054 | -del "$(OX)\headers" 2>NUL |
| 1055 | -del "$(OX)\linkopts" 2>NUL |
| 1056 | -del "$(OX)\vc*.pdb" 2>NUL |
| 1057 | |
| 1058 | clean: cleanx |
| 1059 | -del "$(APPNAME)" 2>NUL |
| 1060 | -del "$(PDBNAME)" 2>NUL |
| 1061 | -del "$(OBJDIR)\translate$E" 2>NUL |
| 1062 | -del "$(OBJDIR)\translate$P" 2>NUL |
| 1063 | -del "$(OBJDIR)\mkindex$E" 2>NUL |
| 1064 | -del "$(OBJDIR)\mkindex$P" 2>NUL |
| 1065 | -del "$(OBJDIR)\makeheaders$E" 2>NUL |
| 1066 | -del "$(OBJDIR)\makeheaders$P" 2>NUL |
| 1067 | -del "$(OBJDIR)\mkversion$E" 2>NUL |
| 1068 | -del "$(OBJDIR)\mkversion$P" 2>NUL |
| 1069 | -del "$(OBJDIR)\mkcss$E" 2>NUL |
| 1070 | -del "$(OBJDIR)\mkcss$P" 2>NUL |
| 1071 | -del "$(OBJDIR)\codecheck1$E" 2>NUL |
| 1072 | -del "$(OBJDIR)\codecheck1$P" 2>NUL |
| 1073 | -del "$(OBJDIR)\mkbuiltin$E" 2>NUL |
| 1074 | -del "$(OBJDIR)\mkbuiltin$P" 2>NUL |
| 1075 | |
| 1076 | realclean: clean |
| 1077 | |
| 1078 | "$(OBJDIR)\json$O" : "$(SRCDIR)\json_detail.h" |
| 1079 | "$(OBJDIR)\json_artifact$O" : "$(SRCDIR)\json_detail.h" |
| 1080 | "$(OBJDIR)\json_branch$O" : "$(SRCDIR)\json_detail.h" |
| 1081 | "$(OBJDIR)\json_config$O" : "$(SRCDIR)\json_detail.h" |
| 1082 | "$(OBJDIR)\json_diff$O" : "$(SRCDIR)\json_detail.h" |
| 1083 | "$(OBJDIR)\json_dir$O" : "$(SRCDIR)\json_detail.h" |
| 1084 | "$(OBJDIR)\json_finfo$O" : "$(SRCDIR)\json_detail.h" |
| 1085 | "$(OBJDIR)\json_login$O" : "$(SRCDIR)\json_detail.h" |
| 1086 | "$(OBJDIR)\json_query$O" : "$(SRCDIR)\json_detail.h" |
| 1087 | "$(OBJDIR)\json_report$O" : "$(SRCDIR)\json_detail.h" |
| 1088 | "$(OBJDIR)\json_status$O" : "$(SRCDIR)\json_detail.h" |
| 1089 | "$(OBJDIR)\json_tag$O" : "$(SRCDIR)\json_detail.h" |
| 1090 | "$(OBJDIR)\json_timeline$O" : "$(SRCDIR)\json_detail.h" |
| 1091 | "$(OBJDIR)\json_user$O" : "$(SRCDIR)\json_detail.h" |
| 1092 | "$(OBJDIR)\json_wiki$O" : "$(SRCDIR)\json_detail.h" |
| 1093 | |
| 1094 | "$(OX)\builtin_data.reslist": $(EXTRA_FILES) "$(B)\win\Makefile.msc" |
| 1095 | echo "$(SRCDIR)\../skins/aht/details.txt" > $@ |
| 1096 | echo "$(SRCDIR)\../skins/ardoise/css.txt" >> $@ |
| 1097 | echo "$(SRCDIR)\../skins/ardoise/details.txt" >> $@ |
| 1098 | echo "$(SRCDIR)\../skins/ardoise/footer.txt" >> $@ |
| 1099 | echo "$(SRCDIR)\../skins/ardoise/header.txt" >> $@ |
| 1100 | echo "$(SRCDIR)\../skins/black_and_white/css.txt" >> $@ |
| 1101 | echo "$(SRCDIR)\../skins/black_and_white/details.txt" >> $@ |
| 1102 | echo "$(SRCDIR)\../skins/black_and_white/footer.txt" >> $@ |
| 1103 | echo "$(SRCDIR)\../skins/black_and_white/header.txt" >> $@ |
| 1104 | echo "$(SRCDIR)\../skins/blitz/css.txt" >> $@ |
| 1105 | echo "$(SRCDIR)\../skins/blitz/details.txt" >> $@ |
| 1106 | echo "$(SRCDIR)\../skins/blitz/footer.txt" >> $@ |
| 1107 | echo "$(SRCDIR)\../skins/blitz/header.txt" >> $@ |
| 1108 | echo "$(SRCDIR)\../skins/blitz/ticket.txt" >> $@ |
| 1109 | echo "$(SRCDIR)\../skins/blitz_no_logo/css.txt" >> $@ |
| 1110 | echo "$(SRCDIR)\../skins/blitz_no_logo/details.txt" >> $@ |
| 1111 | echo "$(SRCDIR)\../skins/blitz_no_logo/footer.txt" >> $@ |
| 1112 | echo "$(SRCDIR)\../skins/blitz_no_logo/header.txt" >> $@ |
| 1113 | echo "$(SRCDIR)\../skins/blitz_no_logo/ticket.txt" >> $@ |
| 1114 | echo "$(SRCDIR)\../skins/bootstrap/css.txt" >> $@ |
| 1115 | echo "$(SRCDIR)\../skins/bootstrap/details.txt" >> $@ |
| 1116 | echo "$(SRCDIR)\../skins/bootstrap/footer.txt" >> $@ |
| 1117 | echo "$(SRCDIR)\../skins/bootstrap/header.txt" >> $@ |
| 1118 | echo "$(SRCDIR)\../skins/default/css.txt" >> $@ |
| 1119 | echo "$(SRCDIR)\../skins/default/details.txt" >> $@ |
| 1120 | echo "$(SRCDIR)\../skins/default/footer.txt" >> $@ |
| 1121 | echo "$(SRCDIR)\../skins/default/header.txt" >> $@ |
| 1122 | echo "$(SRCDIR)\../skins/default/js.txt" >> $@ |
| 1123 | echo "$(SRCDIR)\../skins/eagle/css.txt" >> $@ |
| 1124 | echo "$(SRCDIR)\../skins/eagle/details.txt" >> $@ |
| 1125 | echo "$(SRCDIR)\../skins/eagle/footer.txt" >> $@ |
| 1126 | echo "$(SRCDIR)\../skins/eagle/header.txt" >> $@ |
| 1127 | echo "$(SRCDIR)\../skins/enhanced1/css.txt" >> $@ |
| 1128 | echo "$(SRCDIR)\../skins/enhanced1/details.txt" >> $@ |
| 1129 | echo "$(SRCDIR)\../skins/enhanced1/footer.txt" >> $@ |
| 1130 | echo "$(SRCDIR)\../skins/enhanced1/header.txt" >> $@ |
| 1131 | echo "$(SRCDIR)\../skins/khaki/css.txt" >> $@ |
| 1132 | echo "$(SRCDIR)\../skins/khaki/details.txt" >> $@ |
| 1133 | echo "$(SRCDIR)\../skins/khaki/footer.txt" >> $@ |
| 1134 | echo "$(SRCDIR)\../skins/khaki/header.txt" >> $@ |
| 1135 | echo "$(SRCDIR)\../skins/original/css.txt" >> $@ |
| 1136 | echo "$(SRCDIR)\../skins/original/details.txt" >> $@ |
| 1137 | echo "$(SRCDIR)\../skins/original/footer.txt" >> $@ |
| 1138 | echo "$(SRCDIR)\../skins/original/header.txt" >> $@ |
| 1139 | echo "$(SRCDIR)\../skins/plain_gray/css.txt" >> $@ |
| 1140 | echo "$(SRCDIR)\../skins/plain_gray/details.txt" >> $@ |
| 1141 | echo "$(SRCDIR)\../skins/plain_gray/footer.txt" >> $@ |
| 1142 | echo "$(SRCDIR)\../skins/plain_gray/header.txt" >> $@ |
| 1143 | echo "$(SRCDIR)\../skins/rounded1/css.txt" >> $@ |
| 1144 | echo "$(SRCDIR)\../skins/rounded1/details.txt" >> $@ |
| 1145 | echo "$(SRCDIR)\../skins/rounded1/footer.txt" >> $@ |
| 1146 | echo "$(SRCDIR)\../skins/rounded1/header.txt" >> $@ |
| 1147 | echo "$(SRCDIR)\../skins/xekri/css.txt" >> $@ |
| 1148 | echo "$(SRCDIR)\../skins/xekri/details.txt" >> $@ |
| 1149 | echo "$(SRCDIR)\../skins/xekri/footer.txt" >> $@ |
| 1150 | echo "$(SRCDIR)\../skins/xekri/header.txt" >> $@ |
| 1151 | echo "$(SRCDIR)\accordion.js" >> $@ |
| 1152 | echo "$(SRCDIR)\ci_edit.js" >> $@ |
| 1153 | echo "$(SRCDIR)\copybtn.js" >> $@ |
| 1154 | echo "$(SRCDIR)\default.css" >> $@ |
| 1155 | echo "$(SRCDIR)\diff.tcl" >> $@ |
| 1156 | echo "$(SRCDIR)\forum.js" >> $@ |
| 1157 | echo "$(SRCDIR)\fossil.bootstrap.js" >> $@ |
| 1158 | echo "$(SRCDIR)\fossil.confirmer.js" >> $@ |
| 1159 | echo "$(SRCDIR)\fossil.dom.js" >> $@ |
| 1160 | echo "$(SRCDIR)\fossil.fetch.js" >> $@ |
| 1161 | echo "$(SRCDIR)\fossil.page.fileedit.js" >> $@ |
| 1162 | echo "$(SRCDIR)\fossil.storage.js" >> $@ |
| 1163 | echo "$(SRCDIR)\fossil.tabs.js" >> $@ |
| 1164 | echo "$(SRCDIR)\graph.js" >> $@ |
| 1165 | echo "$(SRCDIR)\href.js" >> $@ |
| 1166 | echo "$(SRCDIR)\login.js" >> $@ |
| 1167 | echo "$(SRCDIR)\markdown.md" >> $@ |
| 1168 | echo "$(SRCDIR)\menu.js" >> $@ |
| 1169 | echo "$(SRCDIR)\sbsdiff.js" >> $@ |
| 1170 | echo "$(SRCDIR)\scroll.js" >> $@ |
| 1171 | echo "$(SRCDIR)\skin.js" >> $@ |
| 1172 | echo "$(SRCDIR)\sorttable.js" >> $@ |
| 1173 | echo "$(SRCDIR)\sounds/0.wav" >> $@ |
| 1174 | echo "$(SRCDIR)\sounds/1.wav" >> $@ |
| 1175 | echo "$(SRCDIR)\sounds/2.wav" >> $@ |
| 1176 | echo "$(SRCDIR)\sounds/3.wav" >> $@ |
| 1177 | echo "$(SRCDIR)\sounds/4.wav" >> $@ |
| 1178 | echo "$(SRCDIR)\sounds/5.wav" >> $@ |
| 1179 | echo "$(SRCDIR)\sounds/6.wav" >> $@ |
| 1180 | echo "$(SRCDIR)\sounds/7.wav" >> $@ |
| 1181 | echo "$(SRCDIR)\sounds/8.wav" >> $@ |
| 1182 | echo "$(SRCDIR)\sounds/9.wav" >> $@ |
| 1183 | echo "$(SRCDIR)\sounds/a.wav" >> $@ |
| 1184 | echo "$(SRCDIR)\sounds/b.wav" >> $@ |
| 1185 | echo "$(SRCDIR)\sounds/c.wav" >> $@ |
| 1186 | echo "$(SRCDIR)\sounds/d.wav" >> $@ |
| 1187 | echo "$(SRCDIR)\sounds/e.wav" >> $@ |
| 1188 | echo "$(SRCDIR)\sounds/f.wav" >> $@ |
| 1189 | echo "$(SRCDIR)\style.admin_log.css" >> $@ |
| 1190 | echo "$(SRCDIR)\style.fileedit.css" >> $@ |
| 1191 | echo "$(SRCDIR)\tree.js" >> $@ |
| 1192 | echo "$(SRCDIR)\useredit.js" >> $@ |
| 1193 | echo "$(SRCDIR)\wiki.wiki" >> $@ |
| 1194 | |
| 1195 | "$(OX)\add$O" : "$(OX)\add_.c" "$(OX)\add.h" |
| 1196 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\add_.c" |
| 1197 | |
| 1198 | "$(OX)\add_.c" : "$(SRCDIR)\add.c" |
| 1199 | "$(OBJDIR)\translate$E" $** > $@ |
| 1200 | |
| 1201 | "$(OX)\ajax$O" : "$(OX)\ajax_.c" "$(OX)\ajax.h" |
| 1202 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\ajax_.c" |
| 1203 | |
| 1204 | "$(OX)\ajax_.c" : "$(SRCDIR)\ajax.c" |
| 1205 | "$(OBJDIR)\translate$E" $** > $@ |
| 1206 | |
| 1207 | "$(OX)\alerts$O" : "$(OX)\alerts_.c" "$(OX)\alerts.h" |
| 1208 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\alerts_.c" |
| 1209 | |
| 1210 | "$(OX)\alerts_.c" : "$(SRCDIR)\alerts.c" |
| 1211 | "$(OBJDIR)\translate$E" $** > $@ |
| 1212 | |
| 1213 | "$(OX)\allrepo$O" : "$(OX)\allrepo_.c" "$(OX)\allrepo.h" |
| 1214 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\allrepo_.c" |
| 1215 | |
| 1216 | "$(OX)\allrepo_.c" : "$(SRCDIR)\allrepo.c" |
| 1217 | "$(OBJDIR)\translate$E" $** > $@ |
| 1218 | |
| 1219 | "$(OX)\attach$O" : "$(OX)\attach_.c" "$(OX)\attach.h" |
| 1220 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\attach_.c" |
| 1221 | |
| 1222 | "$(OX)\attach_.c" : "$(SRCDIR)\attach.c" |
| 1223 | "$(OBJDIR)\translate$E" $** > $@ |
| 1224 | |
| 1225 | "$(OX)\backlink$O" : "$(OX)\backlink_.c" "$(OX)\backlink.h" |
| 1226 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\backlink_.c" |
| 1227 | |
| 1228 | "$(OX)\backlink_.c" : "$(SRCDIR)\backlink.c" |
| 1229 | "$(OBJDIR)\translate$E" $** > $@ |
| 1230 | |
| 1231 | "$(OX)\backoffice$O" : "$(OX)\backoffice_.c" "$(OX)\backoffice.h" |
| 1232 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\backoffice_.c" |
| 1233 | |
| 1234 | "$(OX)\backoffice_.c" : "$(SRCDIR)\backoffice.c" |
| 1235 | "$(OBJDIR)\translate$E" $** > $@ |
| 1236 | |
| 1237 | "$(OX)\bag$O" : "$(OX)\bag_.c" "$(OX)\bag.h" |
| 1238 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\bag_.c" |
| 1239 | |
| 1240 | "$(OX)\bag_.c" : "$(SRCDIR)\bag.c" |
| 1241 | "$(OBJDIR)\translate$E" $** > $@ |
| 1242 | |
| 1243 | "$(OX)\bisect$O" : "$(OX)\bisect_.c" "$(OX)\bisect.h" |
| 1244 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\bisect_.c" |
| 1245 | |
| 1246 | "$(OX)\bisect_.c" : "$(SRCDIR)\bisect.c" |
| 1247 | "$(OBJDIR)\translate$E" $** > $@ |
| 1248 | |
| 1249 | "$(OX)\blob$O" : "$(OX)\blob_.c" "$(OX)\blob.h" |
| 1250 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\blob_.c" |
| 1251 | |
| 1252 | "$(OX)\blob_.c" : "$(SRCDIR)\blob.c" |
| 1253 | "$(OBJDIR)\translate$E" $** > $@ |
| 1254 | |
| 1255 | "$(OX)\branch$O" : "$(OX)\branch_.c" "$(OX)\branch.h" |
| 1256 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\branch_.c" |
| 1257 | |
| 1258 | "$(OX)\branch_.c" : "$(SRCDIR)\branch.c" |
| 1259 | "$(OBJDIR)\translate$E" $** > $@ |
| 1260 | |
| 1261 | "$(OX)\browse$O" : "$(OX)\browse_.c" "$(OX)\browse.h" |
| 1262 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\browse_.c" |
| 1263 | |
| 1264 | "$(OX)\browse_.c" : "$(SRCDIR)\browse.c" |
| 1265 | "$(OBJDIR)\translate$E" $** > $@ |
| 1266 | |
| 1267 | "$(OX)\builtin$O" : "$(OX)\builtin_.c" "$(OX)\builtin.h" |
| 1268 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\builtin_.c" |
| 1269 | |
| 1270 | "$(OX)\builtin_.c" : "$(SRCDIR)\builtin.c" |
| 1271 | "$(OBJDIR)\translate$E" $** > $@ |
| 1272 | |
| 1273 | "$(OX)\bundle$O" : "$(OX)\bundle_.c" "$(OX)\bundle.h" |
| 1274 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\bundle_.c" |
| 1275 | |
| 1276 | "$(OX)\bundle_.c" : "$(SRCDIR)\bundle.c" |
| 1277 | "$(OBJDIR)\translate$E" $** > $@ |
| 1278 | |
| 1279 | "$(OX)\cache$O" : "$(OX)\cache_.c" "$(OX)\cache.h" |
| 1280 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\cache_.c" |
| 1281 | |
| 1282 | "$(OX)\cache_.c" : "$(SRCDIR)\cache.c" |
| 1283 | "$(OBJDIR)\translate$E" $** > $@ |
| 1284 | |
| 1285 | "$(OX)\capabilities$O" : "$(OX)\capabilities_.c" "$(OX)\capabilities.h" |
| 1286 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\capabilities_.c" |
| 1287 | |
| 1288 | "$(OX)\capabilities_.c" : "$(SRCDIR)\capabilities.c" |
| 1289 | "$(OBJDIR)\translate$E" $** > $@ |
| 1290 | |
| 1291 | "$(OX)\captcha$O" : "$(OX)\captcha_.c" "$(OX)\captcha.h" |
| 1292 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\captcha_.c" |
| 1293 | |
| 1294 | "$(OX)\captcha_.c" : "$(SRCDIR)\captcha.c" |
| 1295 | "$(OBJDIR)\translate$E" $** > $@ |
| 1296 | |
| 1297 | "$(OX)\cgi$O" : "$(OX)\cgi_.c" "$(OX)\cgi.h" |
| 1298 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\cgi_.c" |
| 1299 | |
| 1300 | "$(OX)\cgi_.c" : "$(SRCDIR)\cgi.c" |
| 1301 | "$(OBJDIR)\translate$E" $** > $@ |
| 1302 | |
| 1303 | "$(OX)\checkin$O" : "$(OX)\checkin_.c" "$(OX)\checkin.h" |
| 1304 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\checkin_.c" |
| 1305 | |
| 1306 | "$(OX)\checkin_.c" : "$(SRCDIR)\checkin.c" |
| 1307 | "$(OBJDIR)\translate$E" $** > $@ |
| 1308 | |
| 1309 | "$(OX)\checkout$O" : "$(OX)\checkout_.c" "$(OX)\checkout.h" |
| 1310 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\checkout_.c" |
| 1311 | |
| 1312 | "$(OX)\checkout_.c" : "$(SRCDIR)\checkout.c" |
| 1313 | "$(OBJDIR)\translate$E" $** > $@ |
| 1314 | |
| 1315 | "$(OX)\clearsign$O" : "$(OX)\clearsign_.c" "$(OX)\clearsign.h" |
| 1316 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\clearsign_.c" |
| 1317 | |
| 1318 | "$(OX)\clearsign_.c" : "$(SRCDIR)\clearsign.c" |
| 1319 | "$(OBJDIR)\translate$E" $** > $@ |
| 1320 | |
| 1321 | "$(OX)\clone$O" : "$(OX)\clone_.c" "$(OX)\clone.h" |
| 1322 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\clone_.c" |
| 1323 | |
| 1324 | "$(OX)\clone_.c" : "$(SRCDIR)\clone.c" |
| 1325 | "$(OBJDIR)\translate$E" $** > $@ |
| 1326 | |
| 1327 | "$(OX)\comformat$O" : "$(OX)\comformat_.c" "$(OX)\comformat.h" |
| 1328 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\comformat_.c" |
| 1329 | |
| 1330 | "$(OX)\comformat_.c" : "$(SRCDIR)\comformat.c" |
| 1331 | "$(OBJDIR)\translate$E" $** > $@ |
| 1332 | |
| 1333 | "$(OX)\configure$O" : "$(OX)\configure_.c" "$(OX)\configure.h" |
| 1334 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\configure_.c" |
| 1335 | |
| 1336 | "$(OX)\configure_.c" : "$(SRCDIR)\configure.c" |
| 1337 | "$(OBJDIR)\translate$E" $** > $@ |
| 1338 | |
| 1339 | "$(OX)\content$O" : "$(OX)\content_.c" "$(OX)\content.h" |
| 1340 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\content_.c" |
| 1341 | |
| 1342 | "$(OX)\content_.c" : "$(SRCDIR)\content.c" |
| 1343 | "$(OBJDIR)\translate$E" $** > $@ |
| 1344 | |
| 1345 | "$(OX)\cookies$O" : "$(OX)\cookies_.c" "$(OX)\cookies.h" |
| 1346 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\cookies_.c" |
| 1347 | |
| 1348 | "$(OX)\cookies_.c" : "$(SRCDIR)\cookies.c" |
| 1349 | "$(OBJDIR)\translate$E" $** > $@ |
| 1350 | |
| 1351 | "$(OX)\db$O" : "$(OX)\db_.c" "$(OX)\db.h" |
| 1352 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\db_.c" |
| 1353 | |
| 1354 | "$(OX)\db_.c" : "$(SRCDIR)\db.c" |
| 1355 | "$(OBJDIR)\translate$E" $** > $@ |
| 1356 | |
| 1357 | "$(OX)\delta$O" : "$(OX)\delta_.c" "$(OX)\delta.h" |
| 1358 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\delta_.c" |
| 1359 | |
| 1360 | "$(OX)\delta_.c" : "$(SRCDIR)\delta.c" |
| 1361 | "$(OBJDIR)\translate$E" $** > $@ |
| 1362 | |
| 1363 | "$(OX)\deltacmd$O" : "$(OX)\deltacmd_.c" "$(OX)\deltacmd.h" |
| 1364 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\deltacmd_.c" |
| 1365 | |
| 1366 | "$(OX)\deltacmd_.c" : "$(SRCDIR)\deltacmd.c" |
| 1367 | "$(OBJDIR)\translate$E" $** > $@ |
| 1368 | |
| 1369 | "$(OX)\deltafunc$O" : "$(OX)\deltafunc_.c" "$(OX)\deltafunc.h" |
| 1370 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\deltafunc_.c" |
| 1371 | |
| 1372 | "$(OX)\deltafunc_.c" : "$(SRCDIR)\deltafunc.c" |
| 1373 | "$(OBJDIR)\translate$E" $** > $@ |
| 1374 | |
| 1375 | "$(OX)\descendants$O" : "$(OX)\descendants_.c" "$(OX)\descendants.h" |
| 1376 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\descendants_.c" |
| 1377 | |
| 1378 | "$(OX)\descendants_.c" : "$(SRCDIR)\descendants.c" |
| 1379 | "$(OBJDIR)\translate$E" $** > $@ |
| 1380 | |
| 1381 | "$(OX)\diff$O" : "$(OX)\diff_.c" "$(OX)\diff.h" |
| 1382 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\diff_.c" |
| 1383 | |
| 1384 | "$(OX)\diff_.c" : "$(SRCDIR)\diff.c" |
| 1385 | "$(OBJDIR)\translate$E" $** > $@ |
| 1386 | |
| 1387 | "$(OX)\diffcmd$O" : "$(OX)\diffcmd_.c" "$(OX)\diffcmd.h" |
| 1388 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\diffcmd_.c" |
| 1389 | |
| 1390 | "$(OX)\diffcmd_.c" : "$(SRCDIR)\diffcmd.c" |
| 1391 | "$(OBJDIR)\translate$E" $** > $@ |
| 1392 | |
| 1393 | "$(OX)\dispatch$O" : "$(OX)\dispatch_.c" "$(OX)\dispatch.h" |
| 1394 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\dispatch_.c" |
| 1395 | |
| 1396 | "$(OX)\dispatch_.c" : "$(SRCDIR)\dispatch.c" |
| 1397 | "$(OBJDIR)\translate$E" $** > $@ |
| 1398 | |
| 1399 | "$(OX)\doc$O" : "$(OX)\doc_.c" "$(OX)\doc.h" |
| 1400 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\doc_.c" |
| 1401 | |
| 1402 | "$(OX)\doc_.c" : "$(SRCDIR)\doc.c" |
| 1403 | "$(OBJDIR)\translate$E" $** > $@ |
| 1404 | |
| 1405 | "$(OX)\encode$O" : "$(OX)\encode_.c" "$(OX)\encode.h" |
| 1406 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\encode_.c" |
| 1407 | |
| 1408 | "$(OX)\encode_.c" : "$(SRCDIR)\encode.c" |
| 1409 | "$(OBJDIR)\translate$E" $** > $@ |
| 1410 | |
| 1411 | "$(OX)\etag$O" : "$(OX)\etag_.c" "$(OX)\etag.h" |
| 1412 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\etag_.c" |
| 1413 | |
| 1414 | "$(OX)\etag_.c" : "$(SRCDIR)\etag.c" |
| 1415 | "$(OBJDIR)\translate$E" $** > $@ |
| 1416 | |
| 1417 | "$(OX)\event$O" : "$(OX)\event_.c" "$(OX)\event.h" |
| 1418 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\event_.c" |
| 1419 | |
| 1420 | "$(OX)\event_.c" : "$(SRCDIR)\event.c" |
| 1421 | "$(OBJDIR)\translate$E" $** > $@ |
| 1422 | |
| 1423 | "$(OX)\export$O" : "$(OX)\export_.c" "$(OX)\export.h" |
| 1424 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\export_.c" |
| 1425 | |
| 1426 | "$(OX)\export_.c" : "$(SRCDIR)\export.c" |
| 1427 | "$(OBJDIR)\translate$E" $** > $@ |
| 1428 | |
| 1429 | "$(OX)\extcgi$O" : "$(OX)\extcgi_.c" "$(OX)\extcgi.h" |
| 1430 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\extcgi_.c" |
| 1431 | |
| 1432 | "$(OX)\extcgi_.c" : "$(SRCDIR)\extcgi.c" |
| 1433 | "$(OBJDIR)\translate$E" $** > $@ |
| 1434 | |
| 1435 | "$(OX)\file$O" : "$(OX)\file_.c" "$(OX)\file.h" |
| 1436 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\file_.c" |
| 1437 | |
| 1438 | "$(OX)\file_.c" : "$(SRCDIR)\file.c" |
| 1439 | "$(OBJDIR)\translate$E" $** > $@ |
| 1440 | |
| 1441 | "$(OX)\fileedit$O" : "$(OX)\fileedit_.c" "$(OX)\fileedit.h" |
| 1442 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\fileedit_.c" |
| 1443 | |
| 1444 | "$(OX)\fileedit_.c" : "$(SRCDIR)\fileedit.c" |
| 1445 | "$(OBJDIR)\translate$E" $** > $@ |
| 1446 | |
| 1447 | "$(OX)\finfo$O" : "$(OX)\finfo_.c" "$(OX)\finfo.h" |
| 1448 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\finfo_.c" |
| 1449 | |
| 1450 | "$(OX)\finfo_.c" : "$(SRCDIR)\finfo.c" |
| 1451 | "$(OBJDIR)\translate$E" $** > $@ |
| 1452 | |
| 1453 | "$(OX)\foci$O" : "$(OX)\foci_.c" "$(OX)\foci.h" |
| 1454 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\foci_.c" |
| 1455 | |
| 1456 | "$(OX)\foci_.c" : "$(SRCDIR)\foci.c" |
| 1457 | "$(OBJDIR)\translate$E" $** > $@ |
| 1458 | |
| 1459 | "$(OX)\forum$O" : "$(OX)\forum_.c" "$(OX)\forum.h" |
| 1460 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\forum_.c" |
| 1461 | |
| 1462 | "$(OX)\forum_.c" : "$(SRCDIR)\forum.c" |
| 1463 | "$(OBJDIR)\translate$E" $** > $@ |
| 1464 | |
| 1465 | "$(OX)\fshell$O" : "$(OX)\fshell_.c" "$(OX)\fshell.h" |
| 1466 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\fshell_.c" |
| 1467 | |
| 1468 | "$(OX)\fshell_.c" : "$(SRCDIR)\fshell.c" |
| 1469 | "$(OBJDIR)\translate$E" $** > $@ |
| 1470 | |
| 1471 | "$(OX)\fusefs$O" : "$(OX)\fusefs_.c" "$(OX)\fusefs.h" |
| 1472 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\fusefs_.c" |
| 1473 | |
| 1474 | "$(OX)\fusefs_.c" : "$(SRCDIR)\fusefs.c" |
| 1475 | "$(OBJDIR)\translate$E" $** > $@ |
| 1476 | |
| 1477 | "$(OX)\fuzz$O" : "$(OX)\fuzz_.c" "$(OX)\fuzz.h" |
| 1478 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\fuzz_.c" |
| 1479 | |
| 1480 | "$(OX)\fuzz_.c" : "$(SRCDIR)\fuzz.c" |
| 1481 | "$(OBJDIR)\translate$E" $** > $@ |
| 1482 | |
| 1483 | "$(OX)\glob$O" : "$(OX)\glob_.c" "$(OX)\glob.h" |
| 1484 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\glob_.c" |
| 1485 | |
| 1486 | "$(OX)\glob_.c" : "$(SRCDIR)\glob.c" |
| 1487 | "$(OBJDIR)\translate$E" $** > $@ |
| 1488 | |
| 1489 | "$(OX)\graph$O" : "$(OX)\graph_.c" "$(OX)\graph.h" |
| 1490 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\graph_.c" |
| 1491 | |
| 1492 | "$(OX)\graph_.c" : "$(SRCDIR)\graph.c" |
| 1493 | "$(OBJDIR)\translate$E" $** > $@ |
| 1494 | |
| 1495 | "$(OX)\gzip$O" : "$(OX)\gzip_.c" "$(OX)\gzip.h" |
| 1496 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\gzip_.c" |
| 1497 | |
| 1498 | "$(OX)\gzip_.c" : "$(SRCDIR)\gzip.c" |
| 1499 | "$(OBJDIR)\translate$E" $** > $@ |
| 1500 | |
| 1501 | "$(OX)\hname$O" : "$(OX)\hname_.c" "$(OX)\hname.h" |
| 1502 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\hname_.c" |
| 1503 | |
| 1504 | "$(OX)\hname_.c" : "$(SRCDIR)\hname.c" |
| 1505 | "$(OBJDIR)\translate$E" $** > $@ |
| 1506 | |
| 1507 | "$(OX)\http$O" : "$(OX)\http_.c" "$(OX)\http.h" |
| 1508 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\http_.c" |
| 1509 | |
| 1510 | "$(OX)\http_.c" : "$(SRCDIR)\http.c" |
| 1511 | "$(OBJDIR)\translate$E" $** > $@ |
| 1512 | |
| 1513 | "$(OX)\http_socket$O" : "$(OX)\http_socket_.c" "$(OX)\http_socket.h" |
| 1514 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\http_socket_.c" |
| 1515 | |
| 1516 | "$(OX)\http_socket_.c" : "$(SRCDIR)\http_socket.c" |
| 1517 | "$(OBJDIR)\translate$E" $** > $@ |
| 1518 | |
| 1519 | "$(OX)\http_ssl$O" : "$(OX)\http_ssl_.c" "$(OX)\http_ssl.h" |
| 1520 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\http_ssl_.c" |
| 1521 | |
| 1522 | "$(OX)\http_ssl_.c" : "$(SRCDIR)\http_ssl.c" |
| 1523 | "$(OBJDIR)\translate$E" $** > $@ |
| 1524 | |
| 1525 | "$(OX)\http_transport$O" : "$(OX)\http_transport_.c" "$(OX)\http_transport.h" |
| 1526 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\http_transport_.c" |
| 1527 | |
| 1528 | "$(OX)\http_transport_.c" : "$(SRCDIR)\http_transport.c" |
| 1529 | "$(OBJDIR)\translate$E" $** > $@ |
| 1530 | |
| 1531 | "$(OX)\import$O" : "$(OX)\import_.c" "$(OX)\import.h" |
| 1532 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\import_.c" |
| 1533 | |
| 1534 | "$(OX)\import_.c" : "$(SRCDIR)\import.c" |
| 1535 | "$(OBJDIR)\translate$E" $** > $@ |
| 1536 | |
| 1537 | "$(OX)\info$O" : "$(OX)\info_.c" "$(OX)\info.h" |
| 1538 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\info_.c" |
| 1539 | |
| 1540 | "$(OX)\info_.c" : "$(SRCDIR)\info.c" |
| 1541 | "$(OBJDIR)\translate$E" $** > $@ |
| 1542 | |
| 1543 | "$(OX)\json$O" : "$(OX)\json_.c" "$(OX)\json.h" |
| 1544 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\json_.c" |
| 1545 | |
| 1546 | "$(OX)\json_.c" : "$(SRCDIR)\json.c" |
| 1547 | "$(OBJDIR)\translate$E" $** > $@ |
| 1548 | |
| 1549 | "$(OX)\json_artifact$O" : "$(OX)\json_artifact_.c" "$(OX)\json_artifact.h" |
| 1550 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\json_artifact_.c" |
| 1551 | |
| 1552 | "$(OX)\json_artifact_.c" : "$(SRCDIR)\json_artifact.c" |
| 1553 | "$(OBJDIR)\translate$E" $** > $@ |
| 1554 | |
| 1555 | "$(OX)\json_branch$O" : "$(OX)\json_branch_.c" "$(OX)\json_branch.h" |
| 1556 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\json_branch_.c" |
| 1557 | |
| 1558 | "$(OX)\json_branch_.c" : "$(SRCDIR)\json_branch.c" |
| 1559 | "$(OBJDIR)\translate$E" $** > $@ |
| 1560 | |
| 1561 | "$(OX)\json_config$O" : "$(OX)\json_config_.c" "$(OX)\json_config.h" |
| 1562 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\json_config_.c" |
| 1563 | |
| 1564 | "$(OX)\json_config_.c" : "$(SRCDIR)\json_config.c" |
| 1565 | "$(OBJDIR)\translate$E" $** > $@ |
| 1566 | |
| 1567 | "$(OX)\json_diff$O" : "$(OX)\json_diff_.c" "$(OX)\json_diff.h" |
| 1568 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\json_diff_.c" |
| 1569 | |
| 1570 | "$(OX)\json_diff_.c" : "$(SRCDIR)\json_diff.c" |
| 1571 | "$(OBJDIR)\translate$E" $** > $@ |
| 1572 | |
| 1573 | "$(OX)\json_dir$O" : "$(OX)\json_dir_.c" "$(OX)\json_dir.h" |
| 1574 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\json_dir_.c" |
| 1575 | |
| 1576 | "$(OX)\json_dir_.c" : "$(SRCDIR)\json_dir.c" |
| 1577 | "$(OBJDIR)\translate$E" $** > $@ |
| 1578 | |
| 1579 | "$(OX)\json_finfo$O" : "$(OX)\json_finfo_.c" "$(OX)\json_finfo.h" |
| 1580 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\json_finfo_.c" |
| 1581 | |
| 1582 | "$(OX)\json_finfo_.c" : "$(SRCDIR)\json_finfo.c" |
| 1583 | "$(OBJDIR)\translate$E" $** > $@ |
| 1584 | |
| 1585 | "$(OX)\json_login$O" : "$(OX)\json_login_.c" "$(OX)\json_login.h" |
| 1586 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\json_login_.c" |
| 1587 | |
| 1588 | "$(OX)\json_login_.c" : "$(SRCDIR)\json_login.c" |
| 1589 | "$(OBJDIR)\translate$E" $** > $@ |
| 1590 | |
| 1591 | "$(OX)\json_query$O" : "$(OX)\json_query_.c" "$(OX)\json_query.h" |
| 1592 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\json_query_.c" |
| 1593 | |
| 1594 | "$(OX)\json_query_.c" : "$(SRCDIR)\json_query.c" |
| 1595 | "$(OBJDIR)\translate$E" $** > $@ |
| 1596 | |
| 1597 | "$(OX)\json_report$O" : "$(OX)\json_report_.c" "$(OX)\json_report.h" |
| 1598 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\json_report_.c" |
| 1599 | |
| 1600 | "$(OX)\json_report_.c" : "$(SRCDIR)\json_report.c" |
| 1601 | "$(OBJDIR)\translate$E" $** > $@ |
| 1602 | |
| 1603 | "$(OX)\json_status$O" : "$(OX)\json_status_.c" "$(OX)\json_status.h" |
| 1604 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\json_status_.c" |
| 1605 | |
| 1606 | "$(OX)\json_status_.c" : "$(SRCDIR)\json_status.c" |
| 1607 | "$(OBJDIR)\translate$E" $** > $@ |
| 1608 | |
| 1609 | "$(OX)\json_tag$O" : "$(OX)\json_tag_.c" "$(OX)\json_tag.h" |
| 1610 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\json_tag_.c" |
| 1611 | |
| 1612 | "$(OX)\json_tag_.c" : "$(SRCDIR)\json_tag.c" |
| 1613 | "$(OBJDIR)\translate$E" $** > $@ |
| 1614 | |
| 1615 | "$(OX)\json_timeline$O" : "$(OX)\json_timeline_.c" "$(OX)\json_timeline.h" |
| 1616 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\json_timeline_.c" |
| 1617 | |
| 1618 | "$(OX)\json_timeline_.c" : "$(SRCDIR)\json_timeline.c" |
| 1619 | "$(OBJDIR)\translate$E" $** > $@ |
| 1620 | |
| 1621 | "$(OX)\json_user$O" : "$(OX)\json_user_.c" "$(OX)\json_user.h" |
| 1622 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\json_user_.c" |
| 1623 | |
| 1624 | "$(OX)\json_user_.c" : "$(SRCDIR)\json_user.c" |
| 1625 | "$(OBJDIR)\translate$E" $** > $@ |
| 1626 | |
| 1627 | "$(OX)\json_wiki$O" : "$(OX)\json_wiki_.c" "$(OX)\json_wiki.h" |
| 1628 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\json_wiki_.c" |
| 1629 | |
| 1630 | "$(OX)\json_wiki_.c" : "$(SRCDIR)\json_wiki.c" |
| 1631 | "$(OBJDIR)\translate$E" $** > $@ |
| 1632 | |
| 1633 | "$(OX)\leaf$O" : "$(OX)\leaf_.c" "$(OX)\leaf.h" |
| 1634 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\leaf_.c" |
| 1635 | |
| 1636 | "$(OX)\leaf_.c" : "$(SRCDIR)\leaf.c" |
| 1637 | "$(OBJDIR)\translate$E" $** > $@ |
| 1638 | |
| 1639 | "$(OX)\loadctrl$O" : "$(OX)\loadctrl_.c" "$(OX)\loadctrl.h" |
| 1640 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\loadctrl_.c" |
| 1641 | |
| 1642 | "$(OX)\loadctrl_.c" : "$(SRCDIR)\loadctrl.c" |
| 1643 | "$(OBJDIR)\translate$E" $** > $@ |
| 1644 | |
| 1645 | "$(OX)\login$O" : "$(OX)\login_.c" "$(OX)\login.h" |
| 1646 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\login_.c" |
| 1647 | |
| 1648 | "$(OX)\login_.c" : "$(SRCDIR)\login.c" |
| 1649 | "$(OBJDIR)\translate$E" $** > $@ |
| 1650 | |
| 1651 | "$(OX)\lookslike$O" : "$(OX)\lookslike_.c" "$(OX)\lookslike.h" |
| 1652 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\lookslike_.c" |
| 1653 | |
| 1654 | "$(OX)\lookslike_.c" : "$(SRCDIR)\lookslike.c" |
| 1655 | "$(OBJDIR)\translate$E" $** > $@ |
| 1656 | |
| 1657 | "$(OX)\main$O" : "$(OX)\main_.c" "$(OX)\main.h" |
| 1658 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\main_.c" |
| 1659 | |
| 1660 | "$(OX)\main_.c" : "$(SRCDIR)\main.c" |
| 1661 | "$(OBJDIR)\translate$E" $** > $@ |
| 1662 | |
| 1663 | "$(OX)\manifest$O" : "$(OX)\manifest_.c" "$(OX)\manifest.h" |
| 1664 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\manifest_.c" |
| 1665 | |
| 1666 | "$(OX)\manifest_.c" : "$(SRCDIR)\manifest.c" |
| 1667 | "$(OBJDIR)\translate$E" $** > $@ |
| 1668 | |
| 1669 | "$(OX)\markdown$O" : "$(OX)\markdown_.c" "$(OX)\markdown.h" |
| 1670 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\markdown_.c" |
| 1671 | |
| 1672 | "$(OX)\markdown_.c" : "$(SRCDIR)\markdown.c" |
| 1673 | "$(OBJDIR)\translate$E" $** > $@ |
| 1674 | |
| 1675 | "$(OX)\markdown_html$O" : "$(OX)\markdown_html_.c" "$(OX)\markdown_html.h" |
| 1676 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\markdown_html_.c" |
| 1677 | |
| 1678 | "$(OX)\markdown_html_.c" : "$(SRCDIR)\markdown_html.c" |
| 1679 | "$(OBJDIR)\translate$E" $** > $@ |
| 1680 | |
| 1681 | "$(OX)\md5$O" : "$(OX)\md5_.c" "$(OX)\md5.h" |
| 1682 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\md5_.c" |
| 1683 | |
| 1684 | "$(OX)\md5_.c" : "$(SRCDIR)\md5.c" |
| 1685 | "$(OBJDIR)\translate$E" $** > $@ |
| 1686 | |
| 1687 | "$(OX)\merge$O" : "$(OX)\merge_.c" "$(OX)\merge.h" |
| 1688 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\merge_.c" |
| 1689 | |
| 1690 | "$(OX)\merge_.c" : "$(SRCDIR)\merge.c" |
| 1691 | "$(OBJDIR)\translate$E" $** > $@ |
| 1692 | |
| 1693 | "$(OX)\merge3$O" : "$(OX)\merge3_.c" "$(OX)\merge3.h" |
| 1694 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\merge3_.c" |
| 1695 | |
| 1696 | "$(OX)\merge3_.c" : "$(SRCDIR)\merge3.c" |
| 1697 | "$(OBJDIR)\translate$E" $** > $@ |
| 1698 | |
| 1699 | "$(OX)\moderate$O" : "$(OX)\moderate_.c" "$(OX)\moderate.h" |
| 1700 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\moderate_.c" |
| 1701 | |
| 1702 | "$(OX)\moderate_.c" : "$(SRCDIR)\moderate.c" |
| 1703 | "$(OBJDIR)\translate$E" $** > $@ |
| 1704 | |
| 1705 | "$(OX)\name$O" : "$(OX)\name_.c" "$(OX)\name.h" |
| 1706 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\name_.c" |
| 1707 | |
| 1708 | "$(OX)\name_.c" : "$(SRCDIR)\name.c" |
| 1709 | "$(OBJDIR)\translate$E" $** > $@ |
| 1710 | |
| 1711 | "$(OX)\path$O" : "$(OX)\path_.c" "$(OX)\path.h" |
| 1712 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\path_.c" |
| 1713 | |
| 1714 | "$(OX)\path_.c" : "$(SRCDIR)\path.c" |
| 1715 | "$(OBJDIR)\translate$E" $** > $@ |
| 1716 | |
| 1717 | "$(OX)\piechart$O" : "$(OX)\piechart_.c" "$(OX)\piechart.h" |
| 1718 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\piechart_.c" |
| 1719 | |
| 1720 | "$(OX)\piechart_.c" : "$(SRCDIR)\piechart.c" |
| 1721 | "$(OBJDIR)\translate$E" $** > $@ |
| 1722 | |
| 1723 | "$(OX)\pivot$O" : "$(OX)\pivot_.c" "$(OX)\pivot.h" |
| 1724 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\pivot_.c" |
| 1725 | |
| 1726 | "$(OX)\pivot_.c" : "$(SRCDIR)\pivot.c" |
| 1727 | "$(OBJDIR)\translate$E" $** > $@ |
| 1728 | |
| 1729 | "$(OX)\popen$O" : "$(OX)\popen_.c" "$(OX)\popen.h" |
| 1730 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\popen_.c" |
| 1731 | |
| 1732 | "$(OX)\popen_.c" : "$(SRCDIR)\popen.c" |
| 1733 | "$(OBJDIR)\translate$E" $** > $@ |
| 1734 | |
| 1735 | "$(OX)\pqueue$O" : "$(OX)\pqueue_.c" "$(OX)\pqueue.h" |
| 1736 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\pqueue_.c" |
| 1737 | |
| 1738 | "$(OX)\pqueue_.c" : "$(SRCDIR)\pqueue.c" |
| 1739 | "$(OBJDIR)\translate$E" $** > $@ |
| 1740 | |
| 1741 | "$(OX)\printf$O" : "$(OX)\printf_.c" "$(OX)\printf.h" |
| 1742 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\printf_.c" |
| 1743 | |
| 1744 | "$(OX)\printf_.c" : "$(SRCDIR)\printf.c" |
| 1745 | "$(OBJDIR)\translate$E" $** > $@ |
| 1746 | |
| 1747 | "$(OX)\publish$O" : "$(OX)\publish_.c" "$(OX)\publish.h" |
| 1748 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\publish_.c" |
| 1749 | |
| 1750 | "$(OX)\publish_.c" : "$(SRCDIR)\publish.c" |
| 1751 | "$(OBJDIR)\translate$E" $** > $@ |
| 1752 | |
| 1753 | "$(OX)\purge$O" : "$(OX)\purge_.c" "$(OX)\purge.h" |
| 1754 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\purge_.c" |
| 1755 | |
| 1756 | "$(OX)\purge_.c" : "$(SRCDIR)\purge.c" |
| 1757 | "$(OBJDIR)\translate$E" $** > $@ |
| 1758 | |
| 1759 | "$(OX)\rebuild$O" : "$(OX)\rebuild_.c" "$(OX)\rebuild.h" |
| 1760 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\rebuild_.c" |
| 1761 | |
| 1762 | "$(OX)\rebuild_.c" : "$(SRCDIR)\rebuild.c" |
| 1763 | "$(OBJDIR)\translate$E" $** > $@ |
| 1764 | |
| 1765 | "$(OX)\regexp$O" : "$(OX)\regexp_.c" "$(OX)\regexp.h" |
| 1766 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\regexp_.c" |
| 1767 | |
| 1768 | "$(OX)\regexp_.c" : "$(SRCDIR)\regexp.c" |
| 1769 | "$(OBJDIR)\translate$E" $** > $@ |
| 1770 | |
| 1771 | "$(OX)\repolist$O" : "$(OX)\repolist_.c" "$(OX)\repolist.h" |
| 1772 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\repolist_.c" |
| 1773 | |
| 1774 | "$(OX)\repolist_.c" : "$(SRCDIR)\repolist.c" |
| 1775 | "$(OBJDIR)\translate$E" $** > $@ |
| 1776 | |
| 1777 | "$(OX)\report$O" : "$(OX)\report_.c" "$(OX)\report.h" |
| 1778 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\report_.c" |
| 1779 | |
| 1780 | "$(OX)\report_.c" : "$(SRCDIR)\report.c" |
| 1781 | "$(OBJDIR)\translate$E" $** > $@ |
| 1782 | |
| 1783 | "$(OX)\rss$O" : "$(OX)\rss_.c" "$(OX)\rss.h" |
| 1784 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\rss_.c" |
| 1785 | |
| 1786 | "$(OX)\rss_.c" : "$(SRCDIR)\rss.c" |
| 1787 | "$(OBJDIR)\translate$E" $** > $@ |
| 1788 | |
| 1789 | "$(OX)\schema$O" : "$(OX)\schema_.c" "$(OX)\schema.h" |
| 1790 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\schema_.c" |
| 1791 | |
| 1792 | "$(OX)\schema_.c" : "$(SRCDIR)\schema.c" |
| 1793 | "$(OBJDIR)\translate$E" $** > $@ |
| 1794 | |
| 1795 | "$(OX)\search$O" : "$(OX)\search_.c" "$(OX)\search.h" |
| 1796 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\search_.c" |
| 1797 | |
| 1798 | "$(OX)\search_.c" : "$(SRCDIR)\search.c" |
| 1799 | "$(OBJDIR)\translate$E" $** > $@ |
| 1800 | |
| 1801 | "$(OX)\security_audit$O" : "$(OX)\security_audit_.c" "$(OX)\security_audit.h" |
| 1802 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\security_audit_.c" |
| 1803 | |
| 1804 | "$(OX)\security_audit_.c" : "$(SRCDIR)\security_audit.c" |
| 1805 | "$(OBJDIR)\translate$E" $** > $@ |
| 1806 | |
| 1807 | "$(OX)\setup$O" : "$(OX)\setup_.c" "$(OX)\setup.h" |
| 1808 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\setup_.c" |
| 1809 | |
| 1810 | "$(OX)\setup_.c" : "$(SRCDIR)\setup.c" |
| 1811 | "$(OBJDIR)\translate$E" $** > $@ |
| 1812 | |
| 1813 | "$(OX)\setupuser$O" : "$(OX)\setupuser_.c" "$(OX)\setupuser.h" |
| 1814 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\setupuser_.c" |
| 1815 | |
| 1816 | "$(OX)\setupuser_.c" : "$(SRCDIR)\setupuser.c" |
| 1817 | "$(OBJDIR)\translate$E" $** > $@ |
| 1818 | |
| 1819 | "$(OX)\sha1$O" : "$(OX)\sha1_.c" "$(OX)\sha1.h" |
| 1820 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\sha1_.c" |
| 1821 | |
| 1822 | "$(OX)\sha1_.c" : "$(SRCDIR)\sha1.c" |
| 1823 | "$(OBJDIR)\translate$E" $** > $@ |
| 1824 | |
| 1825 | "$(OX)\sha1hard$O" : "$(OX)\sha1hard_.c" "$(OX)\sha1hard.h" |
| 1826 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\sha1hard_.c" |
| 1827 | |
| 1828 | "$(OX)\sha1hard_.c" : "$(SRCDIR)\sha1hard.c" |
| 1829 | "$(OBJDIR)\translate$E" $** > $@ |
| 1830 | |
| 1831 | "$(OX)\sha3$O" : "$(OX)\sha3_.c" "$(OX)\sha3.h" |
| 1832 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\sha3_.c" |
| 1833 | |
| 1834 | "$(OX)\sha3_.c" : "$(SRCDIR)\sha3.c" |
| 1835 | "$(OBJDIR)\translate$E" $** > $@ |
| 1836 | |
| 1837 | "$(OX)\shun$O" : "$(OX)\shun_.c" "$(OX)\shun.h" |
| 1838 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\shun_.c" |
| 1839 | |
| 1840 | "$(OX)\shun_.c" : "$(SRCDIR)\shun.c" |
| 1841 | "$(OBJDIR)\translate$E" $** > $@ |
| 1842 | |
| 1843 | "$(OX)\sitemap$O" : "$(OX)\sitemap_.c" "$(OX)\sitemap.h" |
| 1844 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\sitemap_.c" |
| 1845 | |
| 1846 | "$(OX)\sitemap_.c" : "$(SRCDIR)\sitemap.c" |
| 1847 | "$(OBJDIR)\translate$E" $** > $@ |
| 1848 | |
| 1849 | "$(OX)\skins$O" : "$(OX)\skins_.c" "$(OX)\skins.h" |
| 1850 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\skins_.c" |
| 1851 | |
| 1852 | "$(OX)\skins_.c" : "$(SRCDIR)\skins.c" |
| 1853 | "$(OBJDIR)\translate$E" $** > $@ |
| 1854 | |
| 1855 | "$(OX)\smtp$O" : "$(OX)\smtp_.c" "$(OX)\smtp.h" |
| 1856 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\smtp_.c" |
| 1857 | |
| 1858 | "$(OX)\smtp_.c" : "$(SRCDIR)\smtp.c" |
| 1859 | "$(OBJDIR)\translate$E" $** > $@ |
| 1860 | |
| 1861 | "$(OX)\sqlcmd$O" : "$(OX)\sqlcmd_.c" "$(OX)\sqlcmd.h" |
| 1862 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\sqlcmd_.c" |
| 1863 | |
| 1864 | "$(OX)\sqlcmd_.c" : "$(SRCDIR)\sqlcmd.c" |
| 1865 | "$(OBJDIR)\translate$E" $** > $@ |
| 1866 | |
| 1867 | "$(OX)\stash$O" : "$(OX)\stash_.c" "$(OX)\stash.h" |
| 1868 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\stash_.c" |
| 1869 | |
| 1870 | "$(OX)\stash_.c" : "$(SRCDIR)\stash.c" |
| 1871 | "$(OBJDIR)\translate$E" $** > $@ |
| 1872 | |
| 1873 | "$(OX)\stat$O" : "$(OX)\stat_.c" "$(OX)\stat.h" |
| 1874 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\stat_.c" |
| 1875 | |
| 1876 | "$(OX)\stat_.c" : "$(SRCDIR)\stat.c" |
| 1877 | "$(OBJDIR)\translate$E" $** > $@ |
| 1878 | |
| 1879 | "$(OX)\statrep$O" : "$(OX)\statrep_.c" "$(OX)\statrep.h" |
| 1880 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\statrep_.c" |
| 1881 | |
| 1882 | "$(OX)\statrep_.c" : "$(SRCDIR)\statrep.c" |
| 1883 | "$(OBJDIR)\translate$E" $** > $@ |
| 1884 | |
| 1885 | "$(OX)\style$O" : "$(OX)\style_.c" "$(OX)\style.h" |
| 1886 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\style_.c" |
| 1887 | |
| 1888 | "$(OX)\style_.c" : "$(SRCDIR)\style.c" |
| 1889 | "$(OBJDIR)\translate$E" $** > $@ |
| 1890 | |
| 1891 | "$(OX)\sync$O" : "$(OX)\sync_.c" "$(OX)\sync.h" |
| 1892 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\sync_.c" |
| 1893 | |
| 1894 | "$(OX)\sync_.c" : "$(SRCDIR)\sync.c" |
| 1895 | "$(OBJDIR)\translate$E" $** > $@ |
| 1896 | |
| 1897 | "$(OX)\tag$O" : "$(OX)\tag_.c" "$(OX)\tag.h" |
| 1898 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\tag_.c" |
| 1899 | |
| 1900 | "$(OX)\tag_.c" : "$(SRCDIR)\tag.c" |
| 1901 | "$(OBJDIR)\translate$E" $** > $@ |
| 1902 | |
| 1903 | "$(OX)\tar$O" : "$(OX)\tar_.c" "$(OX)\tar.h" |
| 1904 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\tar_.c" |
| 1905 | |
| 1906 | "$(OX)\tar_.c" : "$(SRCDIR)\tar.c" |
| 1907 | "$(OBJDIR)\translate$E" $** > $@ |
| 1908 | |
| 1909 | "$(OX)\terminal$O" : "$(OX)\terminal_.c" "$(OX)\terminal.h" |
| 1910 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\terminal_.c" |
| 1911 | |
| 1912 | "$(OX)\terminal_.c" : "$(SRCDIR)\terminal.c" |
| 1913 | "$(OBJDIR)\translate$E" $** > $@ |
| 1914 | |
| 1915 | "$(OX)\th_main$O" : "$(OX)\th_main_.c" "$(OX)\th_main.h" |
| 1916 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\th_main_.c" |
| 1917 | |
| 1918 | "$(OX)\th_main_.c" : "$(SRCDIR)\th_main.c" |
| 1919 | "$(OBJDIR)\translate$E" $** > $@ |
| 1920 | |
| 1921 | "$(OX)\timeline$O" : "$(OX)\timeline_.c" "$(OX)\timeline.h" |
| 1922 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\timeline_.c" |
| 1923 | |
| 1924 | "$(OX)\timeline_.c" : "$(SRCDIR)\timeline.c" |
| 1925 | "$(OBJDIR)\translate$E" $** > $@ |
| 1926 | |
| 1927 | "$(OX)\tkt$O" : "$(OX)\tkt_.c" "$(OX)\tkt.h" |
| 1928 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\tkt_.c" |
| 1929 | |
| 1930 | "$(OX)\tkt_.c" : "$(SRCDIR)\tkt.c" |
| 1931 | "$(OBJDIR)\translate$E" $** > $@ |
| 1932 | |
| 1933 | "$(OX)\tktsetup$O" : "$(OX)\tktsetup_.c" "$(OX)\tktsetup.h" |
| 1934 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\tktsetup_.c" |
| 1935 | |
| 1936 | "$(OX)\tktsetup_.c" : "$(SRCDIR)\tktsetup.c" |
| 1937 | "$(OBJDIR)\translate$E" $** > $@ |
| 1938 | |
| 1939 | "$(OX)\undo$O" : "$(OX)\undo_.c" "$(OX)\undo.h" |
| 1940 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\undo_.c" |
| 1941 | |
| 1942 | "$(OX)\undo_.c" : "$(SRCDIR)\undo.c" |
| 1943 | "$(OBJDIR)\translate$E" $** > $@ |
| 1944 | |
| 1945 | "$(OX)\unicode$O" : "$(OX)\unicode_.c" "$(OX)\unicode.h" |
| 1946 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\unicode_.c" |
| 1947 | |
| 1948 | "$(OX)\unicode_.c" : "$(SRCDIR)\unicode.c" |
| 1949 | "$(OBJDIR)\translate$E" $** > $@ |
| 1950 | |
| 1951 | "$(OX)\unversioned$O" : "$(OX)\unversioned_.c" "$(OX)\unversioned.h" |
| 1952 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\unversioned_.c" |
| 1953 | |
| 1954 | "$(OX)\unversioned_.c" : "$(SRCDIR)\unversioned.c" |
| 1955 | "$(OBJDIR)\translate$E" $** > $@ |
| 1956 | |
| 1957 | "$(OX)\update$O" : "$(OX)\update_.c" "$(OX)\update.h" |
| 1958 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\update_.c" |
| 1959 | |
| 1960 | "$(OX)\update_.c" : "$(SRCDIR)\update.c" |
| 1961 | "$(OBJDIR)\translate$E" $** > $@ |
| 1962 | |
| 1963 | "$(OX)\url$O" : "$(OX)\url_.c" "$(OX)\url.h" |
| 1964 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\url_.c" |
| 1965 | |
| 1966 | "$(OX)\url_.c" : "$(SRCDIR)\url.c" |
| 1967 | "$(OBJDIR)\translate$E" $** > $@ |
| 1968 | |
| 1969 | "$(OX)\user$O" : "$(OX)\user_.c" "$(OX)\user.h" |
| 1970 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\user_.c" |
| 1971 | |
| 1972 | "$(OX)\user_.c" : "$(SRCDIR)\user.c" |
| 1973 | "$(OBJDIR)\translate$E" $** > $@ |
| 1974 | |
| 1975 | "$(OX)\utf8$O" : "$(OX)\utf8_.c" "$(OX)\utf8.h" |
| 1976 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\utf8_.c" |
| 1977 | |
| 1978 | "$(OX)\utf8_.c" : "$(SRCDIR)\utf8.c" |
| 1979 | "$(OBJDIR)\translate$E" $** > $@ |
| 1980 | |
| 1981 | "$(OX)\util$O" : "$(OX)\util_.c" "$(OX)\util.h" |
| 1982 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\util_.c" |
| 1983 | |
| 1984 | "$(OX)\util_.c" : "$(SRCDIR)\util.c" |
| 1985 | "$(OBJDIR)\translate$E" $** > $@ |
| 1986 | |
| 1987 | "$(OX)\verify$O" : "$(OX)\verify_.c" "$(OX)\verify.h" |
| 1988 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\verify_.c" |
| 1989 | |
| 1990 | "$(OX)\verify_.c" : "$(SRCDIR)\verify.c" |
| 1991 | "$(OBJDIR)\translate$E" $** > $@ |
| 1992 | |
| 1993 | "$(OX)\vfile$O" : "$(OX)\vfile_.c" "$(OX)\vfile.h" |
| 1994 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\vfile_.c" |
| 1995 | |
| 1996 | "$(OX)\vfile_.c" : "$(SRCDIR)\vfile.c" |
| 1997 | "$(OBJDIR)\translate$E" $** > $@ |
| 1998 | |
| 1999 | "$(OX)\webmail$O" : "$(OX)\webmail_.c" "$(OX)\webmail.h" |
| 2000 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\webmail_.c" |
| 2001 | |
| 2002 | "$(OX)\webmail_.c" : "$(SRCDIR)\webmail.c" |
| 2003 | "$(OBJDIR)\translate$E" $** > $@ |
| 2004 | |
| 2005 | "$(OX)\wiki$O" : "$(OX)\wiki_.c" "$(OX)\wiki.h" |
| 2006 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\wiki_.c" |
| 2007 | |
| 2008 | "$(OX)\wiki_.c" : "$(SRCDIR)\wiki.c" |
| 2009 | "$(OBJDIR)\translate$E" $** > $@ |
| 2010 | |
| 2011 | "$(OX)\wikiformat$O" : "$(OX)\wikiformat_.c" "$(OX)\wikiformat.h" |
| 2012 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\wikiformat_.c" |
| 2013 | |
| 2014 | "$(OX)\wikiformat_.c" : "$(SRCDIR)\wikiformat.c" |
| 2015 | "$(OBJDIR)\translate$E" $** > $@ |
| 2016 | |
| 2017 | "$(OX)\winfile$O" : "$(OX)\winfile_.c" "$(OX)\winfile.h" |
| 2018 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\winfile_.c" |
| 2019 | |
| 2020 | "$(OX)\winfile_.c" : "$(SRCDIR)\winfile.c" |
| 2021 | "$(OBJDIR)\translate$E" $** > $@ |
| 2022 | |
| 2023 | "$(OX)\winhttp$O" : "$(OX)\winhttp_.c" "$(OX)\winhttp.h" |
| 2024 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\winhttp_.c" |
| 2025 | |
| 2026 | "$(OX)\winhttp_.c" : "$(SRCDIR)\winhttp.c" |
| 2027 | "$(OBJDIR)\translate$E" $** > $@ |
| 2028 | |
| 2029 | "$(OX)\wysiwyg$O" : "$(OX)\wysiwyg_.c" "$(OX)\wysiwyg.h" |
| 2030 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\wysiwyg_.c" |
| 2031 | |
| 2032 | "$(OX)\wysiwyg_.c" : "$(SRCDIR)\wysiwyg.c" |
| 2033 | "$(OBJDIR)\translate$E" $** > $@ |
| 2034 | |
| 2035 | "$(OX)\xfer$O" : "$(OX)\xfer_.c" "$(OX)\xfer.h" |
| 2036 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\xfer_.c" |
| 2037 | |
| 2038 | "$(OX)\xfer_.c" : "$(SRCDIR)\xfer.c" |
| 2039 | "$(OBJDIR)\translate$E" $** > $@ |
| 2040 | |
| 2041 | "$(OX)\xfersetup$O" : "$(OX)\xfersetup_.c" "$(OX)\xfersetup.h" |
| 2042 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\xfersetup_.c" |
| 2043 | |
| 2044 | "$(OX)\xfersetup_.c" : "$(SRCDIR)\xfersetup.c" |
| 2045 | "$(OBJDIR)\translate$E" $** > $@ |
| 2046 | |
| 2047 | "$(OX)\zip$O" : "$(OX)\zip_.c" "$(OX)\zip.h" |
| 2048 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\zip_.c" |
| 2049 | |
| 2050 | "$(OX)\zip_.c" : "$(SRCDIR)\zip.c" |
| 2051 | "$(OBJDIR)\translate$E" $** > $@ |
| 2052 | |
| 2053 | "$(OX)\fossil.res" : "$(B)\win\fossil.rc" |
| 2054 | $(RCC) /fo $@ $** |
| 2055 | |
| 2056 | "$(OX)\headers": "$(OBJDIR)\makeheaders$E" "$(OX)\page_index.h" "$(OX)\builtin_data.h" "$(OX)\default_css.h" "$(OX)\VERSION.h" |
| 2057 | "$(OBJDIR)\makeheaders$E" "$(OX)\add_.c":"$(OX)\add.h" \ |
| 2058 | "$(OX)\ajax_.c":"$(OX)\ajax.h" \ |
| 2059 | "$(OX)\alerts_.c":"$(OX)\alerts.h" \ |
| 2060 | "$(OX)\allrepo_.c":"$(OX)\allrepo.h" \ |
| 2061 | "$(OX)\attach_.c":"$(OX)\attach.h" \ |
| 2062 | "$(OX)\backlink_.c":"$(OX)\backlink.h" \ |
| 2063 | "$(OX)\backoffice_.c":"$(OX)\backoffice.h" \ |
| 2064 | "$(OX)\bag_.c":"$(OX)\bag.h" \ |
| 2065 | "$(OX)\bisect_.c":"$(OX)\bisect.h" \ |
| 2066 | "$(OX)\blob_.c":"$(OX)\blob.h" \ |
| 2067 | "$(OX)\branch_.c":"$(OX)\branch.h" \ |
| 2068 | "$(OX)\browse_.c":"$(OX)\browse.h" \ |
| 2069 | "$(OX)\builtin_.c":"$(OX)\builtin.h" \ |
| 2070 | "$(OX)\bundle_.c":"$(OX)\bundle.h" \ |
| 2071 | "$(OX)\cache_.c":"$(OX)\cache.h" \ |
| 2072 | "$(OX)\capabilities_.c":"$(OX)\capabilities.h" \ |
| 2073 | "$(OX)\captcha_.c":"$(OX)\captcha.h" \ |
| 2074 | "$(OX)\cgi_.c":"$(OX)\cgi.h" \ |
| 2075 | "$(OX)\checkin_.c":"$(OX)\checkin.h" \ |
| 2076 | "$(OX)\checkout_.c":"$(OX)\checkout.h" \ |
| 2077 | "$(OX)\clearsign_.c":"$(OX)\clearsign.h" \ |
| 2078 | "$(OX)\clone_.c":"$(OX)\clone.h" \ |
| 2079 | "$(OX)\comformat_.c":"$(OX)\comformat.h" \ |
| 2080 | "$(OX)\configure_.c":"$(OX)\configure.h" \ |
| 2081 | "$(OX)\content_.c":"$(OX)\content.h" \ |
| 2082 | "$(OX)\cookies_.c":"$(OX)\cookies.h" \ |
| 2083 | "$(OX)\db_.c":"$(OX)\db.h" \ |
| 2084 | "$(OX)\delta_.c":"$(OX)\delta.h" \ |
| 2085 | "$(OX)\deltacmd_.c":"$(OX)\deltacmd.h" \ |
| 2086 | "$(OX)\deltafunc_.c":"$(OX)\deltafunc.h" \ |
| 2087 | "$(OX)\descendants_.c":"$(OX)\descendants.h" \ |
| 2088 | "$(OX)\diff_.c":"$(OX)\diff.h" \ |
| 2089 | "$(OX)\diffcmd_.c":"$(OX)\diffcmd.h" \ |
| 2090 | "$(OX)\dispatch_.c":"$(OX)\dispatch.h" \ |
| 2091 | "$(OX)\doc_.c":"$(OX)\doc.h" \ |
| 2092 | "$(OX)\encode_.c":"$(OX)\encode.h" \ |
| 2093 | "$(OX)\etag_.c":"$(OX)\etag.h" \ |
| 2094 | "$(OX)\event_.c":"$(OX)\event.h" \ |
| 2095 | "$(OX)\export_.c":"$(OX)\export.h" \ |
| 2096 | "$(OX)\extcgi_.c":"$(OX)\extcgi.h" \ |
| 2097 | "$(OX)\file_.c":"$(OX)\file.h" \ |
| 2098 | "$(OX)\fileedit_.c":"$(OX)\fileedit.h" \ |
| 2099 | "$(OX)\finfo_.c":"$(OX)\finfo.h" \ |
| 2100 | "$(OX)\foci_.c":"$(OX)\foci.h" \ |
| 2101 | "$(OX)\forum_.c":"$(OX)\forum.h" \ |
| 2102 | "$(OX)\fshell_.c":"$(OX)\fshell.h" \ |
| 2103 | "$(OX)\fusefs_.c":"$(OX)\fusefs.h" \ |
| 2104 | "$(OX)\fuzz_.c":"$(OX)\fuzz.h" \ |
| 2105 | "$(OX)\glob_.c":"$(OX)\glob.h" \ |
| 2106 | "$(OX)\graph_.c":"$(OX)\graph.h" \ |
| 2107 | "$(OX)\gzip_.c":"$(OX)\gzip.h" \ |
| 2108 | "$(OX)\hname_.c":"$(OX)\hname.h" \ |
| 2109 | "$(OX)\http_.c":"$(OX)\http.h" \ |
| 2110 | "$(OX)\http_socket_.c":"$(OX)\http_socket.h" \ |
| 2111 | "$(OX)\http_ssl_.c":"$(OX)\http_ssl.h" \ |
| 2112 | "$(OX)\http_transport_.c":"$(OX)\http_transport.h" \ |
| 2113 | "$(OX)\import_.c":"$(OX)\import.h" \ |
| 2114 | "$(OX)\info_.c":"$(OX)\info.h" \ |
| 2115 | "$(OX)\json_.c":"$(OX)\json.h" \ |
| 2116 | "$(OX)\json_artifact_.c":"$(OX)\json_artifact.h" \ |
| 2117 | "$(OX)\json_branch_.c":"$(OX)\json_branch.h" \ |
| 2118 | "$(OX)\json_config_.c":"$(OX)\json_config.h" \ |
| 2119 | "$(OX)\json_diff_.c":"$(OX)\json_diff.h" \ |
| 2120 | "$(OX)\json_dir_.c":"$(OX)\json_dir.h" \ |
| 2121 | "$(OX)\json_finfo_.c":"$(OX)\json_finfo.h" \ |
| 2122 | "$(OX)\json_login_.c":"$(OX)\json_login.h" \ |
| 2123 | "$(OX)\json_query_.c":"$(OX)\json_query.h" \ |
| 2124 | "$(OX)\json_report_.c":"$(OX)\json_report.h" \ |
| 2125 | "$(OX)\json_status_.c":"$(OX)\json_status.h" \ |
| 2126 | "$(OX)\json_tag_.c":"$(OX)\json_tag.h" \ |
| 2127 | "$(OX)\json_timeline_.c":"$(OX)\json_timeline.h" \ |
| 2128 | "$(OX)\json_user_.c":"$(OX)\json_user.h" \ |
| 2129 | "$(OX)\json_wiki_.c":"$(OX)\json_wiki.h" \ |
| 2130 | "$(OX)\leaf_.c":"$(OX)\leaf.h" \ |
| 2131 | "$(OX)\loadctrl_.c":"$(OX)\loadctrl.h" \ |
| 2132 | "$(OX)\login_.c":"$(OX)\login.h" \ |
| 2133 | "$(OX)\lookslike_.c":"$(OX)\lookslike.h" \ |
| 2134 | "$(OX)\main_.c":"$(OX)\main.h" \ |
| 2135 | "$(OX)\manifest_.c":"$(OX)\manifest.h" \ |
| 2136 | "$(OX)\markdown_.c":"$(OX)\markdown.h" \ |
| 2137 | "$(OX)\markdown_html_.c":"$(OX)\markdown_html.h" \ |
| 2138 | "$(OX)\md5_.c":"$(OX)\md5.h" \ |
| 2139 | "$(OX)\merge_.c":"$(OX)\merge.h" \ |
| 2140 | "$(OX)\merge3_.c":"$(OX)\merge3.h" \ |
| 2141 | "$(OX)\moderate_.c":"$(OX)\moderate.h" \ |
| 2142 | "$(OX)\name_.c":"$(OX)\name.h" \ |
| 2143 | "$(OX)\path_.c":"$(OX)\path.h" \ |
| 2144 | "$(OX)\piechart_.c":"$(OX)\piechart.h" \ |
| 2145 | "$(OX)\pivot_.c":"$(OX)\pivot.h" \ |
| 2146 | "$(OX)\popen_.c":"$(OX)\popen.h" \ |
| 2147 | "$(OX)\pqueue_.c":"$(OX)\pqueue.h" \ |
| 2148 | "$(OX)\printf_.c":"$(OX)\printf.h" \ |
| 2149 | "$(OX)\publish_.c":"$(OX)\publish.h" \ |
| 2150 | "$(OX)\purge_.c":"$(OX)\purge.h" \ |
| 2151 | "$(OX)\rebuild_.c":"$(OX)\rebuild.h" \ |
| 2152 | "$(OX)\regexp_.c":"$(OX)\regexp.h" \ |
| 2153 | "$(OX)\repolist_.c":"$(OX)\repolist.h" \ |
| 2154 | "$(OX)\report_.c":"$(OX)\report.h" \ |
| 2155 | "$(OX)\rss_.c":"$(OX)\rss.h" \ |
| 2156 | "$(OX)\schema_.c":"$(OX)\schema.h" \ |
| 2157 | "$(OX)\search_.c":"$(OX)\search.h" \ |
| 2158 | "$(OX)\security_audit_.c":"$(OX)\security_audit.h" \ |
| 2159 | "$(OX)\setup_.c":"$(OX)\setup.h" \ |
| 2160 | "$(OX)\setupuser_.c":"$(OX)\setupuser.h" \ |
| 2161 | "$(OX)\sha1_.c":"$(OX)\sha1.h" \ |
| 2162 | "$(OX)\sha1hard_.c":"$(OX)\sha1hard.h" \ |
| 2163 | "$(OX)\sha3_.c":"$(OX)\sha3.h" \ |
| 2164 | "$(OX)\shun_.c":"$(OX)\shun.h" \ |
| 2165 | "$(OX)\sitemap_.c":"$(OX)\sitemap.h" \ |
| 2166 | "$(OX)\skins_.c":"$(OX)\skins.h" \ |
| 2167 | "$(OX)\smtp_.c":"$(OX)\smtp.h" \ |
| 2168 | "$(OX)\sqlcmd_.c":"$(OX)\sqlcmd.h" \ |
| 2169 | "$(OX)\stash_.c":"$(OX)\stash.h" \ |
| 2170 | "$(OX)\stat_.c":"$(OX)\stat.h" \ |
| 2171 | "$(OX)\statrep_.c":"$(OX)\statrep.h" \ |
| 2172 | "$(OX)\style_.c":"$(OX)\style.h" \ |
| 2173 | "$(OX)\sync_.c":"$(OX)\sync.h" \ |
| 2174 | "$(OX)\tag_.c":"$(OX)\tag.h" \ |
| 2175 | "$(OX)\tar_.c":"$(OX)\tar.h" \ |
| 2176 | "$(OX)\terminal_.c":"$(OX)\terminal.h" \ |
| 2177 | "$(OX)\th_main_.c":"$(OX)\th_main.h" \ |
| 2178 | "$(OX)\timeline_.c":"$(OX)\timeline.h" \ |
| 2179 | "$(OX)\tkt_.c":"$(OX)\tkt.h" \ |
| 2180 | "$(OX)\tktsetup_.c":"$(OX)\tktsetup.h" \ |
| 2181 | "$(OX)\undo_.c":"$(OX)\undo.h" \ |
| 2182 | "$(OX)\unicode_.c":"$(OX)\unicode.h" \ |
| 2183 | "$(OX)\unversioned_.c":"$(OX)\unversioned.h" \ |
| 2184 | "$(OX)\update_.c":"$(OX)\update.h" \ |
| 2185 | "$(OX)\url_.c":"$(OX)\url.h" \ |
| 2186 | "$(OX)\user_.c":"$(OX)\user.h" \ |
| 2187 | "$(OX)\utf8_.c":"$(OX)\utf8.h" \ |
| 2188 | "$(OX)\util_.c":"$(OX)\util.h" \ |
| 2189 | "$(OX)\verify_.c":"$(OX)\verify.h" \ |
| 2190 | "$(OX)\vfile_.c":"$(OX)\vfile.h" \ |
| 2191 | "$(OX)\webmail_.c":"$(OX)\webmail.h" \ |
| 2192 | "$(OX)\wiki_.c":"$(OX)\wiki.h" \ |
| 2193 | "$(OX)\wikiformat_.c":"$(OX)\wikiformat.h" \ |
| 2194 | "$(OX)\winfile_.c":"$(OX)\winfile.h" \ |
| 2195 | "$(OX)\winhttp_.c":"$(OX)\winhttp.h" \ |
| 2196 | "$(OX)\wysiwyg_.c":"$(OX)\wysiwyg.h" \ |
| 2197 | "$(OX)\xfer_.c":"$(OX)\xfer.h" \ |
| 2198 | "$(OX)\xfersetup_.c":"$(OX)\xfersetup.h" \ |
| 2199 | "$(OX)\zip_.c":"$(OX)\zip.h" \ |
| 2200 | "$(SRCDIR)\sqlite3.h" \ |
| 2201 | "$(SRCDIR)\th.h" \ |
| 2202 | "$(OX)\VERSION.h" \ |
| 2203 | "$(SRCDIR)\cson_amalgamation.h" |
| 2204 | @copy /Y nul: $@ |
| 2205 |
+1820
-1674
| --- win/Makefile.msc | ||
| +++ win/Makefile.msc | ||
| @@ -1,39 +1,52 @@ | ||
| 1 | 1 | # |
| 2 | 2 | ############################################################################## |
| 3 | 3 | # WARNING: DO NOT EDIT, AUTOMATICALLY GENERATED FILE (SEE "src/makemake.tcl") |
| 4 | 4 | ############################################################################## |
| 5 | 5 | # |
| 6 | -# This Makefile will only function correctly if used from a sub-directory | |
| 7 | -# that is a direct child of the top-level directory for this project. | |
| 8 | -# | |
| 9 | -!if !exist("..\.fossil-settings") | |
| 10 | -!error "Please change the current directory to the one containing this file." | |
| 11 | -!endif | |
| 12 | - | |
| 13 | 6 | # |
| 14 | 7 | # This file is automatically generated. Instead of editing this |
| 15 | 8 | # file, edit "makemake.tcl" then run "tclsh makemake.tcl" |
| 16 | 9 | # to regenerate this file. |
| 17 | 10 | # |
| 18 | 11 | B = .. |
| 19 | -SRCDIR = $B\src | |
| 20 | -OBJDIR = . | |
| 21 | -OX = . | |
| 12 | +SRCDIR = $(B)\src | |
| 13 | +T = . | |
| 14 | +OBJDIR = $(T) | |
| 15 | +OX = $(OBJDIR) | |
| 22 | 16 | O = .obj |
| 23 | 17 | E = .exe |
| 24 | 18 | P = .pdb |
| 25 | 19 | |
| 26 | -# Perl is only necessary if OpenSSL support is enabled and it must | |
| 27 | -# be built from source code. The PERLDIR variable should point to | |
| 28 | -# the directory containing the main Perl binary (i.e. "perl.exe"). | |
| 29 | -PERLDIR = C:\Perl\bin | |
| 20 | +INSTALLDIR = . | |
| 21 | +!ifdef DESTDIR | |
| 22 | +INSTALLDIR = $(DESTDIR)\$(INSTALLDIR) | |
| 23 | +!endif | |
| 24 | + | |
| 25 | +# When building out of source, this Makefile needs to know the path to the base | |
| 26 | +# top-level directory for this project. Pass it on NMAKE command line via make | |
| 27 | +# variable B: | |
| 28 | +# NMAKE /f "path\to\this\Makefile" B="path/to/fossil/root" | |
| 29 | +# | |
| 30 | +# NOTE: Make sure B path has no trailing backslash, UNIX-style path is OK too. | |
| 31 | +# | |
| 32 | +!if !exist("$(B)\.fossil-settings") | |
| 33 | +!error Please specify path to project base directory: B="path/to/fossil" | |
| 34 | +!endif | |
| 35 | + | |
| 36 | +# Perl is only necessary if OpenSSL support is enabled and it is built from | |
| 37 | +# source code. The PERLDIR environment variable, if it exists, should point | |
| 38 | +# to the directory containing the main Perl executable specified here (i.e. | |
| 39 | +# "perl.exe"). | |
| 30 | 40 | PERL = perl.exe |
| 31 | 41 | |
| 32 | 42 | # Enable debugging symbols? |
| 33 | 43 | !ifndef DEBUG |
| 34 | 44 | DEBUG = 0 |
| 45 | +!endif | |
| 46 | +!ifdef FOSSIL_DEBUG | |
| 47 | +DEBUG = 1 | |
| 35 | 48 | !endif |
| 36 | 49 | |
| 37 | 50 | # Build the OpenSSL libraries? |
| 38 | 51 | !ifndef FOSSIL_BUILD_SSL |
| 39 | 52 | FOSSIL_BUILD_SSL = 0 |
| @@ -150,27 +163,30 @@ | ||
| 150 | 163 | ZLIB = zdll.lib |
| 151 | 164 | !else |
| 152 | 165 | ZLIB = zlib.lib |
| 153 | 166 | !endif |
| 154 | 167 | |
| 155 | -INCL = /I. /I$(SRCDIR) /I$B\win\include | |
| 168 | +INCL = /I. /I"$(OX)" /I"$(SRCDIR)" /I"$(B)\win\include" | |
| 156 | 169 | |
| 157 | 170 | !if $(FOSSIL_ENABLE_MINIZ)==0 |
| 158 | -INCL = $(INCL) /I$(ZINCDIR) | |
| 171 | +INCL = $(INCL) /I"$(ZINCDIR)" | |
| 159 | 172 | !endif |
| 160 | 173 | |
| 161 | 174 | !if $(FOSSIL_ENABLE_SSL)!=0 |
| 162 | -INCL = $(INCL) /I$(SSLINCDIR) | |
| 175 | +INCL = $(INCL) /I"$(SSLINCDIR)" | |
| 163 | 176 | !endif |
| 164 | 177 | |
| 165 | 178 | !if $(FOSSIL_ENABLE_TCL)!=0 |
| 166 | -INCL = $(INCL) /I$(TCLINCDIR) | |
| 179 | +INCL = $(INCL) /I"$(TCLINCDIR)" | |
| 167 | 180 | !endif |
| 168 | 181 | |
| 169 | 182 | CFLAGS = /nologo |
| 170 | 183 | LDFLAGS = |
| 171 | 184 | |
| 185 | +CFLAGS = $(CFLAGS) /D_CRT_SECURE_NO_DEPRECATE /D_CRT_SECURE_NO_WARNINGS | |
| 186 | +CFLAGS = $(CFLAGS) /D_CRT_NONSTDC_NO_DEPRECATE /D_CRT_NONSTDC_NO_WARNINGS | |
| 187 | + | |
| 172 | 188 | !if $(FOSSIL_DYNAMIC_BUILD)!=0 |
| 173 | 189 | LDFLAGS = $(LDFLAGS) /MANIFEST |
| 174 | 190 | !else |
| 175 | 191 | LDFLAGS = $(LDFLAGS) /NODEFAULTLIB:msvcrt /MANIFEST:NO |
| 176 | 192 | !endif |
| @@ -199,11 +215,11 @@ | ||
| 199 | 215 | CRTFLAGS = /MT |
| 200 | 216 | !endif |
| 201 | 217 | !endif |
| 202 | 218 | |
| 203 | 219 | !if $(DEBUG)!=0 |
| 204 | -CFLAGS = $(CFLAGS) /Zi $(CRTFLAGS) /Od | |
| 220 | +CFLAGS = $(CFLAGS) /Zi $(CRTFLAGS) /Od /DFOSSIL_DEBUG | |
| 205 | 221 | LDFLAGS = $(LDFLAGS) /DEBUG |
| 206 | 222 | !else |
| 207 | 223 | CFLAGS = $(CFLAGS) $(CRTFLAGS) /O2 |
| 208 | 224 | !endif |
| 209 | 225 | |
| @@ -219,11 +235,11 @@ | ||
| 219 | 235 | RCC = $(RCC) /DFOSSIL_DYNAMIC_BUILD=1 |
| 220 | 236 | !endif |
| 221 | 237 | |
| 222 | 238 | !if $(FOSSIL_ENABLE_MINIZ)==0 |
| 223 | 239 | LIBS = $(LIBS) $(ZLIB) |
| 224 | -LIBDIR = $(LIBDIR) /LIBPATH:$(ZLIBDIR) | |
| 240 | +LIBDIR = $(LIBDIR) /LIBPATH:"$(ZLIBDIR)" | |
| 225 | 241 | !endif |
| 226 | 242 | |
| 227 | 243 | !if $(FOSSIL_ENABLE_MINIZ)!=0 |
| 228 | 244 | TCC = $(TCC) /DFOSSIL_ENABLE_MINIZ=1 |
| 229 | 245 | RCC = $(RCC) /DFOSSIL_ENABLE_MINIZ=1 |
| @@ -236,11 +252,11 @@ | ||
| 236 | 252 | |
| 237 | 253 | !if $(FOSSIL_ENABLE_SSL)!=0 |
| 238 | 254 | TCC = $(TCC) /DFOSSIL_ENABLE_SSL=1 |
| 239 | 255 | RCC = $(RCC) /DFOSSIL_ENABLE_SSL=1 |
| 240 | 256 | LIBS = $(LIBS) $(SSLLIB) |
| 241 | -LIBDIR = $(LIBDIR) /LIBPATH:$(SSLLIBDIR) | |
| 257 | +LIBDIR = $(LIBDIR) /LIBPATH:"$(SSLLIBDIR)" | |
| 242 | 258 | !endif |
| 243 | 259 | |
| 244 | 260 | !if $(FOSSIL_ENABLE_EXEC_REL_PATHS)!=0 |
| 245 | 261 | TCC = $(TCC) /DFOSSIL_ENABLE_EXEC_REL_PATHS=1 |
| 246 | 262 | RCC = $(RCC) /DFOSSIL_ENABLE_EXEC_REL_PATHS=1 |
| @@ -283,11 +299,10 @@ | ||
| 283 | 299 | /DSQLITE_DEFAULT_MEMSTATUS=0 \ |
| 284 | 300 | /DSQLITE_DEFAULT_WAL_SYNCHRONOUS=1 \ |
| 285 | 301 | /DSQLITE_LIKE_DOESNT_MATCH_BLOBS \ |
| 286 | 302 | /DSQLITE_OMIT_DECLTYPE \ |
| 287 | 303 | /DSQLITE_OMIT_DEPRECATED \ |
| 288 | - /DSQLITE_OMIT_GET_TABLE \ | |
| 289 | 304 | /DSQLITE_OMIT_PROGRESS_CALLBACK \ |
| 290 | 305 | /DSQLITE_OMIT_SHARED_CACHE \ |
| 291 | 306 | /DSQLITE_OMIT_LOAD_EXTENSION \ |
| 292 | 307 | /DSQLITE_MAX_EXPR_DEPTH=0 \ |
| 293 | 308 | /DSQLITE_USE_ALLOCA \ |
| @@ -311,11 +326,10 @@ | ||
| 311 | 326 | /DSQLITE_DEFAULT_MEMSTATUS=0 \ |
| 312 | 327 | /DSQLITE_DEFAULT_WAL_SYNCHRONOUS=1 \ |
| 313 | 328 | /DSQLITE_LIKE_DOESNT_MATCH_BLOBS \ |
| 314 | 329 | /DSQLITE_OMIT_DECLTYPE \ |
| 315 | 330 | /DSQLITE_OMIT_DEPRECATED \ |
| 316 | - /DSQLITE_OMIT_GET_TABLE \ | |
| 317 | 331 | /DSQLITE_OMIT_PROGRESS_CALLBACK \ |
| 318 | 332 | /DSQLITE_OMIT_SHARED_CACHE \ |
| 319 | 333 | /DSQLITE_OMIT_LOAD_EXTENSION \ |
| 320 | 334 | /DSQLITE_MAX_EXPR_DEPTH=0 \ |
| 321 | 335 | /DSQLITE_USE_ALLOCA \ |
| @@ -344,405 +358,407 @@ | ||
| 344 | 358 | |
| 345 | 359 | MINIZ_OPTIONS = /DMINIZ_NO_STDIO \ |
| 346 | 360 | /DMINIZ_NO_TIME \ |
| 347 | 361 | /DMINIZ_NO_ARCHIVE_APIS |
| 348 | 362 | |
| 349 | -SRC = add_.c \ | |
| 350 | - alerts_.c \ | |
| 351 | - allrepo_.c \ | |
| 352 | - attach_.c \ | |
| 353 | - backlink_.c \ | |
| 354 | - backoffice_.c \ | |
| 355 | - bag_.c \ | |
| 356 | - bisect_.c \ | |
| 357 | - blob_.c \ | |
| 358 | - branch_.c \ | |
| 359 | - browse_.c \ | |
| 360 | - builtin_.c \ | |
| 361 | - bundle_.c \ | |
| 362 | - cache_.c \ | |
| 363 | - capabilities_.c \ | |
| 364 | - captcha_.c \ | |
| 365 | - cgi_.c \ | |
| 366 | - checkin_.c \ | |
| 367 | - checkout_.c \ | |
| 368 | - clearsign_.c \ | |
| 369 | - clone_.c \ | |
| 370 | - comformat_.c \ | |
| 371 | - configure_.c \ | |
| 372 | - content_.c \ | |
| 373 | - cookies_.c \ | |
| 374 | - db_.c \ | |
| 375 | - delta_.c \ | |
| 376 | - deltacmd_.c \ | |
| 377 | - deltafunc_.c \ | |
| 378 | - descendants_.c \ | |
| 379 | - diff_.c \ | |
| 380 | - diffcmd_.c \ | |
| 381 | - dispatch_.c \ | |
| 382 | - doc_.c \ | |
| 383 | - encode_.c \ | |
| 384 | - etag_.c \ | |
| 385 | - event_.c \ | |
| 386 | - export_.c \ | |
| 387 | - extcgi_.c \ | |
| 388 | - file_.c \ | |
| 389 | - fileedit_.c \ | |
| 390 | - finfo_.c \ | |
| 391 | - foci_.c \ | |
| 392 | - forum_.c \ | |
| 393 | - fshell_.c \ | |
| 394 | - fusefs_.c \ | |
| 395 | - fuzz_.c \ | |
| 396 | - glob_.c \ | |
| 397 | - graph_.c \ | |
| 398 | - gzip_.c \ | |
| 399 | - hname_.c \ | |
| 400 | - http_.c \ | |
| 401 | - http_socket_.c \ | |
| 402 | - http_ssl_.c \ | |
| 403 | - http_transport_.c \ | |
| 404 | - import_.c \ | |
| 405 | - info_.c \ | |
| 406 | - json_.c \ | |
| 407 | - json_artifact_.c \ | |
| 408 | - json_branch_.c \ | |
| 409 | - json_config_.c \ | |
| 410 | - json_diff_.c \ | |
| 411 | - json_dir_.c \ | |
| 412 | - json_finfo_.c \ | |
| 413 | - json_login_.c \ | |
| 414 | - json_query_.c \ | |
| 415 | - json_report_.c \ | |
| 416 | - json_status_.c \ | |
| 417 | - json_tag_.c \ | |
| 418 | - json_timeline_.c \ | |
| 419 | - json_user_.c \ | |
| 420 | - json_wiki_.c \ | |
| 421 | - leaf_.c \ | |
| 422 | - loadctrl_.c \ | |
| 423 | - login_.c \ | |
| 424 | - lookslike_.c \ | |
| 425 | - main_.c \ | |
| 426 | - manifest_.c \ | |
| 427 | - markdown_.c \ | |
| 428 | - markdown_html_.c \ | |
| 429 | - md5_.c \ | |
| 430 | - merge_.c \ | |
| 431 | - merge3_.c \ | |
| 432 | - moderate_.c \ | |
| 433 | - name_.c \ | |
| 434 | - path_.c \ | |
| 435 | - piechart_.c \ | |
| 436 | - pivot_.c \ | |
| 437 | - popen_.c \ | |
| 438 | - pqueue_.c \ | |
| 439 | - printf_.c \ | |
| 440 | - publish_.c \ | |
| 441 | - purge_.c \ | |
| 442 | - rebuild_.c \ | |
| 443 | - regexp_.c \ | |
| 444 | - repolist_.c \ | |
| 445 | - report_.c \ | |
| 446 | - rss_.c \ | |
| 447 | - schema_.c \ | |
| 448 | - search_.c \ | |
| 449 | - security_audit_.c \ | |
| 450 | - setup_.c \ | |
| 451 | - setupuser_.c \ | |
| 452 | - sha1_.c \ | |
| 453 | - sha1hard_.c \ | |
| 454 | - sha3_.c \ | |
| 455 | - shun_.c \ | |
| 456 | - sitemap_.c \ | |
| 457 | - skins_.c \ | |
| 458 | - smtp_.c \ | |
| 459 | - sqlcmd_.c \ | |
| 460 | - stash_.c \ | |
| 461 | - stat_.c \ | |
| 462 | - statrep_.c \ | |
| 463 | - style_.c \ | |
| 464 | - sync_.c \ | |
| 465 | - tag_.c \ | |
| 466 | - tar_.c \ | |
| 467 | - terminal_.c \ | |
| 468 | - th_main_.c \ | |
| 469 | - timeline_.c \ | |
| 470 | - tkt_.c \ | |
| 471 | - tktsetup_.c \ | |
| 472 | - undo_.c \ | |
| 473 | - unicode_.c \ | |
| 474 | - unversioned_.c \ | |
| 475 | - update_.c \ | |
| 476 | - url_.c \ | |
| 477 | - user_.c \ | |
| 478 | - utf8_.c \ | |
| 479 | - util_.c \ | |
| 480 | - verify_.c \ | |
| 481 | - vfile_.c \ | |
| 482 | - webmail_.c \ | |
| 483 | - wiki_.c \ | |
| 484 | - wikiformat_.c \ | |
| 485 | - winfile_.c \ | |
| 486 | - winhttp_.c \ | |
| 487 | - wysiwyg_.c \ | |
| 488 | - xfer_.c \ | |
| 489 | - xfersetup_.c \ | |
| 490 | - zip_.c | |
| 491 | - | |
| 492 | -EXTRA_FILES = $(SRCDIR)\..\skins\aht\details.txt \ | |
| 493 | - $(SRCDIR)\..\skins\ardoise\css.txt \ | |
| 494 | - $(SRCDIR)\..\skins\ardoise\details.txt \ | |
| 495 | - $(SRCDIR)\..\skins\ardoise\footer.txt \ | |
| 496 | - $(SRCDIR)\..\skins\ardoise\header.txt \ | |
| 497 | - $(SRCDIR)\..\skins\black_and_white\css.txt \ | |
| 498 | - $(SRCDIR)\..\skins\black_and_white\details.txt \ | |
| 499 | - $(SRCDIR)\..\skins\black_and_white\footer.txt \ | |
| 500 | - $(SRCDIR)\..\skins\black_and_white\header.txt \ | |
| 501 | - $(SRCDIR)\..\skins\blitz\css.txt \ | |
| 502 | - $(SRCDIR)\..\skins\blitz\details.txt \ | |
| 503 | - $(SRCDIR)\..\skins\blitz\footer.txt \ | |
| 504 | - $(SRCDIR)\..\skins\blitz\header.txt \ | |
| 505 | - $(SRCDIR)\..\skins\blitz\ticket.txt \ | |
| 506 | - $(SRCDIR)\..\skins\blitz_no_logo\css.txt \ | |
| 507 | - $(SRCDIR)\..\skins\blitz_no_logo\details.txt \ | |
| 508 | - $(SRCDIR)\..\skins\blitz_no_logo\footer.txt \ | |
| 509 | - $(SRCDIR)\..\skins\blitz_no_logo\header.txt \ | |
| 510 | - $(SRCDIR)\..\skins\blitz_no_logo\ticket.txt \ | |
| 511 | - $(SRCDIR)\..\skins\bootstrap\css.txt \ | |
| 512 | - $(SRCDIR)\..\skins\bootstrap\details.txt \ | |
| 513 | - $(SRCDIR)\..\skins\bootstrap\footer.txt \ | |
| 514 | - $(SRCDIR)\..\skins\bootstrap\header.txt \ | |
| 515 | - $(SRCDIR)\..\skins\default\css.txt \ | |
| 516 | - $(SRCDIR)\..\skins\default\details.txt \ | |
| 517 | - $(SRCDIR)\..\skins\default\footer.txt \ | |
| 518 | - $(SRCDIR)\..\skins\default\header.txt \ | |
| 519 | - $(SRCDIR)\..\skins\default\js.txt \ | |
| 520 | - $(SRCDIR)\..\skins\eagle\css.txt \ | |
| 521 | - $(SRCDIR)\..\skins\eagle\details.txt \ | |
| 522 | - $(SRCDIR)\..\skins\eagle\footer.txt \ | |
| 523 | - $(SRCDIR)\..\skins\eagle\header.txt \ | |
| 524 | - $(SRCDIR)\..\skins\enhanced1\css.txt \ | |
| 525 | - $(SRCDIR)\..\skins\enhanced1\details.txt \ | |
| 526 | - $(SRCDIR)\..\skins\enhanced1\footer.txt \ | |
| 527 | - $(SRCDIR)\..\skins\enhanced1\header.txt \ | |
| 528 | - $(SRCDIR)\..\skins\khaki\css.txt \ | |
| 529 | - $(SRCDIR)\..\skins\khaki\details.txt \ | |
| 530 | - $(SRCDIR)\..\skins\khaki\footer.txt \ | |
| 531 | - $(SRCDIR)\..\skins\khaki\header.txt \ | |
| 532 | - $(SRCDIR)\..\skins\original\css.txt \ | |
| 533 | - $(SRCDIR)\..\skins\original\details.txt \ | |
| 534 | - $(SRCDIR)\..\skins\original\footer.txt \ | |
| 535 | - $(SRCDIR)\..\skins\original\header.txt \ | |
| 536 | - $(SRCDIR)\..\skins\plain_gray\css.txt \ | |
| 537 | - $(SRCDIR)\..\skins\plain_gray\details.txt \ | |
| 538 | - $(SRCDIR)\..\skins\plain_gray\footer.txt \ | |
| 539 | - $(SRCDIR)\..\skins\plain_gray\header.txt \ | |
| 540 | - $(SRCDIR)\..\skins\rounded1\css.txt \ | |
| 541 | - $(SRCDIR)\..\skins\rounded1\details.txt \ | |
| 542 | - $(SRCDIR)\..\skins\rounded1\footer.txt \ | |
| 543 | - $(SRCDIR)\..\skins\rounded1\header.txt \ | |
| 544 | - $(SRCDIR)\..\skins\xekri\css.txt \ | |
| 545 | - $(SRCDIR)\..\skins\xekri\details.txt \ | |
| 546 | - $(SRCDIR)\..\skins\xekri\footer.txt \ | |
| 547 | - $(SRCDIR)\..\skins\xekri\header.txt \ | |
| 548 | - $(SRCDIR)\accordion.js \ | |
| 549 | - $(SRCDIR)\ci_edit.js \ | |
| 550 | - $(SRCDIR)\copybtn.js \ | |
| 551 | - $(SRCDIR)\default.css \ | |
| 552 | - $(SRCDIR)\diff.tcl \ | |
| 553 | - $(SRCDIR)\forum.js \ | |
| 554 | - $(SRCDIR)\fossil.bootstrap.js \ | |
| 555 | - $(SRCDIR)\fossil.confirmer.js \ | |
| 556 | - $(SRCDIR)\fossil.dom.js \ | |
| 557 | - $(SRCDIR)\fossil.fetch.js \ | |
| 558 | - $(SRCDIR)\fossil.page.fileedit.js \ | |
| 559 | - $(SRCDIR)\fossil.storage.js \ | |
| 560 | - $(SRCDIR)\fossil.tabs.js \ | |
| 561 | - $(SRCDIR)\graph.js \ | |
| 562 | - $(SRCDIR)\href.js \ | |
| 563 | - $(SRCDIR)\login.js \ | |
| 564 | - $(SRCDIR)\markdown.md \ | |
| 565 | - $(SRCDIR)\menu.js \ | |
| 566 | - $(SRCDIR)\sbsdiff.js \ | |
| 567 | - $(SRCDIR)\scroll.js \ | |
| 568 | - $(SRCDIR)\skin.js \ | |
| 569 | - $(SRCDIR)\sorttable.js \ | |
| 570 | - $(SRCDIR)\sounds\0.wav \ | |
| 571 | - $(SRCDIR)\sounds\1.wav \ | |
| 572 | - $(SRCDIR)\sounds\2.wav \ | |
| 573 | - $(SRCDIR)\sounds\3.wav \ | |
| 574 | - $(SRCDIR)\sounds\4.wav \ | |
| 575 | - $(SRCDIR)\sounds\5.wav \ | |
| 576 | - $(SRCDIR)\sounds\6.wav \ | |
| 577 | - $(SRCDIR)\sounds\7.wav \ | |
| 578 | - $(SRCDIR)\sounds\8.wav \ | |
| 579 | - $(SRCDIR)\sounds\9.wav \ | |
| 580 | - $(SRCDIR)\sounds\a.wav \ | |
| 581 | - $(SRCDIR)\sounds\b.wav \ | |
| 582 | - $(SRCDIR)\sounds\c.wav \ | |
| 583 | - $(SRCDIR)\sounds\d.wav \ | |
| 584 | - $(SRCDIR)\sounds\e.wav \ | |
| 585 | - $(SRCDIR)\sounds\f.wav \ | |
| 586 | - $(SRCDIR)\style.admin_log.css \ | |
| 587 | - $(SRCDIR)\style.fileedit.css \ | |
| 588 | - $(SRCDIR)\tree.js \ | |
| 589 | - $(SRCDIR)\useredit.js \ | |
| 590 | - $(SRCDIR)\wiki.wiki | |
| 591 | - | |
| 592 | -OBJ = $(OX)\add$O \ | |
| 593 | - $(OX)\alerts$O \ | |
| 594 | - $(OX)\allrepo$O \ | |
| 595 | - $(OX)\attach$O \ | |
| 596 | - $(OX)\backlink$O \ | |
| 597 | - $(OX)\backoffice$O \ | |
| 598 | - $(OX)\bag$O \ | |
| 599 | - $(OX)\bisect$O \ | |
| 600 | - $(OX)\blob$O \ | |
| 601 | - $(OX)\branch$O \ | |
| 602 | - $(OX)\browse$O \ | |
| 603 | - $(OX)\builtin$O \ | |
| 604 | - $(OX)\bundle$O \ | |
| 605 | - $(OX)\cache$O \ | |
| 606 | - $(OX)\capabilities$O \ | |
| 607 | - $(OX)\captcha$O \ | |
| 608 | - $(OX)\cgi$O \ | |
| 609 | - $(OX)\checkin$O \ | |
| 610 | - $(OX)\checkout$O \ | |
| 611 | - $(OX)\clearsign$O \ | |
| 612 | - $(OX)\clone$O \ | |
| 613 | - $(OX)\comformat$O \ | |
| 614 | - $(OX)\configure$O \ | |
| 615 | - $(OX)\content$O \ | |
| 616 | - $(OX)\cookies$O \ | |
| 617 | - $(OX)\cson_amalgamation$O \ | |
| 618 | - $(OX)\db$O \ | |
| 619 | - $(OX)\delta$O \ | |
| 620 | - $(OX)\deltacmd$O \ | |
| 621 | - $(OX)\deltafunc$O \ | |
| 622 | - $(OX)\descendants$O \ | |
| 623 | - $(OX)\diff$O \ | |
| 624 | - $(OX)\diffcmd$O \ | |
| 625 | - $(OX)\dispatch$O \ | |
| 626 | - $(OX)\doc$O \ | |
| 627 | - $(OX)\encode$O \ | |
| 628 | - $(OX)\etag$O \ | |
| 629 | - $(OX)\event$O \ | |
| 630 | - $(OX)\export$O \ | |
| 631 | - $(OX)\extcgi$O \ | |
| 632 | - $(OX)\file$O \ | |
| 633 | - $(OX)\fileedit$O \ | |
| 634 | - $(OX)\finfo$O \ | |
| 635 | - $(OX)\foci$O \ | |
| 636 | - $(OX)\forum$O \ | |
| 637 | - $(OX)\fshell$O \ | |
| 638 | - $(OX)\fusefs$O \ | |
| 639 | - $(OX)\fuzz$O \ | |
| 640 | - $(OX)\glob$O \ | |
| 641 | - $(OX)\graph$O \ | |
| 642 | - $(OX)\gzip$O \ | |
| 643 | - $(OX)\hname$O \ | |
| 644 | - $(OX)\http$O \ | |
| 645 | - $(OX)\http_socket$O \ | |
| 646 | - $(OX)\http_ssl$O \ | |
| 647 | - $(OX)\http_transport$O \ | |
| 648 | - $(OX)\import$O \ | |
| 649 | - $(OX)\info$O \ | |
| 650 | - $(OX)\json$O \ | |
| 651 | - $(OX)\json_artifact$O \ | |
| 652 | - $(OX)\json_branch$O \ | |
| 653 | - $(OX)\json_config$O \ | |
| 654 | - $(OX)\json_diff$O \ | |
| 655 | - $(OX)\json_dir$O \ | |
| 656 | - $(OX)\json_finfo$O \ | |
| 657 | - $(OX)\json_login$O \ | |
| 658 | - $(OX)\json_query$O \ | |
| 659 | - $(OX)\json_report$O \ | |
| 660 | - $(OX)\json_status$O \ | |
| 661 | - $(OX)\json_tag$O \ | |
| 662 | - $(OX)\json_timeline$O \ | |
| 663 | - $(OX)\json_user$O \ | |
| 664 | - $(OX)\json_wiki$O \ | |
| 665 | - $(OX)\leaf$O \ | |
| 666 | - $(OX)\loadctrl$O \ | |
| 667 | - $(OX)\login$O \ | |
| 668 | - $(OX)\lookslike$O \ | |
| 669 | - $(OX)\main$O \ | |
| 670 | - $(OX)\manifest$O \ | |
| 671 | - $(OX)\markdown$O \ | |
| 672 | - $(OX)\markdown_html$O \ | |
| 673 | - $(OX)\md5$O \ | |
| 674 | - $(OX)\merge$O \ | |
| 675 | - $(OX)\merge3$O \ | |
| 676 | - $(OX)\moderate$O \ | |
| 677 | - $(OX)\name$O \ | |
| 678 | - $(OX)\path$O \ | |
| 679 | - $(OX)\piechart$O \ | |
| 680 | - $(OX)\pivot$O \ | |
| 681 | - $(OX)\popen$O \ | |
| 682 | - $(OX)\pqueue$O \ | |
| 683 | - $(OX)\printf$O \ | |
| 684 | - $(OX)\publish$O \ | |
| 685 | - $(OX)\purge$O \ | |
| 686 | - $(OX)\rebuild$O \ | |
| 687 | - $(OX)\regexp$O \ | |
| 688 | - $(OX)\repolist$O \ | |
| 689 | - $(OX)\report$O \ | |
| 690 | - $(OX)\rss$O \ | |
| 691 | - $(OX)\schema$O \ | |
| 692 | - $(OX)\search$O \ | |
| 693 | - $(OX)\security_audit$O \ | |
| 694 | - $(OX)\setup$O \ | |
| 695 | - $(OX)\setupuser$O \ | |
| 696 | - $(OX)\sha1$O \ | |
| 697 | - $(OX)\sha1hard$O \ | |
| 698 | - $(OX)\sha3$O \ | |
| 699 | - $(OX)\shell$O \ | |
| 700 | - $(OX)\shun$O \ | |
| 701 | - $(OX)\sitemap$O \ | |
| 702 | - $(OX)\skins$O \ | |
| 703 | - $(OX)\smtp$O \ | |
| 704 | - $(OX)\sqlcmd$O \ | |
| 705 | - $(OX)\sqlite3$O \ | |
| 706 | - $(OX)\stash$O \ | |
| 707 | - $(OX)\stat$O \ | |
| 708 | - $(OX)\statrep$O \ | |
| 709 | - $(OX)\style$O \ | |
| 710 | - $(OX)\sync$O \ | |
| 711 | - $(OX)\tag$O \ | |
| 712 | - $(OX)\tar$O \ | |
| 713 | - $(OX)\terminal$O \ | |
| 714 | - $(OX)\th$O \ | |
| 715 | - $(OX)\th_lang$O \ | |
| 716 | - $(OX)\th_main$O \ | |
| 717 | - $(OX)\th_tcl$O \ | |
| 718 | - $(OX)\timeline$O \ | |
| 719 | - $(OX)\tkt$O \ | |
| 720 | - $(OX)\tktsetup$O \ | |
| 721 | - $(OX)\undo$O \ | |
| 722 | - $(OX)\unicode$O \ | |
| 723 | - $(OX)\unversioned$O \ | |
| 724 | - $(OX)\update$O \ | |
| 725 | - $(OX)\url$O \ | |
| 726 | - $(OX)\user$O \ | |
| 727 | - $(OX)\utf8$O \ | |
| 728 | - $(OX)\util$O \ | |
| 729 | - $(OX)\verify$O \ | |
| 730 | - $(OX)\vfile$O \ | |
| 731 | - $(OX)\webmail$O \ | |
| 732 | - $(OX)\wiki$O \ | |
| 733 | - $(OX)\wikiformat$O \ | |
| 734 | - $(OX)\winfile$O \ | |
| 735 | - $(OX)\winhttp$O \ | |
| 736 | - $(OX)\wysiwyg$O \ | |
| 737 | - $(OX)\xfer$O \ | |
| 738 | - $(OX)\xfersetup$O \ | |
| 739 | - $(OX)\zip$O \ | |
| 363 | +SRC = "$(OX)\add_.c" \ | |
| 364 | + "$(OX)\ajax_.c" \ | |
| 365 | + "$(OX)\alerts_.c" \ | |
| 366 | + "$(OX)\allrepo_.c" \ | |
| 367 | + "$(OX)\attach_.c" \ | |
| 368 | + "$(OX)\backlink_.c" \ | |
| 369 | + "$(OX)\backoffice_.c" \ | |
| 370 | + "$(OX)\bag_.c" \ | |
| 371 | + "$(OX)\bisect_.c" \ | |
| 372 | + "$(OX)\blob_.c" \ | |
| 373 | + "$(OX)\branch_.c" \ | |
| 374 | + "$(OX)\browse_.c" \ | |
| 375 | + "$(OX)\builtin_.c" \ | |
| 376 | + "$(OX)\bundle_.c" \ | |
| 377 | + "$(OX)\cache_.c" \ | |
| 378 | + "$(OX)\capabilities_.c" \ | |
| 379 | + "$(OX)\captcha_.c" \ | |
| 380 | + "$(OX)\cgi_.c" \ | |
| 381 | + "$(OX)\checkin_.c" \ | |
| 382 | + "$(OX)\checkout_.c" \ | |
| 383 | + "$(OX)\clearsign_.c" \ | |
| 384 | + "$(OX)\clone_.c" \ | |
| 385 | + "$(OX)\comformat_.c" \ | |
| 386 | + "$(OX)\configure_.c" \ | |
| 387 | + "$(OX)\content_.c" \ | |
| 388 | + "$(OX)\cookies_.c" \ | |
| 389 | + "$(OX)\db_.c" \ | |
| 390 | + "$(OX)\delta_.c" \ | |
| 391 | + "$(OX)\deltacmd_.c" \ | |
| 392 | + "$(OX)\deltafunc_.c" \ | |
| 393 | + "$(OX)\descendants_.c" \ | |
| 394 | + "$(OX)\diff_.c" \ | |
| 395 | + "$(OX)\diffcmd_.c" \ | |
| 396 | + "$(OX)\dispatch_.c" \ | |
| 397 | + "$(OX)\doc_.c" \ | |
| 398 | + "$(OX)\encode_.c" \ | |
| 399 | + "$(OX)\etag_.c" \ | |
| 400 | + "$(OX)\event_.c" \ | |
| 401 | + "$(OX)\export_.c" \ | |
| 402 | + "$(OX)\extcgi_.c" \ | |
| 403 | + "$(OX)\file_.c" \ | |
| 404 | + "$(OX)\fileedit_.c" \ | |
| 405 | + "$(OX)\finfo_.c" \ | |
| 406 | + "$(OX)\foci_.c" \ | |
| 407 | + "$(OX)\forum_.c" \ | |
| 408 | + "$(OX)\fshell_.c" \ | |
| 409 | + "$(OX)\fusefs_.c" \ | |
| 410 | + "$(OX)\fuzz_.c" \ | |
| 411 | + "$(OX)\glob_.c" \ | |
| 412 | + "$(OX)\graph_.c" \ | |
| 413 | + "$(OX)\gzip_.c" \ | |
| 414 | + "$(OX)\hname_.c" \ | |
| 415 | + "$(OX)\http_.c" \ | |
| 416 | + "$(OX)\http_socket_.c" \ | |
| 417 | + "$(OX)\http_ssl_.c" \ | |
| 418 | + "$(OX)\http_transport_.c" \ | |
| 419 | + "$(OX)\import_.c" \ | |
| 420 | + "$(OX)\info_.c" \ | |
| 421 | + "$(OX)\json_.c" \ | |
| 422 | + "$(OX)\json_artifact_.c" \ | |
| 423 | + "$(OX)\json_branch_.c" \ | |
| 424 | + "$(OX)\json_config_.c" \ | |
| 425 | + "$(OX)\json_diff_.c" \ | |
| 426 | + "$(OX)\json_dir_.c" \ | |
| 427 | + "$(OX)\json_finfo_.c" \ | |
| 428 | + "$(OX)\json_login_.c" \ | |
| 429 | + "$(OX)\json_query_.c" \ | |
| 430 | + "$(OX)\json_report_.c" \ | |
| 431 | + "$(OX)\json_status_.c" \ | |
| 432 | + "$(OX)\json_tag_.c" \ | |
| 433 | + "$(OX)\json_timeline_.c" \ | |
| 434 | + "$(OX)\json_user_.c" \ | |
| 435 | + "$(OX)\json_wiki_.c" \ | |
| 436 | + "$(OX)\leaf_.c" \ | |
| 437 | + "$(OX)\loadctrl_.c" \ | |
| 438 | + "$(OX)\login_.c" \ | |
| 439 | + "$(OX)\lookslike_.c" \ | |
| 440 | + "$(OX)\main_.c" \ | |
| 441 | + "$(OX)\manifest_.c" \ | |
| 442 | + "$(OX)\markdown_.c" \ | |
| 443 | + "$(OX)\markdown_html_.c" \ | |
| 444 | + "$(OX)\md5_.c" \ | |
| 445 | + "$(OX)\merge_.c" \ | |
| 446 | + "$(OX)\merge3_.c" \ | |
| 447 | + "$(OX)\moderate_.c" \ | |
| 448 | + "$(OX)\name_.c" \ | |
| 449 | + "$(OX)\path_.c" \ | |
| 450 | + "$(OX)\piechart_.c" \ | |
| 451 | + "$(OX)\pivot_.c" \ | |
| 452 | + "$(OX)\popen_.c" \ | |
| 453 | + "$(OX)\pqueue_.c" \ | |
| 454 | + "$(OX)\printf_.c" \ | |
| 455 | + "$(OX)\publish_.c" \ | |
| 456 | + "$(OX)\purge_.c" \ | |
| 457 | + "$(OX)\rebuild_.c" \ | |
| 458 | + "$(OX)\regexp_.c" \ | |
| 459 | + "$(OX)\repolist_.c" \ | |
| 460 | + "$(OX)\report_.c" \ | |
| 461 | + "$(OX)\rss_.c" \ | |
| 462 | + "$(OX)\schema_.c" \ | |
| 463 | + "$(OX)\search_.c" \ | |
| 464 | + "$(OX)\security_audit_.c" \ | |
| 465 | + "$(OX)\setup_.c" \ | |
| 466 | + "$(OX)\setupuser_.c" \ | |
| 467 | + "$(OX)\sha1_.c" \ | |
| 468 | + "$(OX)\sha1hard_.c" \ | |
| 469 | + "$(OX)\sha3_.c" \ | |
| 470 | + "$(OX)\shun_.c" \ | |
| 471 | + "$(OX)\sitemap_.c" \ | |
| 472 | + "$(OX)\skins_.c" \ | |
| 473 | + "$(OX)\smtp_.c" \ | |
| 474 | + "$(OX)\sqlcmd_.c" \ | |
| 475 | + "$(OX)\stash_.c" \ | |
| 476 | + "$(OX)\stat_.c" \ | |
| 477 | + "$(OX)\statrep_.c" \ | |
| 478 | + "$(OX)\style_.c" \ | |
| 479 | + "$(OX)\sync_.c" \ | |
| 480 | + "$(OX)\tag_.c" \ | |
| 481 | + "$(OX)\tar_.c" \ | |
| 482 | + "$(OX)\terminal_.c" \ | |
| 483 | + "$(OX)\th_main_.c" \ | |
| 484 | + "$(OX)\timeline_.c" \ | |
| 485 | + "$(OX)\tkt_.c" \ | |
| 486 | + "$(OX)\tktsetup_.c" \ | |
| 487 | + "$(OX)\undo_.c" \ | |
| 488 | + "$(OX)\unicode_.c" \ | |
| 489 | + "$(OX)\unversioned_.c" \ | |
| 490 | + "$(OX)\update_.c" \ | |
| 491 | + "$(OX)\url_.c" \ | |
| 492 | + "$(OX)\user_.c" \ | |
| 493 | + "$(OX)\utf8_.c" \ | |
| 494 | + "$(OX)\util_.c" \ | |
| 495 | + "$(OX)\verify_.c" \ | |
| 496 | + "$(OX)\vfile_.c" \ | |
| 497 | + "$(OX)\webmail_.c" \ | |
| 498 | + "$(OX)\wiki_.c" \ | |
| 499 | + "$(OX)\wikiformat_.c" \ | |
| 500 | + "$(OX)\winfile_.c" \ | |
| 501 | + "$(OX)\winhttp_.c" \ | |
| 502 | + "$(OX)\wysiwyg_.c" \ | |
| 503 | + "$(OX)\xfer_.c" \ | |
| 504 | + "$(OX)\xfersetup_.c" \ | |
| 505 | + "$(OX)\zip_.c" | |
| 506 | + | |
| 507 | +EXTRA_FILES = "$(SRCDIR)\..\skins\aht\details.txt" \ | |
| 508 | + "$(SRCDIR)\..\skins\ardoise\css.txt" \ | |
| 509 | + "$(SRCDIR)\..\skins\ardoise\details.txt" \ | |
| 510 | + "$(SRCDIR)\..\skins\ardoise\footer.txt" \ | |
| 511 | + "$(SRCDIR)\..\skins\ardoise\header.txt" \ | |
| 512 | + "$(SRCDIR)\..\skins\black_and_white\css.txt" \ | |
| 513 | + "$(SRCDIR)\..\skins\black_and_white\details.txt" \ | |
| 514 | + "$(SRCDIR)\..\skins\black_and_white\footer.txt" \ | |
| 515 | + "$(SRCDIR)\..\skins\black_and_white\header.txt" \ | |
| 516 | + "$(SRCDIR)\..\skins\blitz\css.txt" \ | |
| 517 | + "$(SRCDIR)\..\skins\blitz\details.txt" \ | |
| 518 | + "$(SRCDIR)\..\skins\blitz\footer.txt" \ | |
| 519 | + "$(SRCDIR)\..\skins\blitz\header.txt" \ | |
| 520 | + "$(SRCDIR)\..\skins\blitz\ticket.txt" \ | |
| 521 | + "$(SRCDIR)\..\skins\blitz_no_logo\css.txt" \ | |
| 522 | + "$(SRCDIR)\..\skins\blitz_no_logo\details.txt" \ | |
| 523 | + "$(SRCDIR)\..\skins\blitz_no_logo\footer.txt" \ | |
| 524 | + "$(SRCDIR)\..\skins\blitz_no_logo\header.txt" \ | |
| 525 | + "$(SRCDIR)\..\skins\blitz_no_logo\ticket.txt" \ | |
| 526 | + "$(SRCDIR)\..\skins\bootstrap\css.txt" \ | |
| 527 | + "$(SRCDIR)\..\skins\bootstrap\details.txt" \ | |
| 528 | + "$(SRCDIR)\..\skins\bootstrap\footer.txt" \ | |
| 529 | + "$(SRCDIR)\..\skins\bootstrap\header.txt" \ | |
| 530 | + "$(SRCDIR)\..\skins\default\css.txt" \ | |
| 531 | + "$(SRCDIR)\..\skins\default\details.txt" \ | |
| 532 | + "$(SRCDIR)\..\skins\default\footer.txt" \ | |
| 533 | + "$(SRCDIR)\..\skins\default\header.txt" \ | |
| 534 | + "$(SRCDIR)\..\skins\default\js.txt" \ | |
| 535 | + "$(SRCDIR)\..\skins\eagle\css.txt" \ | |
| 536 | + "$(SRCDIR)\..\skins\eagle\details.txt" \ | |
| 537 | + "$(SRCDIR)\..\skins\eagle\footer.txt" \ | |
| 538 | + "$(SRCDIR)\..\skins\eagle\header.txt" \ | |
| 539 | + "$(SRCDIR)\..\skins\enhanced1\css.txt" \ | |
| 540 | + "$(SRCDIR)\..\skins\enhanced1\details.txt" \ | |
| 541 | + "$(SRCDIR)\..\skins\enhanced1\footer.txt" \ | |
| 542 | + "$(SRCDIR)\..\skins\enhanced1\header.txt" \ | |
| 543 | + "$(SRCDIR)\..\skins\khaki\css.txt" \ | |
| 544 | + "$(SRCDIR)\..\skins\khaki\details.txt" \ | |
| 545 | + "$(SRCDIR)\..\skins\khaki\footer.txt" \ | |
| 546 | + "$(SRCDIR)\..\skins\khaki\header.txt" \ | |
| 547 | + "$(SRCDIR)\..\skins\original\css.txt" \ | |
| 548 | + "$(SRCDIR)\..\skins\original\details.txt" \ | |
| 549 | + "$(SRCDIR)\..\skins\original\footer.txt" \ | |
| 550 | + "$(SRCDIR)\..\skins\original\header.txt" \ | |
| 551 | + "$(SRCDIR)\..\skins\plain_gray\css.txt" \ | |
| 552 | + "$(SRCDIR)\..\skins\plain_gray\details.txt" \ | |
| 553 | + "$(SRCDIR)\..\skins\plain_gray\footer.txt" \ | |
| 554 | + "$(SRCDIR)\..\skins\plain_gray\header.txt" \ | |
| 555 | + "$(SRCDIR)\..\skins\rounded1\css.txt" \ | |
| 556 | + "$(SRCDIR)\..\skins\rounded1\details.txt" \ | |
| 557 | + "$(SRCDIR)\..\skins\rounded1\footer.txt" \ | |
| 558 | + "$(SRCDIR)\..\skins\rounded1\header.txt" \ | |
| 559 | + "$(SRCDIR)\..\skins\xekri\css.txt" \ | |
| 560 | + "$(SRCDIR)\..\skins\xekri\details.txt" \ | |
| 561 | + "$(SRCDIR)\..\skins\xekri\footer.txt" \ | |
| 562 | + "$(SRCDIR)\..\skins\xekri\header.txt" \ | |
| 563 | + "$(SRCDIR)\accordion.js" \ | |
| 564 | + "$(SRCDIR)\ci_edit.js" \ | |
| 565 | + "$(SRCDIR)\copybtn.js" \ | |
| 566 | + "$(SRCDIR)\default.css" \ | |
| 567 | + "$(SRCDIR)\diff.tcl" \ | |
| 568 | + "$(SRCDIR)\forum.js" \ | |
| 569 | + "$(SRCDIR)\fossil.bootstrap.js" \ | |
| 570 | + "$(SRCDIR)\fossil.confirmer.js" \ | |
| 571 | + "$(SRCDIR)\fossil.dom.js" \ | |
| 572 | + "$(SRCDIR)\fossil.fetch.js" \ | |
| 573 | + "$(SRCDIR)\fossil.page.fileedit.js" \ | |
| 574 | + "$(SRCDIR)\fossil.storage.js" \ | |
| 575 | + "$(SRCDIR)\fossil.tabs.js" \ | |
| 576 | + "$(SRCDIR)\graph.js" \ | |
| 577 | + "$(SRCDIR)\href.js" \ | |
| 578 | + "$(SRCDIR)\login.js" \ | |
| 579 | + "$(SRCDIR)\markdown.md" \ | |
| 580 | + "$(SRCDIR)\menu.js" \ | |
| 581 | + "$(SRCDIR)\sbsdiff.js" \ | |
| 582 | + "$(SRCDIR)\scroll.js" \ | |
| 583 | + "$(SRCDIR)\skin.js" \ | |
| 584 | + "$(SRCDIR)\sorttable.js" \ | |
| 585 | + "$(SRCDIR)\sounds\0.wav" \ | |
| 586 | + "$(SRCDIR)\sounds\1.wav" \ | |
| 587 | + "$(SRCDIR)\sounds\2.wav" \ | |
| 588 | + "$(SRCDIR)\sounds\3.wav" \ | |
| 589 | + "$(SRCDIR)\sounds\4.wav" \ | |
| 590 | + "$(SRCDIR)\sounds\5.wav" \ | |
| 591 | + "$(SRCDIR)\sounds\6.wav" \ | |
| 592 | + "$(SRCDIR)\sounds\7.wav" \ | |
| 593 | + "$(SRCDIR)\sounds\8.wav" \ | |
| 594 | + "$(SRCDIR)\sounds\9.wav" \ | |
| 595 | + "$(SRCDIR)\sounds\a.wav" \ | |
| 596 | + "$(SRCDIR)\sounds\b.wav" \ | |
| 597 | + "$(SRCDIR)\sounds\c.wav" \ | |
| 598 | + "$(SRCDIR)\sounds\d.wav" \ | |
| 599 | + "$(SRCDIR)\sounds\e.wav" \ | |
| 600 | + "$(SRCDIR)\sounds\f.wav" \ | |
| 601 | + "$(SRCDIR)\style.admin_log.css" \ | |
| 602 | + "$(SRCDIR)\style.fileedit.css" \ | |
| 603 | + "$(SRCDIR)\tree.js" \ | |
| 604 | + "$(SRCDIR)\useredit.js" \ | |
| 605 | + "$(SRCDIR)\wiki.wiki" | |
| 606 | + | |
| 607 | +OBJ = "$(OX)\add$O" \ | |
| 608 | + "$(OX)\ajax$O" \ | |
| 609 | + "$(OX)\alerts$O" \ | |
| 610 | + "$(OX)\allrepo$O" \ | |
| 611 | + "$(OX)\attach$O" \ | |
| 612 | + "$(OX)\backlink$O" \ | |
| 613 | + "$(OX)\backoffice$O" \ | |
| 614 | + "$(OX)\bag$O" \ | |
| 615 | + "$(OX)\bisect$O" \ | |
| 616 | + "$(OX)\blob$O" \ | |
| 617 | + "$(OX)\branch$O" \ | |
| 618 | + "$(OX)\browse$O" \ | |
| 619 | + "$(OX)\builtin$O" \ | |
| 620 | + "$(OX)\bundle$O" \ | |
| 621 | + "$(OX)\cache$O" \ | |
| 622 | + "$(OX)\capabilities$O" \ | |
| 623 | + "$(OX)\captcha$O" \ | |
| 624 | + "$(OX)\cgi$O" \ | |
| 625 | + "$(OX)\checkin$O" \ | |
| 626 | + "$(OX)\checkout$O" \ | |
| 627 | + "$(OX)\clearsign$O" \ | |
| 628 | + "$(OX)\clone$O" \ | |
| 629 | + "$(OX)\comformat$O" \ | |
| 630 | + "$(OX)\configure$O" \ | |
| 631 | + "$(OX)\content$O" \ | |
| 632 | + "$(OX)\cookies$O" \ | |
| 633 | + "$(OX)\cson_amalgamation$O" \ | |
| 634 | + "$(OX)\db$O" \ | |
| 635 | + "$(OX)\delta$O" \ | |
| 636 | + "$(OX)\deltacmd$O" \ | |
| 637 | + "$(OX)\deltafunc$O" \ | |
| 638 | + "$(OX)\descendants$O" \ | |
| 639 | + "$(OX)\diff$O" \ | |
| 640 | + "$(OX)\diffcmd$O" \ | |
| 641 | + "$(OX)\dispatch$O" \ | |
| 642 | + "$(OX)\doc$O" \ | |
| 643 | + "$(OX)\encode$O" \ | |
| 644 | + "$(OX)\etag$O" \ | |
| 645 | + "$(OX)\event$O" \ | |
| 646 | + "$(OX)\export$O" \ | |
| 647 | + "$(OX)\extcgi$O" \ | |
| 648 | + "$(OX)\file$O" \ | |
| 649 | + "$(OX)\fileedit$O" \ | |
| 650 | + "$(OX)\finfo$O" \ | |
| 651 | + "$(OX)\foci$O" \ | |
| 652 | + "$(OX)\forum$O" \ | |
| 653 | + "$(OX)\fshell$O" \ | |
| 654 | + "$(OX)\fusefs$O" \ | |
| 655 | + "$(OX)\fuzz$O" \ | |
| 656 | + "$(OX)\glob$O" \ | |
| 657 | + "$(OX)\graph$O" \ | |
| 658 | + "$(OX)\gzip$O" \ | |
| 659 | + "$(OX)\hname$O" \ | |
| 660 | + "$(OX)\http$O" \ | |
| 661 | + "$(OX)\http_socket$O" \ | |
| 662 | + "$(OX)\http_ssl$O" \ | |
| 663 | + "$(OX)\http_transport$O" \ | |
| 664 | + "$(OX)\import$O" \ | |
| 665 | + "$(OX)\info$O" \ | |
| 666 | + "$(OX)\json$O" \ | |
| 667 | + "$(OX)\json_artifact$O" \ | |
| 668 | + "$(OX)\json_branch$O" \ | |
| 669 | + "$(OX)\json_config$O" \ | |
| 670 | + "$(OX)\json_diff$O" \ | |
| 671 | + "$(OX)\json_dir$O" \ | |
| 672 | + "$(OX)\json_finfo$O" \ | |
| 673 | + "$(OX)\json_login$O" \ | |
| 674 | + "$(OX)\json_query$O" \ | |
| 675 | + "$(OX)\json_report$O" \ | |
| 676 | + "$(OX)\json_status$O" \ | |
| 677 | + "$(OX)\json_tag$O" \ | |
| 678 | + "$(OX)\json_timeline$O" \ | |
| 679 | + "$(OX)\json_user$O" \ | |
| 680 | + "$(OX)\json_wiki$O" \ | |
| 681 | + "$(OX)\leaf$O" \ | |
| 682 | + "$(OX)\loadctrl$O" \ | |
| 683 | + "$(OX)\login$O" \ | |
| 684 | + "$(OX)\lookslike$O" \ | |
| 685 | + "$(OX)\main$O" \ | |
| 686 | + "$(OX)\manifest$O" \ | |
| 687 | + "$(OX)\markdown$O" \ | |
| 688 | + "$(OX)\markdown_html$O" \ | |
| 689 | + "$(OX)\md5$O" \ | |
| 690 | + "$(OX)\merge$O" \ | |
| 691 | + "$(OX)\merge3$O" \ | |
| 692 | + "$(OX)\moderate$O" \ | |
| 693 | + "$(OX)\name$O" \ | |
| 694 | + "$(OX)\path$O" \ | |
| 695 | + "$(OX)\piechart$O" \ | |
| 696 | + "$(OX)\pivot$O" \ | |
| 697 | + "$(OX)\popen$O" \ | |
| 698 | + "$(OX)\pqueue$O" \ | |
| 699 | + "$(OX)\printf$O" \ | |
| 700 | + "$(OX)\publish$O" \ | |
| 701 | + "$(OX)\purge$O" \ | |
| 702 | + "$(OX)\rebuild$O" \ | |
| 703 | + "$(OX)\regexp$O" \ | |
| 704 | + "$(OX)\repolist$O" \ | |
| 705 | + "$(OX)\report$O" \ | |
| 706 | + "$(OX)\rss$O" \ | |
| 707 | + "$(OX)\schema$O" \ | |
| 708 | + "$(OX)\search$O" \ | |
| 709 | + "$(OX)\security_audit$O" \ | |
| 710 | + "$(OX)\setup$O" \ | |
| 711 | + "$(OX)\setupuser$O" \ | |
| 712 | + "$(OX)\sha1$O" \ | |
| 713 | + "$(OX)\sha1hard$O" \ | |
| 714 | + "$(OX)\sha3$O" \ | |
| 715 | + "$(OX)\shell$O" \ | |
| 716 | + "$(OX)\shun$O" \ | |
| 717 | + "$(OX)\sitemap$O" \ | |
| 718 | + "$(OX)\skins$O" \ | |
| 719 | + "$(OX)\smtp$O" \ | |
| 720 | + "$(OX)\sqlcmd$O" \ | |
| 721 | + "$(OX)\sqlite3$O" \ | |
| 722 | + "$(OX)\stash$O" \ | |
| 723 | + "$(OX)\stat$O" \ | |
| 724 | + "$(OX)\statrep$O" \ | |
| 725 | + "$(OX)\style$O" \ | |
| 726 | + "$(OX)\sync$O" \ | |
| 727 | + "$(OX)\tag$O" \ | |
| 728 | + "$(OX)\tar$O" \ | |
| 729 | + "$(OX)\terminal$O" \ | |
| 730 | + "$(OX)\th$O" \ | |
| 731 | + "$(OX)\th_lang$O" \ | |
| 732 | + "$(OX)\th_main$O" \ | |
| 733 | + "$(OX)\th_tcl$O" \ | |
| 734 | + "$(OX)\timeline$O" \ | |
| 735 | + "$(OX)\tkt$O" \ | |
| 736 | + "$(OX)\tktsetup$O" \ | |
| 737 | + "$(OX)\undo$O" \ | |
| 738 | + "$(OX)\unicode$O" \ | |
| 739 | + "$(OX)\unversioned$O" \ | |
| 740 | + "$(OX)\update$O" \ | |
| 741 | + "$(OX)\url$O" \ | |
| 742 | + "$(OX)\user$O" \ | |
| 743 | + "$(OX)\utf8$O" \ | |
| 744 | + "$(OX)\util$O" \ | |
| 745 | + "$(OX)\verify$O" \ | |
| 746 | + "$(OX)\vfile$O" \ | |
| 747 | + "$(OX)\webmail$O" \ | |
| 748 | + "$(OX)\wiki$O" \ | |
| 749 | + "$(OX)\wikiformat$O" \ | |
| 750 | + "$(OX)\winfile$O" \ | |
| 751 | + "$(OX)\winhttp$O" \ | |
| 752 | + "$(OX)\wysiwyg$O" \ | |
| 753 | + "$(OX)\xfer$O" \ | |
| 754 | + "$(OX)\xfersetup$O" \ | |
| 755 | + "$(OX)\zip$O" \ | |
| 740 | 756 | !if $(FOSSIL_ENABLE_MINIZ)!=0 |
| 741 | - $(OX)\miniz$O \ | |
| 757 | + "$(OX)\miniz$O" \ | |
| 742 | 758 | !endif |
| 743 | - $(OX)\fossil.res | |
| 759 | + "$(OX)\fossil.res" | |
| 744 | 760 | |
| 745 | 761 | |
| 746 | 762 | !ifndef BASEAPPNAME |
| 747 | 763 | BASEAPPNAME = fossil |
| 748 | 764 | !endif |
| @@ -749,32 +765,52 @@ | ||
| 749 | 765 | |
| 750 | 766 | APPNAME = $(OX)\$(BASEAPPNAME)$(E) |
| 751 | 767 | PDBNAME = $(OX)\$(BASEAPPNAME)$(P) |
| 752 | 768 | APPTARGETS = |
| 753 | 769 | |
| 754 | -all: $(OX) $(APPNAME) | |
| 770 | +all: "$(OX)" "$(APPNAME)" | |
| 771 | + | |
| 772 | +$(BASEAPPNAME): "$(APPNAME)" | |
| 773 | + | |
| 774 | +$(BASEAPPNAME)$(E): "$(APPNAME)" | |
| 775 | + | |
| 776 | +install: "$(APPNAME)" | |
| 777 | + echo F | xcopy /Y "$(APPNAME)" "$(INSTALLDIR)"\* | |
| 778 | +!if $(DEBUG)!=0 | |
| 779 | + echo F | xcopy /Y "$(PDBNAME)" "$(INSTALLDIR)"\* | |
| 780 | +!endif | |
| 781 | + | |
| 782 | +$(OX): | |
| 783 | + @-mkdir $@ | |
| 755 | 784 | |
| 756 | 785 | zlib: |
| 757 | 786 | @echo Building zlib from "$(ZLIBDIR)"... |
| 758 | 787 | !if $(FOSSIL_ENABLE_WINXP)!=0 |
| 759 | 788 | @pushd "$(ZLIBDIR)" && $(MAKE) /f win32\Makefile.msc $(ZLIB) "CC=cl $(XPCFLAGS)" "LD=link $(XPLDFLAGS)" && popd |
| 760 | 789 | !else |
| 761 | 790 | @pushd "$(ZLIBDIR)" && $(MAKE) /f win32\Makefile.msc $(ZLIB) && popd |
| 762 | 791 | !endif |
| 763 | 792 | |
| 793 | +clean-zlib: | |
| 794 | + @pushd "$(ZLIBDIR)" && $(MAKE) /f win32\Makefile.msc clean && popd | |
| 795 | + | |
| 764 | 796 | !if $(FOSSIL_ENABLE_SSL)!=0 |
| 765 | 797 | openssl: |
| 766 | 798 | @echo Building OpenSSL from "$(SSLDIR)"... |
| 767 | -!if "$(PERLDIR)" != "" | |
| 768 | - @set PATH=$(PERLDIR);$(PATH) | |
| 799 | +!ifdef PERLDIR | |
| 800 | + @pushd "$(SSLDIR)" && "$(PERLDIR)\$(PERL)" Configure $(SSLCONFIG) && popd | |
| 801 | +!else | |
| 802 | + @pushd "$(SSLDIR)" && "$(PERL)" Configure $(SSLCONFIG) && popd | |
| 769 | 803 | !endif |
| 770 | - @pushd "$(SSLDIR)" && $(PERL) Configure $(SSLCONFIG) && popd | |
| 771 | 804 | !if $(FOSSIL_ENABLE_WINXP)!=0 |
| 772 | 805 | @pushd "$(SSLDIR)" && $(MAKE) "CC=cl $(XPCFLAGS)" "LFLAGS=$(XPLDFLAGS)" && popd |
| 773 | 806 | !else |
| 774 | 807 | @pushd "$(SSLDIR)" && $(MAKE) && popd |
| 775 | 808 | !endif |
| 809 | + | |
| 810 | +clean-openssl: | |
| 811 | + @pushd "$(SSLDIR)" && $(MAKE) clean && popd | |
| 776 | 812 | !endif |
| 777 | 813 | |
| 778 | 814 | !if $(FOSSIL_ENABLE_MINIZ)==0 |
| 779 | 815 | !if $(FOSSIL_BUILD_ZLIB)!=0 |
| 780 | 816 | APPTARGETS = $(APPTARGETS) zlib |
| @@ -785,191 +821,188 @@ | ||
| 785 | 821 | !if $(FOSSIL_BUILD_SSL)!=0 |
| 786 | 822 | APPTARGETS = $(APPTARGETS) openssl |
| 787 | 823 | !endif |
| 788 | 824 | !endif |
| 789 | 825 | |
| 790 | -$(APPNAME) : $(APPTARGETS) translate$E mkindex$E codecheck1$E headers $(OBJ) $(OX)\linkopts | |
| 791 | - cd $(OX) | |
| 792 | - codecheck1$E $(SRC) | |
| 793 | - link $(LDFLAGS) /OUT:$@ $(LIBDIR) Wsetargv.obj fossil.res @linkopts | |
| 794 | - if exist [email protected] \ | |
| 795 | - $(MTC) -nologo -manifest [email protected] -outputresource:$@;1 | |
| 796 | - | |
| 797 | -$(OX)\linkopts: $B\win\Makefile.msc | |
| 798 | - echo $(OX)\add.obj > $@ | |
| 799 | - echo $(OX)\alerts.obj >> $@ | |
| 800 | - echo $(OX)\allrepo.obj >> $@ | |
| 801 | - echo $(OX)\attach.obj >> $@ | |
| 802 | - echo $(OX)\backlink.obj >> $@ | |
| 803 | - echo $(OX)\backoffice.obj >> $@ | |
| 804 | - echo $(OX)\bag.obj >> $@ | |
| 805 | - echo $(OX)\bisect.obj >> $@ | |
| 806 | - echo $(OX)\blob.obj >> $@ | |
| 807 | - echo $(OX)\branch.obj >> $@ | |
| 808 | - echo $(OX)\browse.obj >> $@ | |
| 809 | - echo $(OX)\builtin.obj >> $@ | |
| 810 | - echo $(OX)\bundle.obj >> $@ | |
| 811 | - echo $(OX)\cache.obj >> $@ | |
| 812 | - echo $(OX)\capabilities.obj >> $@ | |
| 813 | - echo $(OX)\captcha.obj >> $@ | |
| 814 | - echo $(OX)\cgi.obj >> $@ | |
| 815 | - echo $(OX)\checkin.obj >> $@ | |
| 816 | - echo $(OX)\checkout.obj >> $@ | |
| 817 | - echo $(OX)\clearsign.obj >> $@ | |
| 818 | - echo $(OX)\clone.obj >> $@ | |
| 819 | - echo $(OX)\comformat.obj >> $@ | |
| 820 | - echo $(OX)\configure.obj >> $@ | |
| 821 | - echo $(OX)\content.obj >> $@ | |
| 822 | - echo $(OX)\cookies.obj >> $@ | |
| 823 | - echo $(OX)\cson_amalgamation.obj >> $@ | |
| 824 | - echo $(OX)\db.obj >> $@ | |
| 825 | - echo $(OX)\delta.obj >> $@ | |
| 826 | - echo $(OX)\deltacmd.obj >> $@ | |
| 827 | - echo $(OX)\deltafunc.obj >> $@ | |
| 828 | - echo $(OX)\descendants.obj >> $@ | |
| 829 | - echo $(OX)\diff.obj >> $@ | |
| 830 | - echo $(OX)\diffcmd.obj >> $@ | |
| 831 | - echo $(OX)\dispatch.obj >> $@ | |
| 832 | - echo $(OX)\doc.obj >> $@ | |
| 833 | - echo $(OX)\encode.obj >> $@ | |
| 834 | - echo $(OX)\etag.obj >> $@ | |
| 835 | - echo $(OX)\event.obj >> $@ | |
| 836 | - echo $(OX)\export.obj >> $@ | |
| 837 | - echo $(OX)\extcgi.obj >> $@ | |
| 838 | - echo $(OX)\file.obj >> $@ | |
| 839 | - echo $(OX)\fileedit.obj >> $@ | |
| 840 | - echo $(OX)\finfo.obj >> $@ | |
| 841 | - echo $(OX)\foci.obj >> $@ | |
| 842 | - echo $(OX)\forum.obj >> $@ | |
| 843 | - echo $(OX)\fshell.obj >> $@ | |
| 844 | - echo $(OX)\fusefs.obj >> $@ | |
| 845 | - echo $(OX)\fuzz.obj >> $@ | |
| 846 | - echo $(OX)\glob.obj >> $@ | |
| 847 | - echo $(OX)\graph.obj >> $@ | |
| 848 | - echo $(OX)\gzip.obj >> $@ | |
| 849 | - echo $(OX)\hname.obj >> $@ | |
| 850 | - echo $(OX)\http.obj >> $@ | |
| 851 | - echo $(OX)\http_socket.obj >> $@ | |
| 852 | - echo $(OX)\http_ssl.obj >> $@ | |
| 853 | - echo $(OX)\http_transport.obj >> $@ | |
| 854 | - echo $(OX)\import.obj >> $@ | |
| 855 | - echo $(OX)\info.obj >> $@ | |
| 856 | - echo $(OX)\json.obj >> $@ | |
| 857 | - echo $(OX)\json_artifact.obj >> $@ | |
| 858 | - echo $(OX)\json_branch.obj >> $@ | |
| 859 | - echo $(OX)\json_config.obj >> $@ | |
| 860 | - echo $(OX)\json_diff.obj >> $@ | |
| 861 | - echo $(OX)\json_dir.obj >> $@ | |
| 862 | - echo $(OX)\json_finfo.obj >> $@ | |
| 863 | - echo $(OX)\json_login.obj >> $@ | |
| 864 | - echo $(OX)\json_query.obj >> $@ | |
| 865 | - echo $(OX)\json_report.obj >> $@ | |
| 866 | - echo $(OX)\json_status.obj >> $@ | |
| 867 | - echo $(OX)\json_tag.obj >> $@ | |
| 868 | - echo $(OX)\json_timeline.obj >> $@ | |
| 869 | - echo $(OX)\json_user.obj >> $@ | |
| 870 | - echo $(OX)\json_wiki.obj >> $@ | |
| 871 | - echo $(OX)\leaf.obj >> $@ | |
| 872 | - echo $(OX)\loadctrl.obj >> $@ | |
| 873 | - echo $(OX)\login.obj >> $@ | |
| 874 | - echo $(OX)\lookslike.obj >> $@ | |
| 875 | - echo $(OX)\main.obj >> $@ | |
| 876 | - echo $(OX)\manifest.obj >> $@ | |
| 877 | - echo $(OX)\markdown.obj >> $@ | |
| 878 | - echo $(OX)\markdown_html.obj >> $@ | |
| 879 | - echo $(OX)\md5.obj >> $@ | |
| 880 | - echo $(OX)\merge.obj >> $@ | |
| 881 | - echo $(OX)\merge3.obj >> $@ | |
| 882 | - echo $(OX)\moderate.obj >> $@ | |
| 883 | - echo $(OX)\name.obj >> $@ | |
| 884 | - echo $(OX)\path.obj >> $@ | |
| 885 | - echo $(OX)\piechart.obj >> $@ | |
| 886 | - echo $(OX)\pivot.obj >> $@ | |
| 887 | - echo $(OX)\popen.obj >> $@ | |
| 888 | - echo $(OX)\pqueue.obj >> $@ | |
| 889 | - echo $(OX)\printf.obj >> $@ | |
| 890 | - echo $(OX)\publish.obj >> $@ | |
| 891 | - echo $(OX)\purge.obj >> $@ | |
| 892 | - echo $(OX)\rebuild.obj >> $@ | |
| 893 | - echo $(OX)\regexp.obj >> $@ | |
| 894 | - echo $(OX)\repolist.obj >> $@ | |
| 895 | - echo $(OX)\report.obj >> $@ | |
| 896 | - echo $(OX)\rss.obj >> $@ | |
| 897 | - echo $(OX)\schema.obj >> $@ | |
| 898 | - echo $(OX)\search.obj >> $@ | |
| 899 | - echo $(OX)\security_audit.obj >> $@ | |
| 900 | - echo $(OX)\setup.obj >> $@ | |
| 901 | - echo $(OX)\setupuser.obj >> $@ | |
| 902 | - echo $(OX)\sha1.obj >> $@ | |
| 903 | - echo $(OX)\sha1hard.obj >> $@ | |
| 904 | - echo $(OX)\sha3.obj >> $@ | |
| 905 | - echo $(OX)\shell.obj >> $@ | |
| 906 | - echo $(OX)\shun.obj >> $@ | |
| 907 | - echo $(OX)\sitemap.obj >> $@ | |
| 908 | - echo $(OX)\skins.obj >> $@ | |
| 909 | - echo $(OX)\smtp.obj >> $@ | |
| 910 | - echo $(OX)\sqlcmd.obj >> $@ | |
| 911 | - echo $(OX)\sqlite3.obj >> $@ | |
| 912 | - echo $(OX)\stash.obj >> $@ | |
| 913 | - echo $(OX)\stat.obj >> $@ | |
| 914 | - echo $(OX)\statrep.obj >> $@ | |
| 915 | - echo $(OX)\style.obj >> $@ | |
| 916 | - echo $(OX)\sync.obj >> $@ | |
| 917 | - echo $(OX)\tag.obj >> $@ | |
| 918 | - echo $(OX)\tar.obj >> $@ | |
| 919 | - echo $(OX)\terminal.obj >> $@ | |
| 920 | - echo $(OX)\th.obj >> $@ | |
| 921 | - echo $(OX)\th_lang.obj >> $@ | |
| 922 | - echo $(OX)\th_main.obj >> $@ | |
| 923 | - echo $(OX)\th_tcl.obj >> $@ | |
| 924 | - echo $(OX)\timeline.obj >> $@ | |
| 925 | - echo $(OX)\tkt.obj >> $@ | |
| 926 | - echo $(OX)\tktsetup.obj >> $@ | |
| 927 | - echo $(OX)\undo.obj >> $@ | |
| 928 | - echo $(OX)\unicode.obj >> $@ | |
| 929 | - echo $(OX)\unversioned.obj >> $@ | |
| 930 | - echo $(OX)\update.obj >> $@ | |
| 931 | - echo $(OX)\url.obj >> $@ | |
| 932 | - echo $(OX)\user.obj >> $@ | |
| 933 | - echo $(OX)\utf8.obj >> $@ | |
| 934 | - echo $(OX)\util.obj >> $@ | |
| 935 | - echo $(OX)\verify.obj >> $@ | |
| 936 | - echo $(OX)\vfile.obj >> $@ | |
| 937 | - echo $(OX)\webmail.obj >> $@ | |
| 938 | - echo $(OX)\wiki.obj >> $@ | |
| 939 | - echo $(OX)\wikiformat.obj >> $@ | |
| 940 | - echo $(OX)\winfile.obj >> $@ | |
| 941 | - echo $(OX)\winhttp.obj >> $@ | |
| 942 | - echo $(OX)\wysiwyg.obj >> $@ | |
| 943 | - echo $(OX)\xfer.obj >> $@ | |
| 944 | - echo $(OX)\xfersetup.obj >> $@ | |
| 945 | - echo $(OX)\zip.obj >> $@ | |
| 826 | +"$(APPNAME)" : $(APPTARGETS) "$(OBJDIR)\translate$E" "$(OBJDIR)\mkindex$E" "$(OBJDIR)\codecheck1$E" "$(OX)\headers" $(OBJ) "$(OX)\linkopts" | |
| 827 | + "$(OBJDIR)\codecheck1$E" $(SRC) | |
| 828 | + link $(LDFLAGS) /OUT:$@ /PDB:$(@D)\ $(LIBDIR) Wsetargv.obj "$(OX)\fossil.res" @"$(OX)\linkopts" | |
| 829 | + if exist "$(B)\win\fossil.exe.manifest" \ | |
| 830 | + $(MTC) -nologo -manifest "$(B)\win\fossil.exe.manifest" -outputresource:$@;1 | |
| 831 | + | |
| 832 | +"$(OX)\linkopts": "$(B)\win\Makefile.msc" | |
| 833 | + echo "$(OX)\add.obj" > $@ | |
| 834 | + echo "$(OX)\ajax.obj" >> $@ | |
| 835 | + echo "$(OX)\alerts.obj" >> $@ | |
| 836 | + echo "$(OX)\allrepo.obj" >> $@ | |
| 837 | + echo "$(OX)\attach.obj" >> $@ | |
| 838 | + echo "$(OX)\backlink.obj" >> $@ | |
| 839 | + echo "$(OX)\backoffice.obj" >> $@ | |
| 840 | + echo "$(OX)\bag.obj" >> $@ | |
| 841 | + echo "$(OX)\bisect.obj" >> $@ | |
| 842 | + echo "$(OX)\blob.obj" >> $@ | |
| 843 | + echo "$(OX)\branch.obj" >> $@ | |
| 844 | + echo "$(OX)\browse.obj" >> $@ | |
| 845 | + echo "$(OX)\builtin.obj" >> $@ | |
| 846 | + echo "$(OX)\bundle.obj" >> $@ | |
| 847 | + echo "$(OX)\cache.obj" >> $@ | |
| 848 | + echo "$(OX)\capabilities.obj" >> $@ | |
| 849 | + echo "$(OX)\captcha.obj" >> $@ | |
| 850 | + echo "$(OX)\cgi.obj" >> $@ | |
| 851 | + echo "$(OX)\checkin.obj" >> $@ | |
| 852 | + echo "$(OX)\checkout.obj" >> $@ | |
| 853 | + echo "$(OX)\clearsign.obj" >> $@ | |
| 854 | + echo "$(OX)\clone.obj" >> $@ | |
| 855 | + echo "$(OX)\comformat.obj" >> $@ | |
| 856 | + echo "$(OX)\configure.obj" >> $@ | |
| 857 | + echo "$(OX)\content.obj" >> $@ | |
| 858 | + echo "$(OX)\cookies.obj" >> $@ | |
| 859 | + echo "$(OX)\cson_amalgamation.obj" >> $@ | |
| 860 | + echo "$(OX)\db.obj" >> $@ | |
| 861 | + echo "$(OX)\delta.obj" >> $@ | |
| 862 | + echo "$(OX)\deltacmd.obj" >> $@ | |
| 863 | + echo "$(OX)\deltafunc.obj" >> $@ | |
| 864 | + echo "$(OX)\descendants.obj" >> $@ | |
| 865 | + echo "$(OX)\diff.obj" >> $@ | |
| 866 | + echo "$(OX)\diffcmd.obj" >> $@ | |
| 867 | + echo "$(OX)\dispatch.obj" >> $@ | |
| 868 | + echo "$(OX)\doc.obj" >> $@ | |
| 869 | + echo "$(OX)\encode.obj" >> $@ | |
| 870 | + echo "$(OX)\etag.obj" >> $@ | |
| 871 | + echo "$(OX)\event.obj" >> $@ | |
| 872 | + echo "$(OX)\export.obj" >> $@ | |
| 873 | + echo "$(OX)\extcgi.obj" >> $@ | |
| 874 | + echo "$(OX)\file.obj" >> $@ | |
| 875 | + echo "$(OX)\fileedit.obj" >> $@ | |
| 876 | + echo "$(OX)\finfo.obj" >> $@ | |
| 877 | + echo "$(OX)\foci.obj" >> $@ | |
| 878 | + echo "$(OX)\forum.obj" >> $@ | |
| 879 | + echo "$(OX)\fshell.obj" >> $@ | |
| 880 | + echo "$(OX)\fusefs.obj" >> $@ | |
| 881 | + echo "$(OX)\fuzz.obj" >> $@ | |
| 882 | + echo "$(OX)\glob.obj" >> $@ | |
| 883 | + echo "$(OX)\graph.obj" >> $@ | |
| 884 | + echo "$(OX)\gzip.obj" >> $@ | |
| 885 | + echo "$(OX)\hname.obj" >> $@ | |
| 886 | + echo "$(OX)\http.obj" >> $@ | |
| 887 | + echo "$(OX)\http_socket.obj" >> $@ | |
| 888 | + echo "$(OX)\http_ssl.obj" >> $@ | |
| 889 | + echo "$(OX)\http_transport.obj" >> $@ | |
| 890 | + echo "$(OX)\import.obj" >> $@ | |
| 891 | + echo "$(OX)\info.obj" >> $@ | |
| 892 | + echo "$(OX)\json.obj" >> $@ | |
| 893 | + echo "$(OX)\json_artifact.obj" >> $@ | |
| 894 | + echo "$(OX)\json_branch.obj" >> $@ | |
| 895 | + echo "$(OX)\json_config.obj" >> $@ | |
| 896 | + echo "$(OX)\json_diff.obj" >> $@ | |
| 897 | + echo "$(OX)\json_dir.obj" >> $@ | |
| 898 | + echo "$(OX)\json_finfo.obj" >> $@ | |
| 899 | + echo "$(OX)\json_login.obj" >> $@ | |
| 900 | + echo "$(OX)\json_query.obj" >> $@ | |
| 901 | + echo "$(OX)\json_report.obj" >> $@ | |
| 902 | + echo "$(OX)\json_status.obj" >> $@ | |
| 903 | + echo "$(OX)\json_tag.obj" >> $@ | |
| 904 | + echo "$(OX)\json_timeline.obj" >> $@ | |
| 905 | + echo "$(OX)\json_user.obj" >> $@ | |
| 906 | + echo "$(OX)\json_wiki.obj" >> $@ | |
| 907 | + echo "$(OX)\leaf.obj" >> $@ | |
| 908 | + echo "$(OX)\loadctrl.obj" >> $@ | |
| 909 | + echo "$(OX)\login.obj" >> $@ | |
| 910 | + echo "$(OX)\lookslike.obj" >> $@ | |
| 911 | + echo "$(OX)\main.obj" >> $@ | |
| 912 | + echo "$(OX)\manifest.obj" >> $@ | |
| 913 | + echo "$(OX)\markdown.obj" >> $@ | |
| 914 | + echo "$(OX)\markdown_html.obj" >> $@ | |
| 915 | + echo "$(OX)\md5.obj" >> $@ | |
| 916 | + echo "$(OX)\merge.obj" >> $@ | |
| 917 | + echo "$(OX)\merge3.obj" >> $@ | |
| 918 | + echo "$(OX)\moderate.obj" >> $@ | |
| 919 | + echo "$(OX)\name.obj" >> $@ | |
| 920 | + echo "$(OX)\path.obj" >> $@ | |
| 921 | + echo "$(OX)\piechart.obj" >> $@ | |
| 922 | + echo "$(OX)\pivot.obj" >> $@ | |
| 923 | + echo "$(OX)\popen.obj" >> $@ | |
| 924 | + echo "$(OX)\pqueue.obj" >> $@ | |
| 925 | + echo "$(OX)\printf.obj" >> $@ | |
| 926 | + echo "$(OX)\publish.obj" >> $@ | |
| 927 | + echo "$(OX)\purge.obj" >> $@ | |
| 928 | + echo "$(OX)\rebuild.obj" >> $@ | |
| 929 | + echo "$(OX)\regexp.obj" >> $@ | |
| 930 | + echo "$(OX)\repolist.obj" >> $@ | |
| 931 | + echo "$(OX)\report.obj" >> $@ | |
| 932 | + echo "$(OX)\rss.obj" >> $@ | |
| 933 | + echo "$(OX)\schema.obj" >> $@ | |
| 934 | + echo "$(OX)\search.obj" >> $@ | |
| 935 | + echo "$(OX)\security_audit.obj" >> $@ | |
| 936 | + echo "$(OX)\setup.obj" >> $@ | |
| 937 | + echo "$(OX)\setupuser.obj" >> $@ | |
| 938 | + echo "$(OX)\sha1.obj" >> $@ | |
| 939 | + echo "$(OX)\sha1hard.obj" >> $@ | |
| 940 | + echo "$(OX)\sha3.obj" >> $@ | |
| 941 | + echo "$(OX)\shell.obj" >> $@ | |
| 942 | + echo "$(OX)\shun.obj" >> $@ | |
| 943 | + echo "$(OX)\sitemap.obj" >> $@ | |
| 944 | + echo "$(OX)\skins.obj" >> $@ | |
| 945 | + echo "$(OX)\smtp.obj" >> $@ | |
| 946 | + echo "$(OX)\sqlcmd.obj" >> $@ | |
| 947 | + echo "$(OX)\sqlite3.obj" >> $@ | |
| 948 | + echo "$(OX)\stash.obj" >> $@ | |
| 949 | + echo "$(OX)\stat.obj" >> $@ | |
| 950 | + echo "$(OX)\statrep.obj" >> $@ | |
| 951 | + echo "$(OX)\style.obj" >> $@ | |
| 952 | + echo "$(OX)\sync.obj" >> $@ | |
| 953 | + echo "$(OX)\tag.obj" >> $@ | |
| 954 | + echo "$(OX)\tar.obj" >> $@ | |
| 955 | + echo "$(OX)\terminal.obj" >> $@ | |
| 956 | + echo "$(OX)\th.obj" >> $@ | |
| 957 | + echo "$(OX)\th_lang.obj" >> $@ | |
| 958 | + echo "$(OX)\th_main.obj" >> $@ | |
| 959 | + echo "$(OX)\th_tcl.obj" >> $@ | |
| 960 | + echo "$(OX)\timeline.obj" >> $@ | |
| 961 | + echo "$(OX)\tkt.obj" >> $@ | |
| 962 | + echo "$(OX)\tktsetup.obj" >> $@ | |
| 963 | + echo "$(OX)\undo.obj" >> $@ | |
| 964 | + echo "$(OX)\unicode.obj" >> $@ | |
| 965 | + echo "$(OX)\unversioned.obj" >> $@ | |
| 966 | + echo "$(OX)\update.obj" >> $@ | |
| 967 | + echo "$(OX)\url.obj" >> $@ | |
| 968 | + echo "$(OX)\user.obj" >> $@ | |
| 969 | + echo "$(OX)\utf8.obj" >> $@ | |
| 970 | + echo "$(OX)\util.obj" >> $@ | |
| 971 | + echo "$(OX)\verify.obj" >> $@ | |
| 972 | + echo "$(OX)\vfile.obj" >> $@ | |
| 973 | + echo "$(OX)\webmail.obj" >> $@ | |
| 974 | + echo "$(OX)\wiki.obj" >> $@ | |
| 975 | + echo "$(OX)\wikiformat.obj" >> $@ | |
| 976 | + echo "$(OX)\winfile.obj" >> $@ | |
| 977 | + echo "$(OX)\winhttp.obj" >> $@ | |
| 978 | + echo "$(OX)\wysiwyg.obj" >> $@ | |
| 979 | + echo "$(OX)\xfer.obj" >> $@ | |
| 980 | + echo "$(OX)\xfersetup.obj" >> $@ | |
| 981 | + echo "$(OX)\zip.obj" >> $@ | |
| 946 | 982 | !if $(FOSSIL_ENABLE_MINIZ)!=0 |
| 947 | - echo $(OX)\miniz.obj >> $@ | |
| 983 | + echo "$(OX)\miniz.obj" >> $@ | |
| 948 | 984 | !endif |
| 949 | 985 | echo $(LIBS) >> $@ |
| 950 | 986 | |
| 951 | -$(OX): | |
| 952 | - @-mkdir $@ | |
| 953 | - | |
| 954 | -translate$E: $(SRCDIR)\translate.c | |
| 955 | - $(BCC) $** | |
| 956 | - | |
| 957 | -makeheaders$E: $(SRCDIR)\makeheaders.c | |
| 958 | - $(BCC) $** | |
| 959 | - | |
| 960 | -mkindex$E: $(SRCDIR)\mkindex.c | |
| 961 | - $(BCC) $** | |
| 962 | - | |
| 963 | -mkbuiltin$E: $(SRCDIR)\mkbuiltin.c | |
| 964 | - $(BCC) $** | |
| 965 | - | |
| 966 | -mkversion$E: $(SRCDIR)\mkversion.c | |
| 967 | - $(BCC) $** | |
| 968 | - | |
| 969 | -codecheck1$E: $(SRCDIR)\codecheck1.c | |
| 970 | - $(BCC) $** | |
| 987 | +"$(OBJDIR)\translate$E": "$(SRCDIR)\translate.c" | |
| 988 | + $(BCC) /Fe$@ /Fo$(@D)\ /Fd$(@D)\ $** | |
| 989 | + | |
| 990 | +"$(OBJDIR)\makeheaders$E": "$(SRCDIR)\makeheaders.c" | |
| 991 | + $(BCC) /Fe$@ /Fo$(@D)\ /Fd$(@D)\ $** | |
| 992 | + | |
| 993 | +"$(OBJDIR)\mkindex$E": "$(SRCDIR)\mkindex.c" | |
| 994 | + $(BCC) /Fe$@ /Fo$(@D)\ /Fd$(@D)\ $** | |
| 995 | + | |
| 996 | +"$(OBJDIR)\mkbuiltin$E": "$(SRCDIR)\mkbuiltin.c" | |
| 997 | + $(BCC) /Fe$@ /Fo$(@D)\ /Fd$(@D)\ $** | |
| 998 | + | |
| 999 | +"$(OBJDIR)\mkversion$E": "$(SRCDIR)\mkversion.c" | |
| 1000 | + $(BCC) /Fe$@ /Fo$(@D)\ /Fd$(@D)\ $** | |
| 1001 | + | |
| 1002 | +"$(OBJDIR)\codecheck1$E": "$(SRCDIR)\codecheck1.c" | |
| 1003 | + $(BCC) /Fe$@ /Fo$(@D)\ /Fd$(@D)\ $** | |
| 971 | 1004 | |
| 972 | 1005 | !if $(USE_SEE)!=0 |
| 973 | 1006 | SEE_FLAGS = /DSQLITE_HAS_CODEC=1 /DSQLITE_SHELL_DBKEY_PROC=fossil_key |
| 974 | 1007 | SQLITE3_SHELL_SRC = $(SRCDIR)\shell-see.c |
| 975 | 1008 | SQLITE3_SRC = $(SRCDIR)\sqlite3-see.c |
| @@ -977,1082 +1010,1195 @@ | ||
| 977 | 1010 | SEE_FLAGS = |
| 978 | 1011 | SQLITE3_SHELL_SRC = $(SRCDIR)\shell.c |
| 979 | 1012 | SQLITE3_SRC = $(SRCDIR)\sqlite3.c |
| 980 | 1013 | !endif |
| 981 | 1014 | |
| 982 | -$(OX)\shell$O : $(SQLITE3_SHELL_SRC) $B\win\Makefile.msc | |
| 983 | - $(TCC) /Fo$@ $(SHELL_OPTIONS) $(SQLITE_OPTIONS) $(SHELL_CFLAGS) $(SEE_FLAGS) -c $(SQLITE3_SHELL_SRC) | |
| 984 | - | |
| 985 | -$(OX)\sqlite3$O : $(SQLITE3_SRC) $B\win\Makefile.msc | |
| 986 | - $(TCC) /Fo$@ -c $(SQLITE_OPTIONS) $(SQLITE_CFLAGS) $(SEE_FLAGS) $(SQLITE3_SRC) | |
| 987 | - | |
| 988 | -$(OX)\th$O : $(SRCDIR)\th.c | |
| 989 | - $(TCC) /Fo$@ -c $** | |
| 990 | - | |
| 991 | -$(OX)\th_lang$O : $(SRCDIR)\th_lang.c | |
| 992 | - $(TCC) /Fo$@ -c $** | |
| 993 | - | |
| 994 | -$(OX)\th_tcl$O : $(SRCDIR)\th_tcl.c | |
| 995 | - $(TCC) /Fo$@ -c $** | |
| 996 | - | |
| 997 | -$(OX)\miniz$O : $(SRCDIR)\miniz.c | |
| 998 | - $(TCC) /Fo$@ -c $(MINIZ_OPTIONS) $(SRCDIR)\miniz.c | |
| 999 | - | |
| 1000 | -VERSION.h : mkversion$E $B\manifest.uuid $B\manifest $B\VERSION | |
| 1001 | - $** > $@ | |
| 1002 | - | |
| 1003 | -$(OX)\cson_amalgamation$O : $(SRCDIR)\cson_amalgamation.c | |
| 1004 | - $(TCC) /Fo$@ /c $** | |
| 1005 | - | |
| 1006 | -page_index.h: mkindex$E $(SRC) | |
| 1007 | - $** > $@ | |
| 1008 | - | |
| 1009 | -builtin_data.h: mkbuiltin$E $(EXTRA_FILES) | |
| 1010 | - mkbuiltin$E --prefix $(SRCDIR)/ $(EXTRA_FILES) > $@ | |
| 1011 | - | |
| 1012 | -clean: | |
| 1013 | - -del $(OX)\*.obj 2>NUL | |
| 1014 | - -del *.obj 2>NUL | |
| 1015 | - -del *_.c 2>NUL | |
| 1016 | - -del *.h 2>NUL | |
| 1017 | - -del *.ilk 2>NUL | |
| 1018 | - -del *.map 2>NUL | |
| 1019 | - -del *.res 2>NUL | |
| 1020 | - -del headers 2>NUL | |
| 1021 | - -del linkopts 2>NUL | |
| 1022 | - -del vc*.pdb 2>NUL | |
| 1023 | - | |
| 1024 | -realclean: clean | |
| 1025 | - -del $(APPNAME) 2>NUL | |
| 1026 | - -del $(PDBNAME) 2>NUL | |
| 1027 | - -del translate$E 2>NUL | |
| 1028 | - -del translate$P 2>NUL | |
| 1029 | - -del mkindex$E 2>NUL | |
| 1030 | - -del mkindex$P 2>NUL | |
| 1031 | - -del makeheaders$E 2>NUL | |
| 1032 | - -del makeheaders$P 2>NUL | |
| 1033 | - -del mkversion$E 2>NUL | |
| 1034 | - -del mkversion$P 2>NUL | |
| 1035 | - -del codecheck1$E 2>NUL | |
| 1036 | - -del codecheck1$P 2>NUL | |
| 1037 | - -del mkbuiltin$E 2>NUL | |
| 1038 | - -del mkbuiltin$P 2>NUL | |
| 1039 | - | |
| 1040 | -$(OBJDIR)\json$O : $(SRCDIR)\json_detail.h | |
| 1041 | -$(OBJDIR)\json_artifact$O : $(SRCDIR)\json_detail.h | |
| 1042 | -$(OBJDIR)\json_branch$O : $(SRCDIR)\json_detail.h | |
| 1043 | -$(OBJDIR)\json_config$O : $(SRCDIR)\json_detail.h | |
| 1044 | -$(OBJDIR)\json_diff$O : $(SRCDIR)\json_detail.h | |
| 1045 | -$(OBJDIR)\json_dir$O : $(SRCDIR)\json_detail.h | |
| 1046 | -$(OBJDIR)\json_finfo$O : $(SRCDIR)\json_detail.h | |
| 1047 | -$(OBJDIR)\json_login$O : $(SRCDIR)\json_detail.h | |
| 1048 | -$(OBJDIR)\json_query$O : $(SRCDIR)\json_detail.h | |
| 1049 | -$(OBJDIR)\json_report$O : $(SRCDIR)\json_detail.h | |
| 1050 | -$(OBJDIR)\json_status$O : $(SRCDIR)\json_detail.h | |
| 1051 | -$(OBJDIR)\json_tag$O : $(SRCDIR)\json_detail.h | |
| 1052 | -$(OBJDIR)\json_timeline$O : $(SRCDIR)\json_detail.h | |
| 1053 | -$(OBJDIR)\json_user$O : $(SRCDIR)\json_detail.h | |
| 1054 | -$(OBJDIR)\json_wiki$O : $(SRCDIR)\json_detail.h | |
| 1055 | - | |
| 1056 | -$(OX)\add$O : add_.c add.h | |
| 1057 | - $(TCC) /Fo$@ -c add_.c | |
| 1058 | - | |
| 1059 | -add_.c : $(SRCDIR)\add.c | |
| 1060 | - translate$E $** > $@ | |
| 1061 | - | |
| 1062 | -$(OX)\alerts$O : alerts_.c alerts.h | |
| 1063 | - $(TCC) /Fo$@ -c alerts_.c | |
| 1064 | - | |
| 1065 | -alerts_.c : $(SRCDIR)\alerts.c | |
| 1066 | - translate$E $** > $@ | |
| 1067 | - | |
| 1068 | -$(OX)\allrepo$O : allrepo_.c allrepo.h | |
| 1069 | - $(TCC) /Fo$@ -c allrepo_.c | |
| 1070 | - | |
| 1071 | -allrepo_.c : $(SRCDIR)\allrepo.c | |
| 1072 | - translate$E $** > $@ | |
| 1073 | - | |
| 1074 | -$(OX)\attach$O : attach_.c attach.h | |
| 1075 | - $(TCC) /Fo$@ -c attach_.c | |
| 1076 | - | |
| 1077 | -attach_.c : $(SRCDIR)\attach.c | |
| 1078 | - translate$E $** > $@ | |
| 1079 | - | |
| 1080 | -$(OX)\backlink$O : backlink_.c backlink.h | |
| 1081 | - $(TCC) /Fo$@ -c backlink_.c | |
| 1082 | - | |
| 1083 | -backlink_.c : $(SRCDIR)\backlink.c | |
| 1084 | - translate$E $** > $@ | |
| 1085 | - | |
| 1086 | -$(OX)\backoffice$O : backoffice_.c backoffice.h | |
| 1087 | - $(TCC) /Fo$@ -c backoffice_.c | |
| 1088 | - | |
| 1089 | -backoffice_.c : $(SRCDIR)\backoffice.c | |
| 1090 | - translate$E $** > $@ | |
| 1091 | - | |
| 1092 | -$(OX)\bag$O : bag_.c bag.h | |
| 1093 | - $(TCC) /Fo$@ -c bag_.c | |
| 1094 | - | |
| 1095 | -bag_.c : $(SRCDIR)\bag.c | |
| 1096 | - translate$E $** > $@ | |
| 1097 | - | |
| 1098 | -$(OX)\bisect$O : bisect_.c bisect.h | |
| 1099 | - $(TCC) /Fo$@ -c bisect_.c | |
| 1100 | - | |
| 1101 | -bisect_.c : $(SRCDIR)\bisect.c | |
| 1102 | - translate$E $** > $@ | |
| 1103 | - | |
| 1104 | -$(OX)\blob$O : blob_.c blob.h | |
| 1105 | - $(TCC) /Fo$@ -c blob_.c | |
| 1106 | - | |
| 1107 | -blob_.c : $(SRCDIR)\blob.c | |
| 1108 | - translate$E $** > $@ | |
| 1109 | - | |
| 1110 | -$(OX)\branch$O : branch_.c branch.h | |
| 1111 | - $(TCC) /Fo$@ -c branch_.c | |
| 1112 | - | |
| 1113 | -branch_.c : $(SRCDIR)\branch.c | |
| 1114 | - translate$E $** > $@ | |
| 1115 | - | |
| 1116 | -$(OX)\browse$O : browse_.c browse.h | |
| 1117 | - $(TCC) /Fo$@ -c browse_.c | |
| 1118 | - | |
| 1119 | -browse_.c : $(SRCDIR)\browse.c | |
| 1120 | - translate$E $** > $@ | |
| 1121 | - | |
| 1122 | -$(OX)\builtin$O : builtin_.c builtin.h | |
| 1123 | - $(TCC) /Fo$@ -c builtin_.c | |
| 1124 | - | |
| 1125 | -builtin_.c : $(SRCDIR)\builtin.c | |
| 1126 | - translate$E $** > $@ | |
| 1127 | - | |
| 1128 | -$(OX)\bundle$O : bundle_.c bundle.h | |
| 1129 | - $(TCC) /Fo$@ -c bundle_.c | |
| 1130 | - | |
| 1131 | -bundle_.c : $(SRCDIR)\bundle.c | |
| 1132 | - translate$E $** > $@ | |
| 1133 | - | |
| 1134 | -$(OX)\cache$O : cache_.c cache.h | |
| 1135 | - $(TCC) /Fo$@ -c cache_.c | |
| 1136 | - | |
| 1137 | -cache_.c : $(SRCDIR)\cache.c | |
| 1138 | - translate$E $** > $@ | |
| 1139 | - | |
| 1140 | -$(OX)\capabilities$O : capabilities_.c capabilities.h | |
| 1141 | - $(TCC) /Fo$@ -c capabilities_.c | |
| 1142 | - | |
| 1143 | -capabilities_.c : $(SRCDIR)\capabilities.c | |
| 1144 | - translate$E $** > $@ | |
| 1145 | - | |
| 1146 | -$(OX)\captcha$O : captcha_.c captcha.h | |
| 1147 | - $(TCC) /Fo$@ -c captcha_.c | |
| 1148 | - | |
| 1149 | -captcha_.c : $(SRCDIR)\captcha.c | |
| 1150 | - translate$E $** > $@ | |
| 1151 | - | |
| 1152 | -$(OX)\cgi$O : cgi_.c cgi.h | |
| 1153 | - $(TCC) /Fo$@ -c cgi_.c | |
| 1154 | - | |
| 1155 | -cgi_.c : $(SRCDIR)\cgi.c | |
| 1156 | - translate$E $** > $@ | |
| 1157 | - | |
| 1158 | -$(OX)\checkin$O : checkin_.c checkin.h | |
| 1159 | - $(TCC) /Fo$@ -c checkin_.c | |
| 1160 | - | |
| 1161 | -checkin_.c : $(SRCDIR)\checkin.c | |
| 1162 | - translate$E $** > $@ | |
| 1163 | - | |
| 1164 | -$(OX)\checkout$O : checkout_.c checkout.h | |
| 1165 | - $(TCC) /Fo$@ -c checkout_.c | |
| 1166 | - | |
| 1167 | -checkout_.c : $(SRCDIR)\checkout.c | |
| 1168 | - translate$E $** > $@ | |
| 1169 | - | |
| 1170 | -$(OX)\clearsign$O : clearsign_.c clearsign.h | |
| 1171 | - $(TCC) /Fo$@ -c clearsign_.c | |
| 1172 | - | |
| 1173 | -clearsign_.c : $(SRCDIR)\clearsign.c | |
| 1174 | - translate$E $** > $@ | |
| 1175 | - | |
| 1176 | -$(OX)\clone$O : clone_.c clone.h | |
| 1177 | - $(TCC) /Fo$@ -c clone_.c | |
| 1178 | - | |
| 1179 | -clone_.c : $(SRCDIR)\clone.c | |
| 1180 | - translate$E $** > $@ | |
| 1181 | - | |
| 1182 | -$(OX)\comformat$O : comformat_.c comformat.h | |
| 1183 | - $(TCC) /Fo$@ -c comformat_.c | |
| 1184 | - | |
| 1185 | -comformat_.c : $(SRCDIR)\comformat.c | |
| 1186 | - translate$E $** > $@ | |
| 1187 | - | |
| 1188 | -$(OX)\configure$O : configure_.c configure.h | |
| 1189 | - $(TCC) /Fo$@ -c configure_.c | |
| 1190 | - | |
| 1191 | -configure_.c : $(SRCDIR)\configure.c | |
| 1192 | - translate$E $** > $@ | |
| 1193 | - | |
| 1194 | -$(OX)\content$O : content_.c content.h | |
| 1195 | - $(TCC) /Fo$@ -c content_.c | |
| 1196 | - | |
| 1197 | -content_.c : $(SRCDIR)\content.c | |
| 1198 | - translate$E $** > $@ | |
| 1199 | - | |
| 1200 | -$(OX)\cookies$O : cookies_.c cookies.h | |
| 1201 | - $(TCC) /Fo$@ -c cookies_.c | |
| 1202 | - | |
| 1203 | -cookies_.c : $(SRCDIR)\cookies.c | |
| 1204 | - translate$E $** > $@ | |
| 1205 | - | |
| 1206 | -$(OX)\db$O : db_.c db.h | |
| 1207 | - $(TCC) /Fo$@ -c db_.c | |
| 1208 | - | |
| 1209 | -db_.c : $(SRCDIR)\db.c | |
| 1210 | - translate$E $** > $@ | |
| 1211 | - | |
| 1212 | -$(OX)\delta$O : delta_.c delta.h | |
| 1213 | - $(TCC) /Fo$@ -c delta_.c | |
| 1214 | - | |
| 1215 | -delta_.c : $(SRCDIR)\delta.c | |
| 1216 | - translate$E $** > $@ | |
| 1217 | - | |
| 1218 | -$(OX)\deltacmd$O : deltacmd_.c deltacmd.h | |
| 1219 | - $(TCC) /Fo$@ -c deltacmd_.c | |
| 1220 | - | |
| 1221 | -deltacmd_.c : $(SRCDIR)\deltacmd.c | |
| 1222 | - translate$E $** > $@ | |
| 1223 | - | |
| 1224 | -$(OX)\deltafunc$O : deltafunc_.c deltafunc.h | |
| 1225 | - $(TCC) /Fo$@ -c deltafunc_.c | |
| 1226 | - | |
| 1227 | -deltafunc_.c : $(SRCDIR)\deltafunc.c | |
| 1228 | - translate$E $** > $@ | |
| 1229 | - | |
| 1230 | -$(OX)\descendants$O : descendants_.c descendants.h | |
| 1231 | - $(TCC) /Fo$@ -c descendants_.c | |
| 1232 | - | |
| 1233 | -descendants_.c : $(SRCDIR)\descendants.c | |
| 1234 | - translate$E $** > $@ | |
| 1235 | - | |
| 1236 | -$(OX)\diff$O : diff_.c diff.h | |
| 1237 | - $(TCC) /Fo$@ -c diff_.c | |
| 1238 | - | |
| 1239 | -diff_.c : $(SRCDIR)\diff.c | |
| 1240 | - translate$E $** > $@ | |
| 1241 | - | |
| 1242 | -$(OX)\diffcmd$O : diffcmd_.c diffcmd.h | |
| 1243 | - $(TCC) /Fo$@ -c diffcmd_.c | |
| 1244 | - | |
| 1245 | -diffcmd_.c : $(SRCDIR)\diffcmd.c | |
| 1246 | - translate$E $** > $@ | |
| 1247 | - | |
| 1248 | -$(OX)\dispatch$O : dispatch_.c dispatch.h | |
| 1249 | - $(TCC) /Fo$@ -c dispatch_.c | |
| 1250 | - | |
| 1251 | -dispatch_.c : $(SRCDIR)\dispatch.c | |
| 1252 | - translate$E $** > $@ | |
| 1253 | - | |
| 1254 | -$(OX)\doc$O : doc_.c doc.h | |
| 1255 | - $(TCC) /Fo$@ -c doc_.c | |
| 1256 | - | |
| 1257 | -doc_.c : $(SRCDIR)\doc.c | |
| 1258 | - translate$E $** > $@ | |
| 1259 | - | |
| 1260 | -$(OX)\encode$O : encode_.c encode.h | |
| 1261 | - $(TCC) /Fo$@ -c encode_.c | |
| 1262 | - | |
| 1263 | -encode_.c : $(SRCDIR)\encode.c | |
| 1264 | - translate$E $** > $@ | |
| 1265 | - | |
| 1266 | -$(OX)\etag$O : etag_.c etag.h | |
| 1267 | - $(TCC) /Fo$@ -c etag_.c | |
| 1268 | - | |
| 1269 | -etag_.c : $(SRCDIR)\etag.c | |
| 1270 | - translate$E $** > $@ | |
| 1271 | - | |
| 1272 | -$(OX)\event$O : event_.c event.h | |
| 1273 | - $(TCC) /Fo$@ -c event_.c | |
| 1274 | - | |
| 1275 | -event_.c : $(SRCDIR)\event.c | |
| 1276 | - translate$E $** > $@ | |
| 1277 | - | |
| 1278 | -$(OX)\export$O : export_.c export.h | |
| 1279 | - $(TCC) /Fo$@ -c export_.c | |
| 1280 | - | |
| 1281 | -export_.c : $(SRCDIR)\export.c | |
| 1282 | - translate$E $** > $@ | |
| 1283 | - | |
| 1284 | -$(OX)\extcgi$O : extcgi_.c extcgi.h | |
| 1285 | - $(TCC) /Fo$@ -c extcgi_.c | |
| 1286 | - | |
| 1287 | -extcgi_.c : $(SRCDIR)\extcgi.c | |
| 1288 | - translate$E $** > $@ | |
| 1289 | - | |
| 1290 | -$(OX)\file$O : file_.c file.h | |
| 1291 | - $(TCC) /Fo$@ -c file_.c | |
| 1292 | - | |
| 1293 | -file_.c : $(SRCDIR)\file.c | |
| 1294 | - translate$E $** > $@ | |
| 1295 | - | |
| 1296 | -$(OX)\fileedit$O : fileedit_.c fileedit.h | |
| 1297 | - $(TCC) /Fo$@ -c fileedit_.c | |
| 1298 | - | |
| 1299 | -fileedit_.c : $(SRCDIR)\fileedit.c | |
| 1300 | - translate$E $** > $@ | |
| 1301 | - | |
| 1302 | -$(OX)\finfo$O : finfo_.c finfo.h | |
| 1303 | - $(TCC) /Fo$@ -c finfo_.c | |
| 1304 | - | |
| 1305 | -finfo_.c : $(SRCDIR)\finfo.c | |
| 1306 | - translate$E $** > $@ | |
| 1307 | - | |
| 1308 | -$(OX)\foci$O : foci_.c foci.h | |
| 1309 | - $(TCC) /Fo$@ -c foci_.c | |
| 1310 | - | |
| 1311 | -foci_.c : $(SRCDIR)\foci.c | |
| 1312 | - translate$E $** > $@ | |
| 1313 | - | |
| 1314 | -$(OX)\forum$O : forum_.c forum.h | |
| 1315 | - $(TCC) /Fo$@ -c forum_.c | |
| 1316 | - | |
| 1317 | -forum_.c : $(SRCDIR)\forum.c | |
| 1318 | - translate$E $** > $@ | |
| 1319 | - | |
| 1320 | -$(OX)\fshell$O : fshell_.c fshell.h | |
| 1321 | - $(TCC) /Fo$@ -c fshell_.c | |
| 1322 | - | |
| 1323 | -fshell_.c : $(SRCDIR)\fshell.c | |
| 1324 | - translate$E $** > $@ | |
| 1325 | - | |
| 1326 | -$(OX)\fusefs$O : fusefs_.c fusefs.h | |
| 1327 | - $(TCC) /Fo$@ -c fusefs_.c | |
| 1328 | - | |
| 1329 | -fusefs_.c : $(SRCDIR)\fusefs.c | |
| 1330 | - translate$E $** > $@ | |
| 1331 | - | |
| 1332 | -$(OX)\fuzz$O : fuzz_.c fuzz.h | |
| 1333 | - $(TCC) /Fo$@ -c fuzz_.c | |
| 1334 | - | |
| 1335 | -fuzz_.c : $(SRCDIR)\fuzz.c | |
| 1336 | - translate$E $** > $@ | |
| 1337 | - | |
| 1338 | -$(OX)\glob$O : glob_.c glob.h | |
| 1339 | - $(TCC) /Fo$@ -c glob_.c | |
| 1340 | - | |
| 1341 | -glob_.c : $(SRCDIR)\glob.c | |
| 1342 | - translate$E $** > $@ | |
| 1343 | - | |
| 1344 | -$(OX)\graph$O : graph_.c graph.h | |
| 1345 | - $(TCC) /Fo$@ -c graph_.c | |
| 1346 | - | |
| 1347 | -graph_.c : $(SRCDIR)\graph.c | |
| 1348 | - translate$E $** > $@ | |
| 1349 | - | |
| 1350 | -$(OX)\gzip$O : gzip_.c gzip.h | |
| 1351 | - $(TCC) /Fo$@ -c gzip_.c | |
| 1352 | - | |
| 1353 | -gzip_.c : $(SRCDIR)\gzip.c | |
| 1354 | - translate$E $** > $@ | |
| 1355 | - | |
| 1356 | -$(OX)\hname$O : hname_.c hname.h | |
| 1357 | - $(TCC) /Fo$@ -c hname_.c | |
| 1358 | - | |
| 1359 | -hname_.c : $(SRCDIR)\hname.c | |
| 1360 | - translate$E $** > $@ | |
| 1361 | - | |
| 1362 | -$(OX)\http$O : http_.c http.h | |
| 1363 | - $(TCC) /Fo$@ -c http_.c | |
| 1364 | - | |
| 1365 | -http_.c : $(SRCDIR)\http.c | |
| 1366 | - translate$E $** > $@ | |
| 1367 | - | |
| 1368 | -$(OX)\http_socket$O : http_socket_.c http_socket.h | |
| 1369 | - $(TCC) /Fo$@ -c http_socket_.c | |
| 1370 | - | |
| 1371 | -http_socket_.c : $(SRCDIR)\http_socket.c | |
| 1372 | - translate$E $** > $@ | |
| 1373 | - | |
| 1374 | -$(OX)\http_ssl$O : http_ssl_.c http_ssl.h | |
| 1375 | - $(TCC) /Fo$@ -c http_ssl_.c | |
| 1376 | - | |
| 1377 | -http_ssl_.c : $(SRCDIR)\http_ssl.c | |
| 1378 | - translate$E $** > $@ | |
| 1379 | - | |
| 1380 | -$(OX)\http_transport$O : http_transport_.c http_transport.h | |
| 1381 | - $(TCC) /Fo$@ -c http_transport_.c | |
| 1382 | - | |
| 1383 | -http_transport_.c : $(SRCDIR)\http_transport.c | |
| 1384 | - translate$E $** > $@ | |
| 1385 | - | |
| 1386 | -$(OX)\import$O : import_.c import.h | |
| 1387 | - $(TCC) /Fo$@ -c import_.c | |
| 1388 | - | |
| 1389 | -import_.c : $(SRCDIR)\import.c | |
| 1390 | - translate$E $** > $@ | |
| 1391 | - | |
| 1392 | -$(OX)\info$O : info_.c info.h | |
| 1393 | - $(TCC) /Fo$@ -c info_.c | |
| 1394 | - | |
| 1395 | -info_.c : $(SRCDIR)\info.c | |
| 1396 | - translate$E $** > $@ | |
| 1397 | - | |
| 1398 | -$(OX)\json$O : json_.c json.h | |
| 1399 | - $(TCC) /Fo$@ -c json_.c | |
| 1400 | - | |
| 1401 | -json_.c : $(SRCDIR)\json.c | |
| 1402 | - translate$E $** > $@ | |
| 1403 | - | |
| 1404 | -$(OX)\json_artifact$O : json_artifact_.c json_artifact.h | |
| 1405 | - $(TCC) /Fo$@ -c json_artifact_.c | |
| 1406 | - | |
| 1407 | -json_artifact_.c : $(SRCDIR)\json_artifact.c | |
| 1408 | - translate$E $** > $@ | |
| 1409 | - | |
| 1410 | -$(OX)\json_branch$O : json_branch_.c json_branch.h | |
| 1411 | - $(TCC) /Fo$@ -c json_branch_.c | |
| 1412 | - | |
| 1413 | -json_branch_.c : $(SRCDIR)\json_branch.c | |
| 1414 | - translate$E $** > $@ | |
| 1415 | - | |
| 1416 | -$(OX)\json_config$O : json_config_.c json_config.h | |
| 1417 | - $(TCC) /Fo$@ -c json_config_.c | |
| 1418 | - | |
| 1419 | -json_config_.c : $(SRCDIR)\json_config.c | |
| 1420 | - translate$E $** > $@ | |
| 1421 | - | |
| 1422 | -$(OX)\json_diff$O : json_diff_.c json_diff.h | |
| 1423 | - $(TCC) /Fo$@ -c json_diff_.c | |
| 1424 | - | |
| 1425 | -json_diff_.c : $(SRCDIR)\json_diff.c | |
| 1426 | - translate$E $** > $@ | |
| 1427 | - | |
| 1428 | -$(OX)\json_dir$O : json_dir_.c json_dir.h | |
| 1429 | - $(TCC) /Fo$@ -c json_dir_.c | |
| 1430 | - | |
| 1431 | -json_dir_.c : $(SRCDIR)\json_dir.c | |
| 1432 | - translate$E $** > $@ | |
| 1433 | - | |
| 1434 | -$(OX)\json_finfo$O : json_finfo_.c json_finfo.h | |
| 1435 | - $(TCC) /Fo$@ -c json_finfo_.c | |
| 1436 | - | |
| 1437 | -json_finfo_.c : $(SRCDIR)\json_finfo.c | |
| 1438 | - translate$E $** > $@ | |
| 1439 | - | |
| 1440 | -$(OX)\json_login$O : json_login_.c json_login.h | |
| 1441 | - $(TCC) /Fo$@ -c json_login_.c | |
| 1442 | - | |
| 1443 | -json_login_.c : $(SRCDIR)\json_login.c | |
| 1444 | - translate$E $** > $@ | |
| 1445 | - | |
| 1446 | -$(OX)\json_query$O : json_query_.c json_query.h | |
| 1447 | - $(TCC) /Fo$@ -c json_query_.c | |
| 1448 | - | |
| 1449 | -json_query_.c : $(SRCDIR)\json_query.c | |
| 1450 | - translate$E $** > $@ | |
| 1451 | - | |
| 1452 | -$(OX)\json_report$O : json_report_.c json_report.h | |
| 1453 | - $(TCC) /Fo$@ -c json_report_.c | |
| 1454 | - | |
| 1455 | -json_report_.c : $(SRCDIR)\json_report.c | |
| 1456 | - translate$E $** > $@ | |
| 1457 | - | |
| 1458 | -$(OX)\json_status$O : json_status_.c json_status.h | |
| 1459 | - $(TCC) /Fo$@ -c json_status_.c | |
| 1460 | - | |
| 1461 | -json_status_.c : $(SRCDIR)\json_status.c | |
| 1462 | - translate$E $** > $@ | |
| 1463 | - | |
| 1464 | -$(OX)\json_tag$O : json_tag_.c json_tag.h | |
| 1465 | - $(TCC) /Fo$@ -c json_tag_.c | |
| 1466 | - | |
| 1467 | -json_tag_.c : $(SRCDIR)\json_tag.c | |
| 1468 | - translate$E $** > $@ | |
| 1469 | - | |
| 1470 | -$(OX)\json_timeline$O : json_timeline_.c json_timeline.h | |
| 1471 | - $(TCC) /Fo$@ -c json_timeline_.c | |
| 1472 | - | |
| 1473 | -json_timeline_.c : $(SRCDIR)\json_timeline.c | |
| 1474 | - translate$E $** > $@ | |
| 1475 | - | |
| 1476 | -$(OX)\json_user$O : json_user_.c json_user.h | |
| 1477 | - $(TCC) /Fo$@ -c json_user_.c | |
| 1478 | - | |
| 1479 | -json_user_.c : $(SRCDIR)\json_user.c | |
| 1480 | - translate$E $** > $@ | |
| 1481 | - | |
| 1482 | -$(OX)\json_wiki$O : json_wiki_.c json_wiki.h | |
| 1483 | - $(TCC) /Fo$@ -c json_wiki_.c | |
| 1484 | - | |
| 1485 | -json_wiki_.c : $(SRCDIR)\json_wiki.c | |
| 1486 | - translate$E $** > $@ | |
| 1487 | - | |
| 1488 | -$(OX)\leaf$O : leaf_.c leaf.h | |
| 1489 | - $(TCC) /Fo$@ -c leaf_.c | |
| 1490 | - | |
| 1491 | -leaf_.c : $(SRCDIR)\leaf.c | |
| 1492 | - translate$E $** > $@ | |
| 1493 | - | |
| 1494 | -$(OX)\loadctrl$O : loadctrl_.c loadctrl.h | |
| 1495 | - $(TCC) /Fo$@ -c loadctrl_.c | |
| 1496 | - | |
| 1497 | -loadctrl_.c : $(SRCDIR)\loadctrl.c | |
| 1498 | - translate$E $** > $@ | |
| 1499 | - | |
| 1500 | -$(OX)\login$O : login_.c login.h | |
| 1501 | - $(TCC) /Fo$@ -c login_.c | |
| 1502 | - | |
| 1503 | -login_.c : $(SRCDIR)\login.c | |
| 1504 | - translate$E $** > $@ | |
| 1505 | - | |
| 1506 | -$(OX)\lookslike$O : lookslike_.c lookslike.h | |
| 1507 | - $(TCC) /Fo$@ -c lookslike_.c | |
| 1508 | - | |
| 1509 | -lookslike_.c : $(SRCDIR)\lookslike.c | |
| 1510 | - translate$E $** > $@ | |
| 1511 | - | |
| 1512 | -$(OX)\main$O : main_.c main.h | |
| 1513 | - $(TCC) /Fo$@ -c main_.c | |
| 1514 | - | |
| 1515 | -main_.c : $(SRCDIR)\main.c | |
| 1516 | - translate$E $** > $@ | |
| 1517 | - | |
| 1518 | -$(OX)\manifest$O : manifest_.c manifest.h | |
| 1519 | - $(TCC) /Fo$@ -c manifest_.c | |
| 1520 | - | |
| 1521 | -manifest_.c : $(SRCDIR)\manifest.c | |
| 1522 | - translate$E $** > $@ | |
| 1523 | - | |
| 1524 | -$(OX)\markdown$O : markdown_.c markdown.h | |
| 1525 | - $(TCC) /Fo$@ -c markdown_.c | |
| 1526 | - | |
| 1527 | -markdown_.c : $(SRCDIR)\markdown.c | |
| 1528 | - translate$E $** > $@ | |
| 1529 | - | |
| 1530 | -$(OX)\markdown_html$O : markdown_html_.c markdown_html.h | |
| 1531 | - $(TCC) /Fo$@ -c markdown_html_.c | |
| 1532 | - | |
| 1533 | -markdown_html_.c : $(SRCDIR)\markdown_html.c | |
| 1534 | - translate$E $** > $@ | |
| 1535 | - | |
| 1536 | -$(OX)\md5$O : md5_.c md5.h | |
| 1537 | - $(TCC) /Fo$@ -c md5_.c | |
| 1538 | - | |
| 1539 | -md5_.c : $(SRCDIR)\md5.c | |
| 1540 | - translate$E $** > $@ | |
| 1541 | - | |
| 1542 | -$(OX)\merge$O : merge_.c merge.h | |
| 1543 | - $(TCC) /Fo$@ -c merge_.c | |
| 1544 | - | |
| 1545 | -merge_.c : $(SRCDIR)\merge.c | |
| 1546 | - translate$E $** > $@ | |
| 1547 | - | |
| 1548 | -$(OX)\merge3$O : merge3_.c merge3.h | |
| 1549 | - $(TCC) /Fo$@ -c merge3_.c | |
| 1550 | - | |
| 1551 | -merge3_.c : $(SRCDIR)\merge3.c | |
| 1552 | - translate$E $** > $@ | |
| 1553 | - | |
| 1554 | -$(OX)\moderate$O : moderate_.c moderate.h | |
| 1555 | - $(TCC) /Fo$@ -c moderate_.c | |
| 1556 | - | |
| 1557 | -moderate_.c : $(SRCDIR)\moderate.c | |
| 1558 | - translate$E $** > $@ | |
| 1559 | - | |
| 1560 | -$(OX)\name$O : name_.c name.h | |
| 1561 | - $(TCC) /Fo$@ -c name_.c | |
| 1562 | - | |
| 1563 | -name_.c : $(SRCDIR)\name.c | |
| 1564 | - translate$E $** > $@ | |
| 1565 | - | |
| 1566 | -$(OX)\path$O : path_.c path.h | |
| 1567 | - $(TCC) /Fo$@ -c path_.c | |
| 1568 | - | |
| 1569 | -path_.c : $(SRCDIR)\path.c | |
| 1570 | - translate$E $** > $@ | |
| 1571 | - | |
| 1572 | -$(OX)\piechart$O : piechart_.c piechart.h | |
| 1573 | - $(TCC) /Fo$@ -c piechart_.c | |
| 1574 | - | |
| 1575 | -piechart_.c : $(SRCDIR)\piechart.c | |
| 1576 | - translate$E $** > $@ | |
| 1577 | - | |
| 1578 | -$(OX)\pivot$O : pivot_.c pivot.h | |
| 1579 | - $(TCC) /Fo$@ -c pivot_.c | |
| 1580 | - | |
| 1581 | -pivot_.c : $(SRCDIR)\pivot.c | |
| 1582 | - translate$E $** > $@ | |
| 1583 | - | |
| 1584 | -$(OX)\popen$O : popen_.c popen.h | |
| 1585 | - $(TCC) /Fo$@ -c popen_.c | |
| 1586 | - | |
| 1587 | -popen_.c : $(SRCDIR)\popen.c | |
| 1588 | - translate$E $** > $@ | |
| 1589 | - | |
| 1590 | -$(OX)\pqueue$O : pqueue_.c pqueue.h | |
| 1591 | - $(TCC) /Fo$@ -c pqueue_.c | |
| 1592 | - | |
| 1593 | -pqueue_.c : $(SRCDIR)\pqueue.c | |
| 1594 | - translate$E $** > $@ | |
| 1595 | - | |
| 1596 | -$(OX)\printf$O : printf_.c printf.h | |
| 1597 | - $(TCC) /Fo$@ -c printf_.c | |
| 1598 | - | |
| 1599 | -printf_.c : $(SRCDIR)\printf.c | |
| 1600 | - translate$E $** > $@ | |
| 1601 | - | |
| 1602 | -$(OX)\publish$O : publish_.c publish.h | |
| 1603 | - $(TCC) /Fo$@ -c publish_.c | |
| 1604 | - | |
| 1605 | -publish_.c : $(SRCDIR)\publish.c | |
| 1606 | - translate$E $** > $@ | |
| 1607 | - | |
| 1608 | -$(OX)\purge$O : purge_.c purge.h | |
| 1609 | - $(TCC) /Fo$@ -c purge_.c | |
| 1610 | - | |
| 1611 | -purge_.c : $(SRCDIR)\purge.c | |
| 1612 | - translate$E $** > $@ | |
| 1613 | - | |
| 1614 | -$(OX)\rebuild$O : rebuild_.c rebuild.h | |
| 1615 | - $(TCC) /Fo$@ -c rebuild_.c | |
| 1616 | - | |
| 1617 | -rebuild_.c : $(SRCDIR)\rebuild.c | |
| 1618 | - translate$E $** > $@ | |
| 1619 | - | |
| 1620 | -$(OX)\regexp$O : regexp_.c regexp.h | |
| 1621 | - $(TCC) /Fo$@ -c regexp_.c | |
| 1622 | - | |
| 1623 | -regexp_.c : $(SRCDIR)\regexp.c | |
| 1624 | - translate$E $** > $@ | |
| 1625 | - | |
| 1626 | -$(OX)\repolist$O : repolist_.c repolist.h | |
| 1627 | - $(TCC) /Fo$@ -c repolist_.c | |
| 1628 | - | |
| 1629 | -repolist_.c : $(SRCDIR)\repolist.c | |
| 1630 | - translate$E $** > $@ | |
| 1631 | - | |
| 1632 | -$(OX)\report$O : report_.c report.h | |
| 1633 | - $(TCC) /Fo$@ -c report_.c | |
| 1634 | - | |
| 1635 | -report_.c : $(SRCDIR)\report.c | |
| 1636 | - translate$E $** > $@ | |
| 1637 | - | |
| 1638 | -$(OX)\rss$O : rss_.c rss.h | |
| 1639 | - $(TCC) /Fo$@ -c rss_.c | |
| 1640 | - | |
| 1641 | -rss_.c : $(SRCDIR)\rss.c | |
| 1642 | - translate$E $** > $@ | |
| 1643 | - | |
| 1644 | -$(OX)\schema$O : schema_.c schema.h | |
| 1645 | - $(TCC) /Fo$@ -c schema_.c | |
| 1646 | - | |
| 1647 | -schema_.c : $(SRCDIR)\schema.c | |
| 1648 | - translate$E $** > $@ | |
| 1649 | - | |
| 1650 | -$(OX)\search$O : search_.c search.h | |
| 1651 | - $(TCC) /Fo$@ -c search_.c | |
| 1652 | - | |
| 1653 | -search_.c : $(SRCDIR)\search.c | |
| 1654 | - translate$E $** > $@ | |
| 1655 | - | |
| 1656 | -$(OX)\security_audit$O : security_audit_.c security_audit.h | |
| 1657 | - $(TCC) /Fo$@ -c security_audit_.c | |
| 1658 | - | |
| 1659 | -security_audit_.c : $(SRCDIR)\security_audit.c | |
| 1660 | - translate$E $** > $@ | |
| 1661 | - | |
| 1662 | -$(OX)\setup$O : setup_.c setup.h | |
| 1663 | - $(TCC) /Fo$@ -c setup_.c | |
| 1664 | - | |
| 1665 | -setup_.c : $(SRCDIR)\setup.c | |
| 1666 | - translate$E $** > $@ | |
| 1667 | - | |
| 1668 | -$(OX)\setupuser$O : setupuser_.c setupuser.h | |
| 1669 | - $(TCC) /Fo$@ -c setupuser_.c | |
| 1670 | - | |
| 1671 | -setupuser_.c : $(SRCDIR)\setupuser.c | |
| 1672 | - translate$E $** > $@ | |
| 1673 | - | |
| 1674 | -$(OX)\sha1$O : sha1_.c sha1.h | |
| 1675 | - $(TCC) /Fo$@ -c sha1_.c | |
| 1676 | - | |
| 1677 | -sha1_.c : $(SRCDIR)\sha1.c | |
| 1678 | - translate$E $** > $@ | |
| 1679 | - | |
| 1680 | -$(OX)\sha1hard$O : sha1hard_.c sha1hard.h | |
| 1681 | - $(TCC) /Fo$@ -c sha1hard_.c | |
| 1682 | - | |
| 1683 | -sha1hard_.c : $(SRCDIR)\sha1hard.c | |
| 1684 | - translate$E $** > $@ | |
| 1685 | - | |
| 1686 | -$(OX)\sha3$O : sha3_.c sha3.h | |
| 1687 | - $(TCC) /Fo$@ -c sha3_.c | |
| 1688 | - | |
| 1689 | -sha3_.c : $(SRCDIR)\sha3.c | |
| 1690 | - translate$E $** > $@ | |
| 1691 | - | |
| 1692 | -$(OX)\shun$O : shun_.c shun.h | |
| 1693 | - $(TCC) /Fo$@ -c shun_.c | |
| 1694 | - | |
| 1695 | -shun_.c : $(SRCDIR)\shun.c | |
| 1696 | - translate$E $** > $@ | |
| 1697 | - | |
| 1698 | -$(OX)\sitemap$O : sitemap_.c sitemap.h | |
| 1699 | - $(TCC) /Fo$@ -c sitemap_.c | |
| 1700 | - | |
| 1701 | -sitemap_.c : $(SRCDIR)\sitemap.c | |
| 1702 | - translate$E $** > $@ | |
| 1703 | - | |
| 1704 | -$(OX)\skins$O : skins_.c skins.h | |
| 1705 | - $(TCC) /Fo$@ -c skins_.c | |
| 1706 | - | |
| 1707 | -skins_.c : $(SRCDIR)\skins.c | |
| 1708 | - translate$E $** > $@ | |
| 1709 | - | |
| 1710 | -$(OX)\smtp$O : smtp_.c smtp.h | |
| 1711 | - $(TCC) /Fo$@ -c smtp_.c | |
| 1712 | - | |
| 1713 | -smtp_.c : $(SRCDIR)\smtp.c | |
| 1714 | - translate$E $** > $@ | |
| 1715 | - | |
| 1716 | -$(OX)\sqlcmd$O : sqlcmd_.c sqlcmd.h | |
| 1717 | - $(TCC) /Fo$@ -c sqlcmd_.c | |
| 1718 | - | |
| 1719 | -sqlcmd_.c : $(SRCDIR)\sqlcmd.c | |
| 1720 | - translate$E $** > $@ | |
| 1721 | - | |
| 1722 | -$(OX)\stash$O : stash_.c stash.h | |
| 1723 | - $(TCC) /Fo$@ -c stash_.c | |
| 1724 | - | |
| 1725 | -stash_.c : $(SRCDIR)\stash.c | |
| 1726 | - translate$E $** > $@ | |
| 1727 | - | |
| 1728 | -$(OX)\stat$O : stat_.c stat.h | |
| 1729 | - $(TCC) /Fo$@ -c stat_.c | |
| 1730 | - | |
| 1731 | -stat_.c : $(SRCDIR)\stat.c | |
| 1732 | - translate$E $** > $@ | |
| 1733 | - | |
| 1734 | -$(OX)\statrep$O : statrep_.c statrep.h | |
| 1735 | - $(TCC) /Fo$@ -c statrep_.c | |
| 1736 | - | |
| 1737 | -statrep_.c : $(SRCDIR)\statrep.c | |
| 1738 | - translate$E $** > $@ | |
| 1739 | - | |
| 1740 | -$(OX)\style$O : style_.c style.h | |
| 1741 | - $(TCC) /Fo$@ -c style_.c | |
| 1742 | - | |
| 1743 | -style_.c : $(SRCDIR)\style.c | |
| 1744 | - translate$E $** > $@ | |
| 1745 | - | |
| 1746 | -$(OX)\sync$O : sync_.c sync.h | |
| 1747 | - $(TCC) /Fo$@ -c sync_.c | |
| 1748 | - | |
| 1749 | -sync_.c : $(SRCDIR)\sync.c | |
| 1750 | - translate$E $** > $@ | |
| 1751 | - | |
| 1752 | -$(OX)\tag$O : tag_.c tag.h | |
| 1753 | - $(TCC) /Fo$@ -c tag_.c | |
| 1754 | - | |
| 1755 | -tag_.c : $(SRCDIR)\tag.c | |
| 1756 | - translate$E $** > $@ | |
| 1757 | - | |
| 1758 | -$(OX)\tar$O : tar_.c tar.h | |
| 1759 | - $(TCC) /Fo$@ -c tar_.c | |
| 1760 | - | |
| 1761 | -tar_.c : $(SRCDIR)\tar.c | |
| 1762 | - translate$E $** > $@ | |
| 1763 | - | |
| 1764 | -$(OX)\terminal$O : terminal_.c terminal.h | |
| 1765 | - $(TCC) /Fo$@ -c terminal_.c | |
| 1766 | - | |
| 1767 | -terminal_.c : $(SRCDIR)\terminal.c | |
| 1768 | - translate$E $** > $@ | |
| 1769 | - | |
| 1770 | -$(OX)\th_main$O : th_main_.c th_main.h | |
| 1771 | - $(TCC) /Fo$@ -c th_main_.c | |
| 1772 | - | |
| 1773 | -th_main_.c : $(SRCDIR)\th_main.c | |
| 1774 | - translate$E $** > $@ | |
| 1775 | - | |
| 1776 | -$(OX)\timeline$O : timeline_.c timeline.h | |
| 1777 | - $(TCC) /Fo$@ -c timeline_.c | |
| 1778 | - | |
| 1779 | -timeline_.c : $(SRCDIR)\timeline.c | |
| 1780 | - translate$E $** > $@ | |
| 1781 | - | |
| 1782 | -$(OX)\tkt$O : tkt_.c tkt.h | |
| 1783 | - $(TCC) /Fo$@ -c tkt_.c | |
| 1784 | - | |
| 1785 | -tkt_.c : $(SRCDIR)\tkt.c | |
| 1786 | - translate$E $** > $@ | |
| 1787 | - | |
| 1788 | -$(OX)\tktsetup$O : tktsetup_.c tktsetup.h | |
| 1789 | - $(TCC) /Fo$@ -c tktsetup_.c | |
| 1790 | - | |
| 1791 | -tktsetup_.c : $(SRCDIR)\tktsetup.c | |
| 1792 | - translate$E $** > $@ | |
| 1793 | - | |
| 1794 | -$(OX)\undo$O : undo_.c undo.h | |
| 1795 | - $(TCC) /Fo$@ -c undo_.c | |
| 1796 | - | |
| 1797 | -undo_.c : $(SRCDIR)\undo.c | |
| 1798 | - translate$E $** > $@ | |
| 1799 | - | |
| 1800 | -$(OX)\unicode$O : unicode_.c unicode.h | |
| 1801 | - $(TCC) /Fo$@ -c unicode_.c | |
| 1802 | - | |
| 1803 | -unicode_.c : $(SRCDIR)\unicode.c | |
| 1804 | - translate$E $** > $@ | |
| 1805 | - | |
| 1806 | -$(OX)\unversioned$O : unversioned_.c unversioned.h | |
| 1807 | - $(TCC) /Fo$@ -c unversioned_.c | |
| 1808 | - | |
| 1809 | -unversioned_.c : $(SRCDIR)\unversioned.c | |
| 1810 | - translate$E $** > $@ | |
| 1811 | - | |
| 1812 | -$(OX)\update$O : update_.c update.h | |
| 1813 | - $(TCC) /Fo$@ -c update_.c | |
| 1814 | - | |
| 1815 | -update_.c : $(SRCDIR)\update.c | |
| 1816 | - translate$E $** > $@ | |
| 1817 | - | |
| 1818 | -$(OX)\url$O : url_.c url.h | |
| 1819 | - $(TCC) /Fo$@ -c url_.c | |
| 1820 | - | |
| 1821 | -url_.c : $(SRCDIR)\url.c | |
| 1822 | - translate$E $** > $@ | |
| 1823 | - | |
| 1824 | -$(OX)\user$O : user_.c user.h | |
| 1825 | - $(TCC) /Fo$@ -c user_.c | |
| 1826 | - | |
| 1827 | -user_.c : $(SRCDIR)\user.c | |
| 1828 | - translate$E $** > $@ | |
| 1829 | - | |
| 1830 | -$(OX)\utf8$O : utf8_.c utf8.h | |
| 1831 | - $(TCC) /Fo$@ -c utf8_.c | |
| 1832 | - | |
| 1833 | -utf8_.c : $(SRCDIR)\utf8.c | |
| 1834 | - translate$E $** > $@ | |
| 1835 | - | |
| 1836 | -$(OX)\util$O : util_.c util.h | |
| 1837 | - $(TCC) /Fo$@ -c util_.c | |
| 1838 | - | |
| 1839 | -util_.c : $(SRCDIR)\util.c | |
| 1840 | - translate$E $** > $@ | |
| 1841 | - | |
| 1842 | -$(OX)\verify$O : verify_.c verify.h | |
| 1843 | - $(TCC) /Fo$@ -c verify_.c | |
| 1844 | - | |
| 1845 | -verify_.c : $(SRCDIR)\verify.c | |
| 1846 | - translate$E $** > $@ | |
| 1847 | - | |
| 1848 | -$(OX)\vfile$O : vfile_.c vfile.h | |
| 1849 | - $(TCC) /Fo$@ -c vfile_.c | |
| 1850 | - | |
| 1851 | -vfile_.c : $(SRCDIR)\vfile.c | |
| 1852 | - translate$E $** > $@ | |
| 1853 | - | |
| 1854 | -$(OX)\webmail$O : webmail_.c webmail.h | |
| 1855 | - $(TCC) /Fo$@ -c webmail_.c | |
| 1856 | - | |
| 1857 | -webmail_.c : $(SRCDIR)\webmail.c | |
| 1858 | - translate$E $** > $@ | |
| 1859 | - | |
| 1860 | -$(OX)\wiki$O : wiki_.c wiki.h | |
| 1861 | - $(TCC) /Fo$@ -c wiki_.c | |
| 1862 | - | |
| 1863 | -wiki_.c : $(SRCDIR)\wiki.c | |
| 1864 | - translate$E $** > $@ | |
| 1865 | - | |
| 1866 | -$(OX)\wikiformat$O : wikiformat_.c wikiformat.h | |
| 1867 | - $(TCC) /Fo$@ -c wikiformat_.c | |
| 1868 | - | |
| 1869 | -wikiformat_.c : $(SRCDIR)\wikiformat.c | |
| 1870 | - translate$E $** > $@ | |
| 1871 | - | |
| 1872 | -$(OX)\winfile$O : winfile_.c winfile.h | |
| 1873 | - $(TCC) /Fo$@ -c winfile_.c | |
| 1874 | - | |
| 1875 | -winfile_.c : $(SRCDIR)\winfile.c | |
| 1876 | - translate$E $** > $@ | |
| 1877 | - | |
| 1878 | -$(OX)\winhttp$O : winhttp_.c winhttp.h | |
| 1879 | - $(TCC) /Fo$@ -c winhttp_.c | |
| 1880 | - | |
| 1881 | -winhttp_.c : $(SRCDIR)\winhttp.c | |
| 1882 | - translate$E $** > $@ | |
| 1883 | - | |
| 1884 | -$(OX)\wysiwyg$O : wysiwyg_.c wysiwyg.h | |
| 1885 | - $(TCC) /Fo$@ -c wysiwyg_.c | |
| 1886 | - | |
| 1887 | -wysiwyg_.c : $(SRCDIR)\wysiwyg.c | |
| 1888 | - translate$E $** > $@ | |
| 1889 | - | |
| 1890 | -$(OX)\xfer$O : xfer_.c xfer.h | |
| 1891 | - $(TCC) /Fo$@ -c xfer_.c | |
| 1892 | - | |
| 1893 | -xfer_.c : $(SRCDIR)\xfer.c | |
| 1894 | - translate$E $** > $@ | |
| 1895 | - | |
| 1896 | -$(OX)\xfersetup$O : xfersetup_.c xfersetup.h | |
| 1897 | - $(TCC) /Fo$@ -c xfersetup_.c | |
| 1898 | - | |
| 1899 | -xfersetup_.c : $(SRCDIR)\xfersetup.c | |
| 1900 | - translate$E $** > $@ | |
| 1901 | - | |
| 1902 | -$(OX)\zip$O : zip_.c zip.h | |
| 1903 | - $(TCC) /Fo$@ -c zip_.c | |
| 1904 | - | |
| 1905 | -zip_.c : $(SRCDIR)\zip.c | |
| 1906 | - translate$E $** > $@ | |
| 1907 | - | |
| 1908 | -fossil.res : $B\win\fossil.rc | |
| 1909 | - $(RCC) /fo $@ $** | |
| 1910 | - | |
| 1911 | -headers: makeheaders$E page_index.h builtin_data.h VERSION.h | |
| 1912 | - makeheaders$E add_.c:add.h \ | |
| 1913 | - alerts_.c:alerts.h \ | |
| 1914 | - allrepo_.c:allrepo.h \ | |
| 1915 | - attach_.c:attach.h \ | |
| 1916 | - backlink_.c:backlink.h \ | |
| 1917 | - backoffice_.c:backoffice.h \ | |
| 1918 | - bag_.c:bag.h \ | |
| 1919 | - bisect_.c:bisect.h \ | |
| 1920 | - blob_.c:blob.h \ | |
| 1921 | - branch_.c:branch.h \ | |
| 1922 | - browse_.c:browse.h \ | |
| 1923 | - builtin_.c:builtin.h \ | |
| 1924 | - bundle_.c:bundle.h \ | |
| 1925 | - cache_.c:cache.h \ | |
| 1926 | - capabilities_.c:capabilities.h \ | |
| 1927 | - captcha_.c:captcha.h \ | |
| 1928 | - cgi_.c:cgi.h \ | |
| 1929 | - checkin_.c:checkin.h \ | |
| 1930 | - checkout_.c:checkout.h \ | |
| 1931 | - clearsign_.c:clearsign.h \ | |
| 1932 | - clone_.c:clone.h \ | |
| 1933 | - comformat_.c:comformat.h \ | |
| 1934 | - configure_.c:configure.h \ | |
| 1935 | - content_.c:content.h \ | |
| 1936 | - cookies_.c:cookies.h \ | |
| 1937 | - db_.c:db.h \ | |
| 1938 | - delta_.c:delta.h \ | |
| 1939 | - deltacmd_.c:deltacmd.h \ | |
| 1940 | - deltafunc_.c:deltafunc.h \ | |
| 1941 | - descendants_.c:descendants.h \ | |
| 1942 | - diff_.c:diff.h \ | |
| 1943 | - diffcmd_.c:diffcmd.h \ | |
| 1944 | - dispatch_.c:dispatch.h \ | |
| 1945 | - doc_.c:doc.h \ | |
| 1946 | - encode_.c:encode.h \ | |
| 1947 | - etag_.c:etag.h \ | |
| 1948 | - event_.c:event.h \ | |
| 1949 | - export_.c:export.h \ | |
| 1950 | - extcgi_.c:extcgi.h \ | |
| 1951 | - file_.c:file.h \ | |
| 1952 | - fileedit_.c:fileedit.h \ | |
| 1953 | - finfo_.c:finfo.h \ | |
| 1954 | - foci_.c:foci.h \ | |
| 1955 | - forum_.c:forum.h \ | |
| 1956 | - fshell_.c:fshell.h \ | |
| 1957 | - fusefs_.c:fusefs.h \ | |
| 1958 | - fuzz_.c:fuzz.h \ | |
| 1959 | - glob_.c:glob.h \ | |
| 1960 | - graph_.c:graph.h \ | |
| 1961 | - gzip_.c:gzip.h \ | |
| 1962 | - hname_.c:hname.h \ | |
| 1963 | - http_.c:http.h \ | |
| 1964 | - http_socket_.c:http_socket.h \ | |
| 1965 | - http_ssl_.c:http_ssl.h \ | |
| 1966 | - http_transport_.c:http_transport.h \ | |
| 1967 | - import_.c:import.h \ | |
| 1968 | - info_.c:info.h \ | |
| 1969 | - json_.c:json.h \ | |
| 1970 | - json_artifact_.c:json_artifact.h \ | |
| 1971 | - json_branch_.c:json_branch.h \ | |
| 1972 | - json_config_.c:json_config.h \ | |
| 1973 | - json_diff_.c:json_diff.h \ | |
| 1974 | - json_dir_.c:json_dir.h \ | |
| 1975 | - json_finfo_.c:json_finfo.h \ | |
| 1976 | - json_login_.c:json_login.h \ | |
| 1977 | - json_query_.c:json_query.h \ | |
| 1978 | - json_report_.c:json_report.h \ | |
| 1979 | - json_status_.c:json_status.h \ | |
| 1980 | - json_tag_.c:json_tag.h \ | |
| 1981 | - json_timeline_.c:json_timeline.h \ | |
| 1982 | - json_user_.c:json_user.h \ | |
| 1983 | - json_wiki_.c:json_wiki.h \ | |
| 1984 | - leaf_.c:leaf.h \ | |
| 1985 | - loadctrl_.c:loadctrl.h \ | |
| 1986 | - login_.c:login.h \ | |
| 1987 | - lookslike_.c:lookslike.h \ | |
| 1988 | - main_.c:main.h \ | |
| 1989 | - manifest_.c:manifest.h \ | |
| 1990 | - markdown_.c:markdown.h \ | |
| 1991 | - markdown_html_.c:markdown_html.h \ | |
| 1992 | - md5_.c:md5.h \ | |
| 1993 | - merge_.c:merge.h \ | |
| 1994 | - merge3_.c:merge3.h \ | |
| 1995 | - moderate_.c:moderate.h \ | |
| 1996 | - name_.c:name.h \ | |
| 1997 | - path_.c:path.h \ | |
| 1998 | - piechart_.c:piechart.h \ | |
| 1999 | - pivot_.c:pivot.h \ | |
| 2000 | - popen_.c:popen.h \ | |
| 2001 | - pqueue_.c:pqueue.h \ | |
| 2002 | - printf_.c:printf.h \ | |
| 2003 | - publish_.c:publish.h \ | |
| 2004 | - purge_.c:purge.h \ | |
| 2005 | - rebuild_.c:rebuild.h \ | |
| 2006 | - regexp_.c:regexp.h \ | |
| 2007 | - repolist_.c:repolist.h \ | |
| 2008 | - report_.c:report.h \ | |
| 2009 | - rss_.c:rss.h \ | |
| 2010 | - schema_.c:schema.h \ | |
| 2011 | - search_.c:search.h \ | |
| 2012 | - security_audit_.c:security_audit.h \ | |
| 2013 | - setup_.c:setup.h \ | |
| 2014 | - setupuser_.c:setupuser.h \ | |
| 2015 | - sha1_.c:sha1.h \ | |
| 2016 | - sha1hard_.c:sha1hard.h \ | |
| 2017 | - sha3_.c:sha3.h \ | |
| 2018 | - shun_.c:shun.h \ | |
| 2019 | - sitemap_.c:sitemap.h \ | |
| 2020 | - skins_.c:skins.h \ | |
| 2021 | - smtp_.c:smtp.h \ | |
| 2022 | - sqlcmd_.c:sqlcmd.h \ | |
| 2023 | - stash_.c:stash.h \ | |
| 2024 | - stat_.c:stat.h \ | |
| 2025 | - statrep_.c:statrep.h \ | |
| 2026 | - style_.c:style.h \ | |
| 2027 | - sync_.c:sync.h \ | |
| 2028 | - tag_.c:tag.h \ | |
| 2029 | - tar_.c:tar.h \ | |
| 2030 | - terminal_.c:terminal.h \ | |
| 2031 | - th_main_.c:th_main.h \ | |
| 2032 | - timeline_.c:timeline.h \ | |
| 2033 | - tkt_.c:tkt.h \ | |
| 2034 | - tktsetup_.c:tktsetup.h \ | |
| 2035 | - undo_.c:undo.h \ | |
| 2036 | - unicode_.c:unicode.h \ | |
| 2037 | - unversioned_.c:unversioned.h \ | |
| 2038 | - update_.c:update.h \ | |
| 2039 | - url_.c:url.h \ | |
| 2040 | - user_.c:user.h \ | |
| 2041 | - utf8_.c:utf8.h \ | |
| 2042 | - util_.c:util.h \ | |
| 2043 | - verify_.c:verify.h \ | |
| 2044 | - vfile_.c:vfile.h \ | |
| 2045 | - webmail_.c:webmail.h \ | |
| 2046 | - wiki_.c:wiki.h \ | |
| 2047 | - wikiformat_.c:wikiformat.h \ | |
| 2048 | - winfile_.c:winfile.h \ | |
| 2049 | - winhttp_.c:winhttp.h \ | |
| 2050 | - wysiwyg_.c:wysiwyg.h \ | |
| 2051 | - xfer_.c:xfer.h \ | |
| 2052 | - xfersetup_.c:xfersetup.h \ | |
| 2053 | - zip_.c:zip.h \ | |
| 2054 | - $(SRCDIR)\sqlite3.h \ | |
| 2055 | - $(SRCDIR)\th.h \ | |
| 2056 | - VERSION.h \ | |
| 2057 | - $(SRCDIR)\cson_amalgamation.h | |
| 2058 | - @copy /Y nul: headers | |
| 1015 | +"$(OX)\shell$O" : "$(SQLITE3_SHELL_SRC)" "$(B)\win\Makefile.msc" | |
| 1016 | + $(TCC) /Fo$@ /Fd$(@D)\ $(SHELL_OPTIONS) $(SQLITE_OPTIONS) $(SHELL_CFLAGS) $(SEE_FLAGS) -c "$(SQLITE3_SHELL_SRC)" | |
| 1017 | + | |
| 1018 | +"$(OX)\sqlite3$O" : "$(SQLITE3_SRC)" "$(B)\win\Makefile.msc" | |
| 1019 | + $(TCC) /Fo$@ /Fd$(@D)\ -c $(SQLITE_OPTIONS) $(SQLITE_CFLAGS) $(SEE_FLAGS) "$(SQLITE3_SRC)" | |
| 1020 | + | |
| 1021 | +"$(OX)\th$O" : "$(SRCDIR)\th.c" | |
| 1022 | + $(TCC) /Fo$@ /Fd$(@D)\ -c $** | |
| 1023 | + | |
| 1024 | +"$(OX)\th_lang$O" : "$(SRCDIR)\th_lang.c" | |
| 1025 | + $(TCC) /Fo$@ /Fd$(@D)\ -c $** | |
| 1026 | + | |
| 1027 | +"$(OX)\th_tcl$O" : "$(SRCDIR)\th_tcl.c" | |
| 1028 | + $(TCC) /Fo$@ /Fd$(@D)\ -c $** | |
| 1029 | + | |
| 1030 | +"$(OX)\miniz$O" : "$(SRCDIR)\miniz.c" | |
| 1031 | + $(TCC) /Fo$@ /Fd$(@D)\ -c $(MINIZ_OPTIONS) $** | |
| 1032 | + | |
| 1033 | +"$(OX)\VERSION.h" : "$(OBJDIR)\mkversion$E" "$(B)\manifest.uuid" "$(B)\manifest" "$(B)\VERSION" | |
| 1034 | + $** > $@ | |
| 1035 | + | |
| 1036 | +"$(OX)\cson_amalgamation$O" : "$(SRCDIR)\cson_amalgamation.c" | |
| 1037 | + $(TCC) /Fo$@ /Fd$(@D)\ -c $** | |
| 1038 | + | |
| 1039 | +"$(OX)\page_index.h": "$(OBJDIR)\mkindex$E" $(SRC) | |
| 1040 | + $** > $@ | |
| 1041 | + | |
| 1042 | +"$(OX)\builtin_data.h": "$(OBJDIR)\mkbuiltin$E" "$(OX)\builtin_data.reslist" | |
| 1043 | + "$(OBJDIR)\mkbuiltin$E" --prefix "$(SRCDIR)/" --reslist "$(OX)\builtin_data.reslist" > $@ | |
| 1044 | + | |
| 1045 | +cleanx: | |
| 1046 | + -del "$(OX)\*.obj" 2>NUL | |
| 1047 | + -del "$(OBJDIR)\*.obj" 2>NUL | |
| 1048 | + -del "$(OX)\*_.c" 2>NUL | |
| 1049 | + -del "$(OX)\*.h" 2>NUL | |
| 1050 | + -del "$(OX)\*.ilk" 2>NUL | |
| 1051 | + -del "$(OX)\*.map" 2>NUL | |
| 1052 | + -del "$(OX)\*.res" 2>NUL | |
| 1053 | + -del "$(OX)\*.reslist" 2>NUL | |
| 1054 | + -del "$(OX)\headers" 2>NUL | |
| 1055 | + -del "$(OX)\linkopts" 2>NUL | |
| 1056 | + -del "$(OX)\vc*.pdb" 2>NUL | |
| 1057 | + | |
| 1058 | +clean: cleanx | |
| 1059 | + -del "$(APPNAME)" 2>NUL | |
| 1060 | + -del "$(PDBNAME)" 2>NUL | |
| 1061 | + -del "$(OBJDIR)\translate$E" 2>NUL | |
| 1062 | + -del "$(OBJDIR)\translate$P" 2>NUL | |
| 1063 | + -del "$(OBJDIR)\mkindex$E" 2>NUL | |
| 1064 | + -del "$(OBJDIR)\mkindex$P" 2>NUL | |
| 1065 | + -del "$(OBJDIR)\makeheaders$E" 2>NUL | |
| 1066 | + -del "$(OBJDIR)\makeheaders$P" 2>NUL | |
| 1067 | + -del "$(OBJDIR)\mkversion$E" 2>NUL | |
| 1068 | + -del "$(OBJDIR)\mkversion$P" 2>NUL | |
| 1069 | + -del "$(OBJDIR)\mkcss$E" 2>NUL | |
| 1070 | + -del "$(OBJDIR)\mkcss$P" 2>NUL | |
| 1071 | + -del "$(OBJDIR)\codecheck1$E" 2>NUL | |
| 1072 | + -del "$(OBJDIR)\codecheck1$P" 2>NUL | |
| 1073 | + -del "$(OBJDIR)\mkbuiltin$E" 2>NUL | |
| 1074 | + -del "$(OBJDIR)\mkbuiltin$P" 2>NUL | |
| 1075 | + | |
| 1076 | +realclean: clean | |
| 1077 | + | |
| 1078 | +"$(OBJDIR)\json$O" : "$(SRCDIR)\json_detail.h" | |
| 1079 | +"$(OBJDIR)\json_artifact$O" : "$(SRCDIR)\json_detail.h" | |
| 1080 | +"$(OBJDIR)\json_branch$O" : "$(SRCDIR)\json_detail.h" | |
| 1081 | +"$(OBJDIR)\json_config$O" : "$(SRCDIR)\json_detail.h" | |
| 1082 | +"$(OBJDIR)\json_diff$O" : "$(SRCDIR)\json_detail.h" | |
| 1083 | +"$(OBJDIR)\json_dir$O" : "$(SRCDIR)\json_detail.h" | |
| 1084 | +"$(OBJDIR)\json_finfo$O" : "$(SRCDIR)\json_detail.h" | |
| 1085 | +"$(OBJDIR)\json_login$O" : "$(SRCDIR)\json_detail.h" | |
| 1086 | +"$(OBJDIR)\json_query$O" : "$(SRCDIR)\json_detail.h" | |
| 1087 | +"$(OBJDIR)\json_report$O" : "$(SRCDIR)\json_detail.h" | |
| 1088 | +"$(OBJDIR)\json_status$O" : "$(SRCDIR)\json_detail.h" | |
| 1089 | +"$(OBJDIR)\json_tag$O" : "$(SRCDIR)\json_detail.h" | |
| 1090 | +"$(OBJDIR)\json_timeline$O" : "$(SRCDIR)\json_detail.h" | |
| 1091 | +"$(OBJDIR)\json_user$O" : "$(SRCDIR)\json_detail.h" | |
| 1092 | +"$(OBJDIR)\json_wiki$O" : "$(SRCDIR)\json_detail.h" | |
| 1093 | + | |
| 1094 | +"$(OX)\builtin_data.reslist": $(EXTRA_FILES) "$(B)\win\Makefile.msc" | |
| 1095 | + echo "$(SRCDIR)\../skins/aht/details.txt" > $@ | |
| 1096 | + echo "$(SRCDIR)\../skins/ardoise/css.txt" >> $@ | |
| 1097 | + echo "$(SRCDIR)\../skins/ardoise/details.txt" >> $@ | |
| 1098 | + echo "$(SRCDIR)\../skins/ardoise/footer.txt" >> $@ | |
| 1099 | + echo "$(SRCDIR)\../skins/ardoise/header.txt" >> $@ | |
| 1100 | + echo "$(SRCDIR)\../skins/black_and_white/css.txt" >> $@ | |
| 1101 | + echo "$(SRCDIR)\../skins/black_and_white/details.txt" >> $@ | |
| 1102 | + echo "$(SRCDIR)\../skins/black_and_white/footer.txt" >> $@ | |
| 1103 | + echo "$(SRCDIR)\../skins/black_and_white/header.txt" >> $@ | |
| 1104 | + echo "$(SRCDIR)\../skins/blitz/css.txt" >> $@ | |
| 1105 | + echo "$(SRCDIR)\../skins/blitz/details.txt" >> $@ | |
| 1106 | + echo "$(SRCDIR)\../skins/blitz/footer.txt" >> $@ | |
| 1107 | + echo "$(SRCDIR)\../skins/blitz/header.txt" >> $@ | |
| 1108 | + echo "$(SRCDIR)\../skins/blitz/ticket.txt" >> $@ | |
| 1109 | + echo "$(SRCDIR)\../skins/blitz_no_logo/css.txt" >> $@ | |
| 1110 | + echo "$(SRCDIR)\../skins/blitz_no_logo/details.txt" >> $@ | |
| 1111 | + echo "$(SRCDIR)\../skins/blitz_no_logo/footer.txt" >> $@ | |
| 1112 | + echo "$(SRCDIR)\../skins/blitz_no_logo/header.txt" >> $@ | |
| 1113 | + echo "$(SRCDIR)\../skins/blitz_no_logo/ticket.txt" >> $@ | |
| 1114 | + echo "$(SRCDIR)\../skins/bootstrap/css.txt" >> $@ | |
| 1115 | + echo "$(SRCDIR)\../skins/bootstrap/details.txt" >> $@ | |
| 1116 | + echo "$(SRCDIR)\../skins/bootstrap/footer.txt" >> $@ | |
| 1117 | + echo "$(SRCDIR)\../skins/bootstrap/header.txt" >> $@ | |
| 1118 | + echo "$(SRCDIR)\../skins/default/css.txt" >> $@ | |
| 1119 | + echo "$(SRCDIR)\../skins/default/details.txt" >> $@ | |
| 1120 | + echo "$(SRCDIR)\../skins/default/footer.txt" >> $@ | |
| 1121 | + echo "$(SRCDIR)\../skins/default/header.txt" >> $@ | |
| 1122 | + echo "$(SRCDIR)\../skins/default/js.txt" >> $@ | |
| 1123 | + echo "$(SRCDIR)\../skins/eagle/css.txt" >> $@ | |
| 1124 | + echo "$(SRCDIR)\../skins/eagle/details.txt" >> $@ | |
| 1125 | + echo "$(SRCDIR)\../skins/eagle/footer.txt" >> $@ | |
| 1126 | + echo "$(SRCDIR)\../skins/eagle/header.txt" >> $@ | |
| 1127 | + echo "$(SRCDIR)\../skins/enhanced1/css.txt" >> $@ | |
| 1128 | + echo "$(SRCDIR)\../skins/enhanced1/details.txt" >> $@ | |
| 1129 | + echo "$(SRCDIR)\../skins/enhanced1/footer.txt" >> $@ | |
| 1130 | + echo "$(SRCDIR)\../skins/enhanced1/header.txt" >> $@ | |
| 1131 | + echo "$(SRCDIR)\../skins/khaki/css.txt" >> $@ | |
| 1132 | + echo "$(SRCDIR)\../skins/khaki/details.txt" >> $@ | |
| 1133 | + echo "$(SRCDIR)\../skins/khaki/footer.txt" >> $@ | |
| 1134 | + echo "$(SRCDIR)\../skins/khaki/header.txt" >> $@ | |
| 1135 | + echo "$(SRCDIR)\../skins/original/css.txt" >> $@ | |
| 1136 | + echo "$(SRCDIR)\../skins/original/details.txt" >> $@ | |
| 1137 | + echo "$(SRCDIR)\../skins/original/footer.txt" >> $@ | |
| 1138 | + echo "$(SRCDIR)\../skins/original/header.txt" >> $@ | |
| 1139 | + echo "$(SRCDIR)\../skins/plain_gray/css.txt" >> $@ | |
| 1140 | + echo "$(SRCDIR)\../skins/plain_gray/details.txt" >> $@ | |
| 1141 | + echo "$(SRCDIR)\../skins/plain_gray/footer.txt" >> $@ | |
| 1142 | + echo "$(SRCDIR)\../skins/plain_gray/header.txt" >> $@ | |
| 1143 | + echo "$(SRCDIR)\../skins/rounded1/css.txt" >> $@ | |
| 1144 | + echo "$(SRCDIR)\../skins/rounded1/details.txt" >> $@ | |
| 1145 | + echo "$(SRCDIR)\../skins/rounded1/footer.txt" >> $@ | |
| 1146 | + echo "$(SRCDIR)\../skins/rounded1/header.txt" >> $@ | |
| 1147 | + echo "$(SRCDIR)\../skins/xekri/css.txt" >> $@ | |
| 1148 | + echo "$(SRCDIR)\../skins/xekri/details.txt" >> $@ | |
| 1149 | + echo "$(SRCDIR)\../skins/xekri/footer.txt" >> $@ | |
| 1150 | + echo "$(SRCDIR)\../skins/xekri/header.txt" >> $@ | |
| 1151 | + echo "$(SRCDIR)\accordion.js" >> $@ | |
| 1152 | + echo "$(SRCDIR)\ci_edit.js" >> $@ | |
| 1153 | + echo "$(SRCDIR)\copybtn.js" >> $@ | |
| 1154 | + echo "$(SRCDIR)\default.css" >> $@ | |
| 1155 | + echo "$(SRCDIR)\diff.tcl" >> $@ | |
| 1156 | + echo "$(SRCDIR)\forum.js" >> $@ | |
| 1157 | + echo "$(SRCDIR)\fossil.bootstrap.js" >> $@ | |
| 1158 | + echo "$(SRCDIR)\fossil.confirmer.js" >> $@ | |
| 1159 | + echo "$(SRCDIR)\fossil.dom.js" >> $@ | |
| 1160 | + echo "$(SRCDIR)\fossil.fetch.js" >> $@ | |
| 1161 | + echo "$(SRCDIR)\fossil.page.fileedit.js" >> $@ | |
| 1162 | + echo "$(SRCDIR)\fossil.storage.js" >> $@ | |
| 1163 | + echo "$(SRCDIR)\fossil.tabs.js" >> $@ | |
| 1164 | + echo "$(SRCDIR)\graph.js" >> $@ | |
| 1165 | + echo "$(SRCDIR)\href.js" >> $@ | |
| 1166 | + echo "$(SRCDIR)\login.js" >> $@ | |
| 1167 | + echo "$(SRCDIR)\markdown.md" >> $@ | |
| 1168 | + echo "$(SRCDIR)\menu.js" >> $@ | |
| 1169 | + echo "$(SRCDIR)\sbsdiff.js" >> $@ | |
| 1170 | + echo "$(SRCDIR)\scroll.js" >> $@ | |
| 1171 | + echo "$(SRCDIR)\skin.js" >> $@ | |
| 1172 | + echo "$(SRCDIR)\sorttable.js" >> $@ | |
| 1173 | + echo "$(SRCDIR)\sounds/0.wav" >> $@ | |
| 1174 | + echo "$(SRCDIR)\sounds/1.wav" >> $@ | |
| 1175 | + echo "$(SRCDIR)\sounds/2.wav" >> $@ | |
| 1176 | + echo "$(SRCDIR)\sounds/3.wav" >> $@ | |
| 1177 | + echo "$(SRCDIR)\sounds/4.wav" >> $@ | |
| 1178 | + echo "$(SRCDIR)\sounds/5.wav" >> $@ | |
| 1179 | + echo "$(SRCDIR)\sounds/6.wav" >> $@ | |
| 1180 | + echo "$(SRCDIR)\sounds/7.wav" >> $@ | |
| 1181 | + echo "$(SRCDIR)\sounds/8.wav" >> $@ | |
| 1182 | + echo "$(SRCDIR)\sounds/9.wav" >> $@ | |
| 1183 | + echo "$(SRCDIR)\sounds/a.wav" >> $@ | |
| 1184 | + echo "$(SRCDIR)\sounds/b.wav" >> $@ | |
| 1185 | + echo "$(SRCDIR)\sounds/c.wav" >> $@ | |
| 1186 | + echo "$(SRCDIR)\sounds/d.wav" >> $@ | |
| 1187 | + echo "$(SRCDIR)\sounds/e.wav" >> $@ | |
| 1188 | + echo "$(SRCDIR)\sounds/f.wav" >> $@ | |
| 1189 | + echo "$(SRCDIR)\style.admin_log.css" >> $@ | |
| 1190 | + echo "$(SRCDIR)\style.fileedit.css" >> $@ | |
| 1191 | + echo "$(SRCDIR)\tree.js" >> $@ | |
| 1192 | + echo "$(SRCDIR)\useredit.js" >> $@ | |
| 1193 | + echo "$(SRCDIR)\wiki.wiki" >> $@ | |
| 1194 | + | |
| 1195 | +"$(OX)\add$O" : "$(OX)\add_.c" "$(OX)\add.h" | |
| 1196 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\add_.c" | |
| 1197 | + | |
| 1198 | +"$(OX)\add_.c" : "$(SRCDIR)\add.c" | |
| 1199 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1200 | + | |
| 1201 | +"$(OX)\ajax$O" : "$(OX)\ajax_.c" "$(OX)\ajax.h" | |
| 1202 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\ajax_.c" | |
| 1203 | + | |
| 1204 | +"$(OX)\ajax_.c" : "$(SRCDIR)\ajax.c" | |
| 1205 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1206 | + | |
| 1207 | +"$(OX)\alerts$O" : "$(OX)\alerts_.c" "$(OX)\alerts.h" | |
| 1208 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\alerts_.c" | |
| 1209 | + | |
| 1210 | +"$(OX)\alerts_.c" : "$(SRCDIR)\alerts.c" | |
| 1211 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1212 | + | |
| 1213 | +"$(OX)\allrepo$O" : "$(OX)\allrepo_.c" "$(OX)\allrepo.h" | |
| 1214 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\allrepo_.c" | |
| 1215 | + | |
| 1216 | +"$(OX)\allrepo_.c" : "$(SRCDIR)\allrepo.c" | |
| 1217 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1218 | + | |
| 1219 | +"$(OX)\attach$O" : "$(OX)\attach_.c" "$(OX)\attach.h" | |
| 1220 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\attach_.c" | |
| 1221 | + | |
| 1222 | +"$(OX)\attach_.c" : "$(SRCDIR)\attach.c" | |
| 1223 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1224 | + | |
| 1225 | +"$(OX)\backlink$O" : "$(OX)\backlink_.c" "$(OX)\backlink.h" | |
| 1226 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\backlink_.c" | |
| 1227 | + | |
| 1228 | +"$(OX)\backlink_.c" : "$(SRCDIR)\backlink.c" | |
| 1229 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1230 | + | |
| 1231 | +"$(OX)\backoffice$O" : "$(OX)\backoffice_.c" "$(OX)\backoffice.h" | |
| 1232 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\backoffice_.c" | |
| 1233 | + | |
| 1234 | +"$(OX)\backoffice_.c" : "$(SRCDIR)\backoffice.c" | |
| 1235 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1236 | + | |
| 1237 | +"$(OX)\bag$O" : "$(OX)\bag_.c" "$(OX)\bag.h" | |
| 1238 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\bag_.c" | |
| 1239 | + | |
| 1240 | +"$(OX)\bag_.c" : "$(SRCDIR)\bag.c" | |
| 1241 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1242 | + | |
| 1243 | +"$(OX)\bisect$O" : "$(OX)\bisect_.c" "$(OX)\bisect.h" | |
| 1244 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\bisect_.c" | |
| 1245 | + | |
| 1246 | +"$(OX)\bisect_.c" : "$(SRCDIR)\bisect.c" | |
| 1247 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1248 | + | |
| 1249 | +"$(OX)\blob$O" : "$(OX)\blob_.c" "$(OX)\blob.h" | |
| 1250 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\blob_.c" | |
| 1251 | + | |
| 1252 | +"$(OX)\blob_.c" : "$(SRCDIR)\blob.c" | |
| 1253 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1254 | + | |
| 1255 | +"$(OX)\branch$O" : "$(OX)\branch_.c" "$(OX)\branch.h" | |
| 1256 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\branch_.c" | |
| 1257 | + | |
| 1258 | +"$(OX)\branch_.c" : "$(SRCDIR)\branch.c" | |
| 1259 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1260 | + | |
| 1261 | +"$(OX)\browse$O" : "$(OX)\browse_.c" "$(OX)\browse.h" | |
| 1262 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\browse_.c" | |
| 1263 | + | |
| 1264 | +"$(OX)\browse_.c" : "$(SRCDIR)\browse.c" | |
| 1265 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1266 | + | |
| 1267 | +"$(OX)\builtin$O" : "$(OX)\builtin_.c" "$(OX)\builtin.h" | |
| 1268 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\builtin_.c" | |
| 1269 | + | |
| 1270 | +"$(OX)\builtin_.c" : "$(SRCDIR)\builtin.c" | |
| 1271 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1272 | + | |
| 1273 | +"$(OX)\bundle$O" : "$(OX)\bundle_.c" "$(OX)\bundle.h" | |
| 1274 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\bundle_.c" | |
| 1275 | + | |
| 1276 | +"$(OX)\bundle_.c" : "$(SRCDIR)\bundle.c" | |
| 1277 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1278 | + | |
| 1279 | +"$(OX)\cache$O" : "$(OX)\cache_.c" "$(OX)\cache.h" | |
| 1280 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\cache_.c" | |
| 1281 | + | |
| 1282 | +"$(OX)\cache_.c" : "$(SRCDIR)\cache.c" | |
| 1283 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1284 | + | |
| 1285 | +"$(OX)\capabilities$O" : "$(OX)\capabilities_.c" "$(OX)\capabilities.h" | |
| 1286 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\capabilities_.c" | |
| 1287 | + | |
| 1288 | +"$(OX)\capabilities_.c" : "$(SRCDIR)\capabilities.c" | |
| 1289 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1290 | + | |
| 1291 | +"$(OX)\captcha$O" : "$(OX)\captcha_.c" "$(OX)\captcha.h" | |
| 1292 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\captcha_.c" | |
| 1293 | + | |
| 1294 | +"$(OX)\captcha_.c" : "$(SRCDIR)\captcha.c" | |
| 1295 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1296 | + | |
| 1297 | +"$(OX)\cgi$O" : "$(OX)\cgi_.c" "$(OX)\cgi.h" | |
| 1298 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\cgi_.c" | |
| 1299 | + | |
| 1300 | +"$(OX)\cgi_.c" : "$(SRCDIR)\cgi.c" | |
| 1301 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1302 | + | |
| 1303 | +"$(OX)\checkin$O" : "$(OX)\checkin_.c" "$(OX)\checkin.h" | |
| 1304 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\checkin_.c" | |
| 1305 | + | |
| 1306 | +"$(OX)\checkin_.c" : "$(SRCDIR)\checkin.c" | |
| 1307 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1308 | + | |
| 1309 | +"$(OX)\checkout$O" : "$(OX)\checkout_.c" "$(OX)\checkout.h" | |
| 1310 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\checkout_.c" | |
| 1311 | + | |
| 1312 | +"$(OX)\checkout_.c" : "$(SRCDIR)\checkout.c" | |
| 1313 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1314 | + | |
| 1315 | +"$(OX)\clearsign$O" : "$(OX)\clearsign_.c" "$(OX)\clearsign.h" | |
| 1316 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\clearsign_.c" | |
| 1317 | + | |
| 1318 | +"$(OX)\clearsign_.c" : "$(SRCDIR)\clearsign.c" | |
| 1319 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1320 | + | |
| 1321 | +"$(OX)\clone$O" : "$(OX)\clone_.c" "$(OX)\clone.h" | |
| 1322 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\clone_.c" | |
| 1323 | + | |
| 1324 | +"$(OX)\clone_.c" : "$(SRCDIR)\clone.c" | |
| 1325 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1326 | + | |
| 1327 | +"$(OX)\comformat$O" : "$(OX)\comformat_.c" "$(OX)\comformat.h" | |
| 1328 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\comformat_.c" | |
| 1329 | + | |
| 1330 | +"$(OX)\comformat_.c" : "$(SRCDIR)\comformat.c" | |
| 1331 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1332 | + | |
| 1333 | +"$(OX)\configure$O" : "$(OX)\configure_.c" "$(OX)\configure.h" | |
| 1334 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\configure_.c" | |
| 1335 | + | |
| 1336 | +"$(OX)\configure_.c" : "$(SRCDIR)\configure.c" | |
| 1337 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1338 | + | |
| 1339 | +"$(OX)\content$O" : "$(OX)\content_.c" "$(OX)\content.h" | |
| 1340 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\content_.c" | |
| 1341 | + | |
| 1342 | +"$(OX)\content_.c" : "$(SRCDIR)\content.c" | |
| 1343 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1344 | + | |
| 1345 | +"$(OX)\cookies$O" : "$(OX)\cookies_.c" "$(OX)\cookies.h" | |
| 1346 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\cookies_.c" | |
| 1347 | + | |
| 1348 | +"$(OX)\cookies_.c" : "$(SRCDIR)\cookies.c" | |
| 1349 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1350 | + | |
| 1351 | +"$(OX)\db$O" : "$(OX)\db_.c" "$(OX)\db.h" | |
| 1352 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\db_.c" | |
| 1353 | + | |
| 1354 | +"$(OX)\db_.c" : "$(SRCDIR)\db.c" | |
| 1355 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1356 | + | |
| 1357 | +"$(OX)\delta$O" : "$(OX)\delta_.c" "$(OX)\delta.h" | |
| 1358 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\delta_.c" | |
| 1359 | + | |
| 1360 | +"$(OX)\delta_.c" : "$(SRCDIR)\delta.c" | |
| 1361 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1362 | + | |
| 1363 | +"$(OX)\deltacmd$O" : "$(OX)\deltacmd_.c" "$(OX)\deltacmd.h" | |
| 1364 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\deltacmd_.c" | |
| 1365 | + | |
| 1366 | +"$(OX)\deltacmd_.c" : "$(SRCDIR)\deltacmd.c" | |
| 1367 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1368 | + | |
| 1369 | +"$(OX)\deltafunc$O" : "$(OX)\deltafunc_.c" "$(OX)\deltafunc.h" | |
| 1370 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\deltafunc_.c" | |
| 1371 | + | |
| 1372 | +"$(OX)\deltafunc_.c" : "$(SRCDIR)\deltafunc.c" | |
| 1373 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1374 | + | |
| 1375 | +"$(OX)\descendants$O" : "$(OX)\descendants_.c" "$(OX)\descendants.h" | |
| 1376 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\descendants_.c" | |
| 1377 | + | |
| 1378 | +"$(OX)\descendants_.c" : "$(SRCDIR)\descendants.c" | |
| 1379 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1380 | + | |
| 1381 | +"$(OX)\diff$O" : "$(OX)\diff_.c" "$(OX)\diff.h" | |
| 1382 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\diff_.c" | |
| 1383 | + | |
| 1384 | +"$(OX)\diff_.c" : "$(SRCDIR)\diff.c" | |
| 1385 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1386 | + | |
| 1387 | +"$(OX)\diffcmd$O" : "$(OX)\diffcmd_.c" "$(OX)\diffcmd.h" | |
| 1388 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\diffcmd_.c" | |
| 1389 | + | |
| 1390 | +"$(OX)\diffcmd_.c" : "$(SRCDIR)\diffcmd.c" | |
| 1391 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1392 | + | |
| 1393 | +"$(OX)\dispatch$O" : "$(OX)\dispatch_.c" "$(OX)\dispatch.h" | |
| 1394 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\dispatch_.c" | |
| 1395 | + | |
| 1396 | +"$(OX)\dispatch_.c" : "$(SRCDIR)\dispatch.c" | |
| 1397 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1398 | + | |
| 1399 | +"$(OX)\doc$O" : "$(OX)\doc_.c" "$(OX)\doc.h" | |
| 1400 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\doc_.c" | |
| 1401 | + | |
| 1402 | +"$(OX)\doc_.c" : "$(SRCDIR)\doc.c" | |
| 1403 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1404 | + | |
| 1405 | +"$(OX)\encode$O" : "$(OX)\encode_.c" "$(OX)\encode.h" | |
| 1406 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\encode_.c" | |
| 1407 | + | |
| 1408 | +"$(OX)\encode_.c" : "$(SRCDIR)\encode.c" | |
| 1409 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1410 | + | |
| 1411 | +"$(OX)\etag$O" : "$(OX)\etag_.c" "$(OX)\etag.h" | |
| 1412 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\etag_.c" | |
| 1413 | + | |
| 1414 | +"$(OX)\etag_.c" : "$(SRCDIR)\etag.c" | |
| 1415 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1416 | + | |
| 1417 | +"$(OX)\event$O" : "$(OX)\event_.c" "$(OX)\event.h" | |
| 1418 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\event_.c" | |
| 1419 | + | |
| 1420 | +"$(OX)\event_.c" : "$(SRCDIR)\event.c" | |
| 1421 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1422 | + | |
| 1423 | +"$(OX)\export$O" : "$(OX)\export_.c" "$(OX)\export.h" | |
| 1424 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\export_.c" | |
| 1425 | + | |
| 1426 | +"$(OX)\export_.c" : "$(SRCDIR)\export.c" | |
| 1427 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1428 | + | |
| 1429 | +"$(OX)\extcgi$O" : "$(OX)\extcgi_.c" "$(OX)\extcgi.h" | |
| 1430 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\extcgi_.c" | |
| 1431 | + | |
| 1432 | +"$(OX)\extcgi_.c" : "$(SRCDIR)\extcgi.c" | |
| 1433 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1434 | + | |
| 1435 | +"$(OX)\file$O" : "$(OX)\file_.c" "$(OX)\file.h" | |
| 1436 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\file_.c" | |
| 1437 | + | |
| 1438 | +"$(OX)\file_.c" : "$(SRCDIR)\file.c" | |
| 1439 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1440 | + | |
| 1441 | +"$(OX)\fileedit$O" : "$(OX)\fileedit_.c" "$(OX)\fileedit.h" | |
| 1442 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\fileedit_.c" | |
| 1443 | + | |
| 1444 | +"$(OX)\fileedit_.c" : "$(SRCDIR)\fileedit.c" | |
| 1445 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1446 | + | |
| 1447 | +"$(OX)\finfo$O" : "$(OX)\finfo_.c" "$(OX)\finfo.h" | |
| 1448 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\finfo_.c" | |
| 1449 | + | |
| 1450 | +"$(OX)\finfo_.c" : "$(SRCDIR)\finfo.c" | |
| 1451 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1452 | + | |
| 1453 | +"$(OX)\foci$O" : "$(OX)\foci_.c" "$(OX)\foci.h" | |
| 1454 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\foci_.c" | |
| 1455 | + | |
| 1456 | +"$(OX)\foci_.c" : "$(SRCDIR)\foci.c" | |
| 1457 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1458 | + | |
| 1459 | +"$(OX)\forum$O" : "$(OX)\forum_.c" "$(OX)\forum.h" | |
| 1460 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\forum_.c" | |
| 1461 | + | |
| 1462 | +"$(OX)\forum_.c" : "$(SRCDIR)\forum.c" | |
| 1463 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1464 | + | |
| 1465 | +"$(OX)\fshell$O" : "$(OX)\fshell_.c" "$(OX)\fshell.h" | |
| 1466 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\fshell_.c" | |
| 1467 | + | |
| 1468 | +"$(OX)\fshell_.c" : "$(SRCDIR)\fshell.c" | |
| 1469 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1470 | + | |
| 1471 | +"$(OX)\fusefs$O" : "$(OX)\fusefs_.c" "$(OX)\fusefs.h" | |
| 1472 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\fusefs_.c" | |
| 1473 | + | |
| 1474 | +"$(OX)\fusefs_.c" : "$(SRCDIR)\fusefs.c" | |
| 1475 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1476 | + | |
| 1477 | +"$(OX)\fuzz$O" : "$(OX)\fuzz_.c" "$(OX)\fuzz.h" | |
| 1478 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\fuzz_.c" | |
| 1479 | + | |
| 1480 | +"$(OX)\fuzz_.c" : "$(SRCDIR)\fuzz.c" | |
| 1481 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1482 | + | |
| 1483 | +"$(OX)\glob$O" : "$(OX)\glob_.c" "$(OX)\glob.h" | |
| 1484 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\glob_.c" | |
| 1485 | + | |
| 1486 | +"$(OX)\glob_.c" : "$(SRCDIR)\glob.c" | |
| 1487 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1488 | + | |
| 1489 | +"$(OX)\graph$O" : "$(OX)\graph_.c" "$(OX)\graph.h" | |
| 1490 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\graph_.c" | |
| 1491 | + | |
| 1492 | +"$(OX)\graph_.c" : "$(SRCDIR)\graph.c" | |
| 1493 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1494 | + | |
| 1495 | +"$(OX)\gzip$O" : "$(OX)\gzip_.c" "$(OX)\gzip.h" | |
| 1496 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\gzip_.c" | |
| 1497 | + | |
| 1498 | +"$(OX)\gzip_.c" : "$(SRCDIR)\gzip.c" | |
| 1499 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1500 | + | |
| 1501 | +"$(OX)\hname$O" : "$(OX)\hname_.c" "$(OX)\hname.h" | |
| 1502 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\hname_.c" | |
| 1503 | + | |
| 1504 | +"$(OX)\hname_.c" : "$(SRCDIR)\hname.c" | |
| 1505 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1506 | + | |
| 1507 | +"$(OX)\http$O" : "$(OX)\http_.c" "$(OX)\http.h" | |
| 1508 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\http_.c" | |
| 1509 | + | |
| 1510 | +"$(OX)\http_.c" : "$(SRCDIR)\http.c" | |
| 1511 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1512 | + | |
| 1513 | +"$(OX)\http_socket$O" : "$(OX)\http_socket_.c" "$(OX)\http_socket.h" | |
| 1514 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\http_socket_.c" | |
| 1515 | + | |
| 1516 | +"$(OX)\http_socket_.c" : "$(SRCDIR)\http_socket.c" | |
| 1517 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1518 | + | |
| 1519 | +"$(OX)\http_ssl$O" : "$(OX)\http_ssl_.c" "$(OX)\http_ssl.h" | |
| 1520 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\http_ssl_.c" | |
| 1521 | + | |
| 1522 | +"$(OX)\http_ssl_.c" : "$(SRCDIR)\http_ssl.c" | |
| 1523 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1524 | + | |
| 1525 | +"$(OX)\http_transport$O" : "$(OX)\http_transport_.c" "$(OX)\http_transport.h" | |
| 1526 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\http_transport_.c" | |
| 1527 | + | |
| 1528 | +"$(OX)\http_transport_.c" : "$(SRCDIR)\http_transport.c" | |
| 1529 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1530 | + | |
| 1531 | +"$(OX)\import$O" : "$(OX)\import_.c" "$(OX)\import.h" | |
| 1532 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\import_.c" | |
| 1533 | + | |
| 1534 | +"$(OX)\import_.c" : "$(SRCDIR)\import.c" | |
| 1535 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1536 | + | |
| 1537 | +"$(OX)\info$O" : "$(OX)\info_.c" "$(OX)\info.h" | |
| 1538 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\info_.c" | |
| 1539 | + | |
| 1540 | +"$(OX)\info_.c" : "$(SRCDIR)\info.c" | |
| 1541 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1542 | + | |
| 1543 | +"$(OX)\json$O" : "$(OX)\json_.c" "$(OX)\json.h" | |
| 1544 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\json_.c" | |
| 1545 | + | |
| 1546 | +"$(OX)\json_.c" : "$(SRCDIR)\json.c" | |
| 1547 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1548 | + | |
| 1549 | +"$(OX)\json_artifact$O" : "$(OX)\json_artifact_.c" "$(OX)\json_artifact.h" | |
| 1550 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\json_artifact_.c" | |
| 1551 | + | |
| 1552 | +"$(OX)\json_artifact_.c" : "$(SRCDIR)\json_artifact.c" | |
| 1553 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1554 | + | |
| 1555 | +"$(OX)\json_branch$O" : "$(OX)\json_branch_.c" "$(OX)\json_branch.h" | |
| 1556 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\json_branch_.c" | |
| 1557 | + | |
| 1558 | +"$(OX)\json_branch_.c" : "$(SRCDIR)\json_branch.c" | |
| 1559 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1560 | + | |
| 1561 | +"$(OX)\json_config$O" : "$(OX)\json_config_.c" "$(OX)\json_config.h" | |
| 1562 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\json_config_.c" | |
| 1563 | + | |
| 1564 | +"$(OX)\json_config_.c" : "$(SRCDIR)\json_config.c" | |
| 1565 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1566 | + | |
| 1567 | +"$(OX)\json_diff$O" : "$(OX)\json_diff_.c" "$(OX)\json_diff.h" | |
| 1568 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\json_diff_.c" | |
| 1569 | + | |
| 1570 | +"$(OX)\json_diff_.c" : "$(SRCDIR)\json_diff.c" | |
| 1571 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1572 | + | |
| 1573 | +"$(OX)\json_dir$O" : "$(OX)\json_dir_.c" "$(OX)\json_dir.h" | |
| 1574 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\json_dir_.c" | |
| 1575 | + | |
| 1576 | +"$(OX)\json_dir_.c" : "$(SRCDIR)\json_dir.c" | |
| 1577 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1578 | + | |
| 1579 | +"$(OX)\json_finfo$O" : "$(OX)\json_finfo_.c" "$(OX)\json_finfo.h" | |
| 1580 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\json_finfo_.c" | |
| 1581 | + | |
| 1582 | +"$(OX)\json_finfo_.c" : "$(SRCDIR)\json_finfo.c" | |
| 1583 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1584 | + | |
| 1585 | +"$(OX)\json_login$O" : "$(OX)\json_login_.c" "$(OX)\json_login.h" | |
| 1586 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\json_login_.c" | |
| 1587 | + | |
| 1588 | +"$(OX)\json_login_.c" : "$(SRCDIR)\json_login.c" | |
| 1589 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1590 | + | |
| 1591 | +"$(OX)\json_query$O" : "$(OX)\json_query_.c" "$(OX)\json_query.h" | |
| 1592 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\json_query_.c" | |
| 1593 | + | |
| 1594 | +"$(OX)\json_query_.c" : "$(SRCDIR)\json_query.c" | |
| 1595 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1596 | + | |
| 1597 | +"$(OX)\json_report$O" : "$(OX)\json_report_.c" "$(OX)\json_report.h" | |
| 1598 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\json_report_.c" | |
| 1599 | + | |
| 1600 | +"$(OX)\json_report_.c" : "$(SRCDIR)\json_report.c" | |
| 1601 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1602 | + | |
| 1603 | +"$(OX)\json_status$O" : "$(OX)\json_status_.c" "$(OX)\json_status.h" | |
| 1604 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\json_status_.c" | |
| 1605 | + | |
| 1606 | +"$(OX)\json_status_.c" : "$(SRCDIR)\json_status.c" | |
| 1607 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1608 | + | |
| 1609 | +"$(OX)\json_tag$O" : "$(OX)\json_tag_.c" "$(OX)\json_tag.h" | |
| 1610 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\json_tag_.c" | |
| 1611 | + | |
| 1612 | +"$(OX)\json_tag_.c" : "$(SRCDIR)\json_tag.c" | |
| 1613 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1614 | + | |
| 1615 | +"$(OX)\json_timeline$O" : "$(OX)\json_timeline_.c" "$(OX)\json_timeline.h" | |
| 1616 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\json_timeline_.c" | |
| 1617 | + | |
| 1618 | +"$(OX)\json_timeline_.c" : "$(SRCDIR)\json_timeline.c" | |
| 1619 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1620 | + | |
| 1621 | +"$(OX)\json_user$O" : "$(OX)\json_user_.c" "$(OX)\json_user.h" | |
| 1622 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\json_user_.c" | |
| 1623 | + | |
| 1624 | +"$(OX)\json_user_.c" : "$(SRCDIR)\json_user.c" | |
| 1625 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1626 | + | |
| 1627 | +"$(OX)\json_wiki$O" : "$(OX)\json_wiki_.c" "$(OX)\json_wiki.h" | |
| 1628 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\json_wiki_.c" | |
| 1629 | + | |
| 1630 | +"$(OX)\json_wiki_.c" : "$(SRCDIR)\json_wiki.c" | |
| 1631 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1632 | + | |
| 1633 | +"$(OX)\leaf$O" : "$(OX)\leaf_.c" "$(OX)\leaf.h" | |
| 1634 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\leaf_.c" | |
| 1635 | + | |
| 1636 | +"$(OX)\leaf_.c" : "$(SRCDIR)\leaf.c" | |
| 1637 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1638 | + | |
| 1639 | +"$(OX)\loadctrl$O" : "$(OX)\loadctrl_.c" "$(OX)\loadctrl.h" | |
| 1640 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\loadctrl_.c" | |
| 1641 | + | |
| 1642 | +"$(OX)\loadctrl_.c" : "$(SRCDIR)\loadctrl.c" | |
| 1643 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1644 | + | |
| 1645 | +"$(OX)\login$O" : "$(OX)\login_.c" "$(OX)\login.h" | |
| 1646 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\login_.c" | |
| 1647 | + | |
| 1648 | +"$(OX)\login_.c" : "$(SRCDIR)\login.c" | |
| 1649 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1650 | + | |
| 1651 | +"$(OX)\lookslike$O" : "$(OX)\lookslike_.c" "$(OX)\lookslike.h" | |
| 1652 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\lookslike_.c" | |
| 1653 | + | |
| 1654 | +"$(OX)\lookslike_.c" : "$(SRCDIR)\lookslike.c" | |
| 1655 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1656 | + | |
| 1657 | +"$(OX)\main$O" : "$(OX)\main_.c" "$(OX)\main.h" | |
| 1658 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\main_.c" | |
| 1659 | + | |
| 1660 | +"$(OX)\main_.c" : "$(SRCDIR)\main.c" | |
| 1661 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1662 | + | |
| 1663 | +"$(OX)\manifest$O" : "$(OX)\manifest_.c" "$(OX)\manifest.h" | |
| 1664 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\manifest_.c" | |
| 1665 | + | |
| 1666 | +"$(OX)\manifest_.c" : "$(SRCDIR)\manifest.c" | |
| 1667 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1668 | + | |
| 1669 | +"$(OX)\markdown$O" : "$(OX)\markdown_.c" "$(OX)\markdown.h" | |
| 1670 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\markdown_.c" | |
| 1671 | + | |
| 1672 | +"$(OX)\markdown_.c" : "$(SRCDIR)\markdown.c" | |
| 1673 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1674 | + | |
| 1675 | +"$(OX)\markdown_html$O" : "$(OX)\markdown_html_.c" "$(OX)\markdown_html.h" | |
| 1676 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\markdown_html_.c" | |
| 1677 | + | |
| 1678 | +"$(OX)\markdown_html_.c" : "$(SRCDIR)\markdown_html.c" | |
| 1679 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1680 | + | |
| 1681 | +"$(OX)\md5$O" : "$(OX)\md5_.c" "$(OX)\md5.h" | |
| 1682 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\md5_.c" | |
| 1683 | + | |
| 1684 | +"$(OX)\md5_.c" : "$(SRCDIR)\md5.c" | |
| 1685 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1686 | + | |
| 1687 | +"$(OX)\merge$O" : "$(OX)\merge_.c" "$(OX)\merge.h" | |
| 1688 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\merge_.c" | |
| 1689 | + | |
| 1690 | +"$(OX)\merge_.c" : "$(SRCDIR)\merge.c" | |
| 1691 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1692 | + | |
| 1693 | +"$(OX)\merge3$O" : "$(OX)\merge3_.c" "$(OX)\merge3.h" | |
| 1694 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\merge3_.c" | |
| 1695 | + | |
| 1696 | +"$(OX)\merge3_.c" : "$(SRCDIR)\merge3.c" | |
| 1697 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1698 | + | |
| 1699 | +"$(OX)\moderate$O" : "$(OX)\moderate_.c" "$(OX)\moderate.h" | |
| 1700 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\moderate_.c" | |
| 1701 | + | |
| 1702 | +"$(OX)\moderate_.c" : "$(SRCDIR)\moderate.c" | |
| 1703 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1704 | + | |
| 1705 | +"$(OX)\name$O" : "$(OX)\name_.c" "$(OX)\name.h" | |
| 1706 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\name_.c" | |
| 1707 | + | |
| 1708 | +"$(OX)\name_.c" : "$(SRCDIR)\name.c" | |
| 1709 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1710 | + | |
| 1711 | +"$(OX)\path$O" : "$(OX)\path_.c" "$(OX)\path.h" | |
| 1712 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\path_.c" | |
| 1713 | + | |
| 1714 | +"$(OX)\path_.c" : "$(SRCDIR)\path.c" | |
| 1715 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1716 | + | |
| 1717 | +"$(OX)\piechart$O" : "$(OX)\piechart_.c" "$(OX)\piechart.h" | |
| 1718 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\piechart_.c" | |
| 1719 | + | |
| 1720 | +"$(OX)\piechart_.c" : "$(SRCDIR)\piechart.c" | |
| 1721 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1722 | + | |
| 1723 | +"$(OX)\pivot$O" : "$(OX)\pivot_.c" "$(OX)\pivot.h" | |
| 1724 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\pivot_.c" | |
| 1725 | + | |
| 1726 | +"$(OX)\pivot_.c" : "$(SRCDIR)\pivot.c" | |
| 1727 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1728 | + | |
| 1729 | +"$(OX)\popen$O" : "$(OX)\popen_.c" "$(OX)\popen.h" | |
| 1730 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\popen_.c" | |
| 1731 | + | |
| 1732 | +"$(OX)\popen_.c" : "$(SRCDIR)\popen.c" | |
| 1733 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1734 | + | |
| 1735 | +"$(OX)\pqueue$O" : "$(OX)\pqueue_.c" "$(OX)\pqueue.h" | |
| 1736 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\pqueue_.c" | |
| 1737 | + | |
| 1738 | +"$(OX)\pqueue_.c" : "$(SRCDIR)\pqueue.c" | |
| 1739 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1740 | + | |
| 1741 | +"$(OX)\printf$O" : "$(OX)\printf_.c" "$(OX)\printf.h" | |
| 1742 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\printf_.c" | |
| 1743 | + | |
| 1744 | +"$(OX)\printf_.c" : "$(SRCDIR)\printf.c" | |
| 1745 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1746 | + | |
| 1747 | +"$(OX)\publish$O" : "$(OX)\publish_.c" "$(OX)\publish.h" | |
| 1748 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\publish_.c" | |
| 1749 | + | |
| 1750 | +"$(OX)\publish_.c" : "$(SRCDIR)\publish.c" | |
| 1751 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1752 | + | |
| 1753 | +"$(OX)\purge$O" : "$(OX)\purge_.c" "$(OX)\purge.h" | |
| 1754 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\purge_.c" | |
| 1755 | + | |
| 1756 | +"$(OX)\purge_.c" : "$(SRCDIR)\purge.c" | |
| 1757 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1758 | + | |
| 1759 | +"$(OX)\rebuild$O" : "$(OX)\rebuild_.c" "$(OX)\rebuild.h" | |
| 1760 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\rebuild_.c" | |
| 1761 | + | |
| 1762 | +"$(OX)\rebuild_.c" : "$(SRCDIR)\rebuild.c" | |
| 1763 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1764 | + | |
| 1765 | +"$(OX)\regexp$O" : "$(OX)\regexp_.c" "$(OX)\regexp.h" | |
| 1766 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\regexp_.c" | |
| 1767 | + | |
| 1768 | +"$(OX)\regexp_.c" : "$(SRCDIR)\regexp.c" | |
| 1769 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1770 | + | |
| 1771 | +"$(OX)\repolist$O" : "$(OX)\repolist_.c" "$(OX)\repolist.h" | |
| 1772 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\repolist_.c" | |
| 1773 | + | |
| 1774 | +"$(OX)\repolist_.c" : "$(SRCDIR)\repolist.c" | |
| 1775 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1776 | + | |
| 1777 | +"$(OX)\report$O" : "$(OX)\report_.c" "$(OX)\report.h" | |
| 1778 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\report_.c" | |
| 1779 | + | |
| 1780 | +"$(OX)\report_.c" : "$(SRCDIR)\report.c" | |
| 1781 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1782 | + | |
| 1783 | +"$(OX)\rss$O" : "$(OX)\rss_.c" "$(OX)\rss.h" | |
| 1784 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\rss_.c" | |
| 1785 | + | |
| 1786 | +"$(OX)\rss_.c" : "$(SRCDIR)\rss.c" | |
| 1787 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1788 | + | |
| 1789 | +"$(OX)\schema$O" : "$(OX)\schema_.c" "$(OX)\schema.h" | |
| 1790 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\schema_.c" | |
| 1791 | + | |
| 1792 | +"$(OX)\schema_.c" : "$(SRCDIR)\schema.c" | |
| 1793 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1794 | + | |
| 1795 | +"$(OX)\search$O" : "$(OX)\search_.c" "$(OX)\search.h" | |
| 1796 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\search_.c" | |
| 1797 | + | |
| 1798 | +"$(OX)\search_.c" : "$(SRCDIR)\search.c" | |
| 1799 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1800 | + | |
| 1801 | +"$(OX)\security_audit$O" : "$(OX)\security_audit_.c" "$(OX)\security_audit.h" | |
| 1802 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\security_audit_.c" | |
| 1803 | + | |
| 1804 | +"$(OX)\security_audit_.c" : "$(SRCDIR)\security_audit.c" | |
| 1805 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1806 | + | |
| 1807 | +"$(OX)\setup$O" : "$(OX)\setup_.c" "$(OX)\setup.h" | |
| 1808 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\setup_.c" | |
| 1809 | + | |
| 1810 | +"$(OX)\setup_.c" : "$(SRCDIR)\setup.c" | |
| 1811 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1812 | + | |
| 1813 | +"$(OX)\setupuser$O" : "$(OX)\setupuser_.c" "$(OX)\setupuser.h" | |
| 1814 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\setupuser_.c" | |
| 1815 | + | |
| 1816 | +"$(OX)\setupuser_.c" : "$(SRCDIR)\setupuser.c" | |
| 1817 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1818 | + | |
| 1819 | +"$(OX)\sha1$O" : "$(OX)\sha1_.c" "$(OX)\sha1.h" | |
| 1820 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\sha1_.c" | |
| 1821 | + | |
| 1822 | +"$(OX)\sha1_.c" : "$(SRCDIR)\sha1.c" | |
| 1823 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1824 | + | |
| 1825 | +"$(OX)\sha1hard$O" : "$(OX)\sha1hard_.c" "$(OX)\sha1hard.h" | |
| 1826 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\sha1hard_.c" | |
| 1827 | + | |
| 1828 | +"$(OX)\sha1hard_.c" : "$(SRCDIR)\sha1hard.c" | |
| 1829 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1830 | + | |
| 1831 | +"$(OX)\sha3$O" : "$(OX)\sha3_.c" "$(OX)\sha3.h" | |
| 1832 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\sha3_.c" | |
| 1833 | + | |
| 1834 | +"$(OX)\sha3_.c" : "$(SRCDIR)\sha3.c" | |
| 1835 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1836 | + | |
| 1837 | +"$(OX)\shun$O" : "$(OX)\shun_.c" "$(OX)\shun.h" | |
| 1838 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\shun_.c" | |
| 1839 | + | |
| 1840 | +"$(OX)\shun_.c" : "$(SRCDIR)\shun.c" | |
| 1841 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1842 | + | |
| 1843 | +"$(OX)\sitemap$O" : "$(OX)\sitemap_.c" "$(OX)\sitemap.h" | |
| 1844 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\sitemap_.c" | |
| 1845 | + | |
| 1846 | +"$(OX)\sitemap_.c" : "$(SRCDIR)\sitemap.c" | |
| 1847 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1848 | + | |
| 1849 | +"$(OX)\skins$O" : "$(OX)\skins_.c" "$(OX)\skins.h" | |
| 1850 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\skins_.c" | |
| 1851 | + | |
| 1852 | +"$(OX)\skins_.c" : "$(SRCDIR)\skins.c" | |
| 1853 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1854 | + | |
| 1855 | +"$(OX)\smtp$O" : "$(OX)\smtp_.c" "$(OX)\smtp.h" | |
| 1856 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\smtp_.c" | |
| 1857 | + | |
| 1858 | +"$(OX)\smtp_.c" : "$(SRCDIR)\smtp.c" | |
| 1859 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1860 | + | |
| 1861 | +"$(OX)\sqlcmd$O" : "$(OX)\sqlcmd_.c" "$(OX)\sqlcmd.h" | |
| 1862 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\sqlcmd_.c" | |
| 1863 | + | |
| 1864 | +"$(OX)\sqlcmd_.c" : "$(SRCDIR)\sqlcmd.c" | |
| 1865 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1866 | + | |
| 1867 | +"$(OX)\stash$O" : "$(OX)\stash_.c" "$(OX)\stash.h" | |
| 1868 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\stash_.c" | |
| 1869 | + | |
| 1870 | +"$(OX)\stash_.c" : "$(SRCDIR)\stash.c" | |
| 1871 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1872 | + | |
| 1873 | +"$(OX)\stat$O" : "$(OX)\stat_.c" "$(OX)\stat.h" | |
| 1874 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\stat_.c" | |
| 1875 | + | |
| 1876 | +"$(OX)\stat_.c" : "$(SRCDIR)\stat.c" | |
| 1877 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1878 | + | |
| 1879 | +"$(OX)\statrep$O" : "$(OX)\statrep_.c" "$(OX)\statrep.h" | |
| 1880 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\statrep_.c" | |
| 1881 | + | |
| 1882 | +"$(OX)\statrep_.c" : "$(SRCDIR)\statrep.c" | |
| 1883 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1884 | + | |
| 1885 | +"$(OX)\style$O" : "$(OX)\style_.c" "$(OX)\style.h" | |
| 1886 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\style_.c" | |
| 1887 | + | |
| 1888 | +"$(OX)\style_.c" : "$(SRCDIR)\style.c" | |
| 1889 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1890 | + | |
| 1891 | +"$(OX)\sync$O" : "$(OX)\sync_.c" "$(OX)\sync.h" | |
| 1892 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\sync_.c" | |
| 1893 | + | |
| 1894 | +"$(OX)\sync_.c" : "$(SRCDIR)\sync.c" | |
| 1895 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1896 | + | |
| 1897 | +"$(OX)\tag$O" : "$(OX)\tag_.c" "$(OX)\tag.h" | |
| 1898 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\tag_.c" | |
| 1899 | + | |
| 1900 | +"$(OX)\tag_.c" : "$(SRCDIR)\tag.c" | |
| 1901 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1902 | + | |
| 1903 | +"$(OX)\tar$O" : "$(OX)\tar_.c" "$(OX)\tar.h" | |
| 1904 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\tar_.c" | |
| 1905 | + | |
| 1906 | +"$(OX)\tar_.c" : "$(SRCDIR)\tar.c" | |
| 1907 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1908 | + | |
| 1909 | +"$(OX)\terminal$O" : "$(OX)\terminal_.c" "$(OX)\terminal.h" | |
| 1910 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\terminal_.c" | |
| 1911 | + | |
| 1912 | +"$(OX)\terminal_.c" : "$(SRCDIR)\terminal.c" | |
| 1913 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1914 | + | |
| 1915 | +"$(OX)\th_main$O" : "$(OX)\th_main_.c" "$(OX)\th_main.h" | |
| 1916 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\th_main_.c" | |
| 1917 | + | |
| 1918 | +"$(OX)\th_main_.c" : "$(SRCDIR)\th_main.c" | |
| 1919 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1920 | + | |
| 1921 | +"$(OX)\timeline$O" : "$(OX)\timeline_.c" "$(OX)\timeline.h" | |
| 1922 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\timeline_.c" | |
| 1923 | + | |
| 1924 | +"$(OX)\timeline_.c" : "$(SRCDIR)\timeline.c" | |
| 1925 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1926 | + | |
| 1927 | +"$(OX)\tkt$O" : "$(OX)\tkt_.c" "$(OX)\tkt.h" | |
| 1928 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\tkt_.c" | |
| 1929 | + | |
| 1930 | +"$(OX)\tkt_.c" : "$(SRCDIR)\tkt.c" | |
| 1931 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1932 | + | |
| 1933 | +"$(OX)\tktsetup$O" : "$(OX)\tktsetup_.c" "$(OX)\tktsetup.h" | |
| 1934 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\tktsetup_.c" | |
| 1935 | + | |
| 1936 | +"$(OX)\tktsetup_.c" : "$(SRCDIR)\tktsetup.c" | |
| 1937 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1938 | + | |
| 1939 | +"$(OX)\undo$O" : "$(OX)\undo_.c" "$(OX)\undo.h" | |
| 1940 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\undo_.c" | |
| 1941 | + | |
| 1942 | +"$(OX)\undo_.c" : "$(SRCDIR)\undo.c" | |
| 1943 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1944 | + | |
| 1945 | +"$(OX)\unicode$O" : "$(OX)\unicode_.c" "$(OX)\unicode.h" | |
| 1946 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\unicode_.c" | |
| 1947 | + | |
| 1948 | +"$(OX)\unicode_.c" : "$(SRCDIR)\unicode.c" | |
| 1949 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1950 | + | |
| 1951 | +"$(OX)\unversioned$O" : "$(OX)\unversioned_.c" "$(OX)\unversioned.h" | |
| 1952 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\unversioned_.c" | |
| 1953 | + | |
| 1954 | +"$(OX)\unversioned_.c" : "$(SRCDIR)\unversioned.c" | |
| 1955 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1956 | + | |
| 1957 | +"$(OX)\update$O" : "$(OX)\update_.c" "$(OX)\update.h" | |
| 1958 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\update_.c" | |
| 1959 | + | |
| 1960 | +"$(OX)\update_.c" : "$(SRCDIR)\update.c" | |
| 1961 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1962 | + | |
| 1963 | +"$(OX)\url$O" : "$(OX)\url_.c" "$(OX)\url.h" | |
| 1964 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\url_.c" | |
| 1965 | + | |
| 1966 | +"$(OX)\url_.c" : "$(SRCDIR)\url.c" | |
| 1967 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1968 | + | |
| 1969 | +"$(OX)\user$O" : "$(OX)\user_.c" "$(OX)\user.h" | |
| 1970 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\user_.c" | |
| 1971 | + | |
| 1972 | +"$(OX)\user_.c" : "$(SRCDIR)\user.c" | |
| 1973 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1974 | + | |
| 1975 | +"$(OX)\utf8$O" : "$(OX)\utf8_.c" "$(OX)\utf8.h" | |
| 1976 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\utf8_.c" | |
| 1977 | + | |
| 1978 | +"$(OX)\utf8_.c" : "$(SRCDIR)\utf8.c" | |
| 1979 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1980 | + | |
| 1981 | +"$(OX)\util$O" : "$(OX)\util_.c" "$(OX)\util.h" | |
| 1982 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\util_.c" | |
| 1983 | + | |
| 1984 | +"$(OX)\util_.c" : "$(SRCDIR)\util.c" | |
| 1985 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1986 | + | |
| 1987 | +"$(OX)\verify$O" : "$(OX)\verify_.c" "$(OX)\verify.h" | |
| 1988 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\verify_.c" | |
| 1989 | + | |
| 1990 | +"$(OX)\verify_.c" : "$(SRCDIR)\verify.c" | |
| 1991 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1992 | + | |
| 1993 | +"$(OX)\vfile$O" : "$(OX)\vfile_.c" "$(OX)\vfile.h" | |
| 1994 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\vfile_.c" | |
| 1995 | + | |
| 1996 | +"$(OX)\vfile_.c" : "$(SRCDIR)\vfile.c" | |
| 1997 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1998 | + | |
| 1999 | +"$(OX)\webmail$O" : "$(OX)\webmail_.c" "$(OX)\webmail.h" | |
| 2000 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\webmail_.c" | |
| 2001 | + | |
| 2002 | +"$(OX)\webmail_.c" : "$(SRCDIR)\webmail.c" | |
| 2003 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 2004 | + | |
| 2005 | +"$(OX)\wiki$O" : "$(OX)\wiki_.c" "$(OX)\wiki.h" | |
| 2006 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\wiki_.c" | |
| 2007 | + | |
| 2008 | +"$(OX)\wiki_.c" : "$(SRCDIR)\wiki.c" | |
| 2009 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 2010 | + | |
| 2011 | +"$(OX)\wikiformat$O" : "$(OX)\wikiformat_.c" "$(OX)\wikiformat.h" | |
| 2012 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\wikiformat_.c" | |
| 2013 | + | |
| 2014 | +"$(OX)\wikiformat_.c" : "$(SRCDIR)\wikiformat.c" | |
| 2015 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 2016 | + | |
| 2017 | +"$(OX)\winfile$O" : "$(OX)\winfile_.c" "$(OX)\winfile.h" | |
| 2018 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\winfile_.c" | |
| 2019 | + | |
| 2020 | +"$(OX)\winfile_.c" : "$(SRCDIR)\winfile.c" | |
| 2021 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 2022 | + | |
| 2023 | +"$(OX)\winhttp$O" : "$(OX)\winhttp_.c" "$(OX)\winhttp.h" | |
| 2024 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\winhttp_.c" | |
| 2025 | + | |
| 2026 | +"$(OX)\winhttp_.c" : "$(SRCDIR)\winhttp.c" | |
| 2027 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 2028 | + | |
| 2029 | +"$(OX)\wysiwyg$O" : "$(OX)\wysiwyg_.c" "$(OX)\wysiwyg.h" | |
| 2030 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\wysiwyg_.c" | |
| 2031 | + | |
| 2032 | +"$(OX)\wysiwyg_.c" : "$(SRCDIR)\wysiwyg.c" | |
| 2033 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 2034 | + | |
| 2035 | +"$(OX)\xfer$O" : "$(OX)\xfer_.c" "$(OX)\xfer.h" | |
| 2036 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\xfer_.c" | |
| 2037 | + | |
| 2038 | +"$(OX)\xfer_.c" : "$(SRCDIR)\xfer.c" | |
| 2039 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 2040 | + | |
| 2041 | +"$(OX)\xfersetup$O" : "$(OX)\xfersetup_.c" "$(OX)\xfersetup.h" | |
| 2042 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\xfersetup_.c" | |
| 2043 | + | |
| 2044 | +"$(OX)\xfersetup_.c" : "$(SRCDIR)\xfersetup.c" | |
| 2045 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 2046 | + | |
| 2047 | +"$(OX)\zip$O" : "$(OX)\zip_.c" "$(OX)\zip.h" | |
| 2048 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\zip_.c" | |
| 2049 | + | |
| 2050 | +"$(OX)\zip_.c" : "$(SRCDIR)\zip.c" | |
| 2051 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 2052 | + | |
| 2053 | +"$(OX)\fossil.res" : "$(B)\win\fossil.rc" | |
| 2054 | + $(RCC) /fo $@ $** | |
| 2055 | + | |
| 2056 | +"$(OX)\headers": "$(OBJDIR)\makeheaders$E" "$(OX)\page_index.h" "$(OX)\builtin_data.h" "$(OX)\default_css.h" "$(OX)\VERSION.h" | |
| 2057 | + "$(OBJDIR)\makeheaders$E" "$(OX)\add_.c":"$(OX)\add.h" \ | |
| 2058 | + "$(OX)\ajax_.c":"$(OX)\ajax.h" \ | |
| 2059 | + "$(OX)\alerts_.c":"$(OX)\alerts.h" \ | |
| 2060 | + "$(OX)\allrepo_.c":"$(OX)\allrepo.h" \ | |
| 2061 | + "$(OX)\attach_.c":"$(OX)\attach.h" \ | |
| 2062 | + "$(OX)\backlink_.c":"$(OX)\backlink.h" \ | |
| 2063 | + "$(OX)\backoffice_.c":"$(OX)\backoffice.h" \ | |
| 2064 | + "$(OX)\bag_.c":"$(OX)\bag.h" \ | |
| 2065 | + "$(OX)\bisect_.c":"$(OX)\bisect.h" \ | |
| 2066 | + "$(OX)\blob_.c":"$(OX)\blob.h" \ | |
| 2067 | + "$(OX)\branch_.c":"$(OX)\branch.h" \ | |
| 2068 | + "$(OX)\browse_.c":"$(OX)\browse.h" \ | |
| 2069 | + "$(OX)\builtin_.c":"$(OX)\builtin.h" \ | |
| 2070 | + "$(OX)\bundle_.c":"$(OX)\bundle.h" \ | |
| 2071 | + "$(OX)\cache_.c":"$(OX)\cache.h" \ | |
| 2072 | + "$(OX)\capabilities_.c":"$(OX)\capabilities.h" \ | |
| 2073 | + "$(OX)\captcha_.c":"$(OX)\captcha.h" \ | |
| 2074 | + "$(OX)\cgi_.c":"$(OX)\cgi.h" \ | |
| 2075 | + "$(OX)\checkin_.c":"$(OX)\checkin.h" \ | |
| 2076 | + "$(OX)\checkout_.c":"$(OX)\checkout.h" \ | |
| 2077 | + "$(OX)\clearsign_.c":"$(OX)\clearsign.h" \ | |
| 2078 | + "$(OX)\clone_.c":"$(OX)\clone.h" \ | |
| 2079 | + "$(OX)\comformat_.c":"$(OX)\comformat.h" \ | |
| 2080 | + "$(OX)\configure_.c":"$(OX)\configure.h" \ | |
| 2081 | + "$(OX)\content_.c":"$(OX)\content.h" \ | |
| 2082 | + "$(OX)\cookies_.c":"$(OX)\cookies.h" \ | |
| 2083 | + "$(OX)\db_.c":"$(OX)\db.h" \ | |
| 2084 | + "$(OX)\delta_.c":"$(OX)\delta.h" \ | |
| 2085 | + "$(OX)\deltacmd_.c":"$(OX)\deltacmd.h" \ | |
| 2086 | + "$(OX)\deltafunc_.c":"$(OX)\deltafunc.h" \ | |
| 2087 | + "$(OX)\descendants_.c":"$(OX)\descendants.h" \ | |
| 2088 | + "$(OX)\diff_.c":"$(OX)\diff.h" \ | |
| 2089 | + "$(OX)\diffcmd_.c":"$(OX)\diffcmd.h" \ | |
| 2090 | + "$(OX)\dispatch_.c":"$(OX)\dispatch.h" \ | |
| 2091 | + "$(OX)\doc_.c":"$(OX)\doc.h" \ | |
| 2092 | + "$(OX)\encode_.c":"$(OX)\encode.h" \ | |
| 2093 | + "$(OX)\etag_.c":"$(OX)\etag.h" \ | |
| 2094 | + "$(OX)\event_.c":"$(OX)\event.h" \ | |
| 2095 | + "$(OX)\export_.c":"$(OX)\export.h" \ | |
| 2096 | + "$(OX)\extcgi_.c":"$(OX)\extcgi.h" \ | |
| 2097 | + "$(OX)\file_.c":"$(OX)\file.h" \ | |
| 2098 | + "$(OX)\fileedit_.c":"$(OX)\fileedit.h" \ | |
| 2099 | + "$(OX)\finfo_.c":"$(OX)\finfo.h" \ | |
| 2100 | + "$(OX)\foci_.c":"$(OX)\foci.h" \ | |
| 2101 | + "$(OX)\forum_.c":"$(OX)\forum.h" \ | |
| 2102 | + "$(OX)\fshell_.c":"$(OX)\fshell.h" \ | |
| 2103 | + "$(OX)\fusefs_.c":"$(OX)\fusefs.h" \ | |
| 2104 | + "$(OX)\fuzz_.c":"$(OX)\fuzz.h" \ | |
| 2105 | + "$(OX)\glob_.c":"$(OX)\glob.h" \ | |
| 2106 | + "$(OX)\graph_.c":"$(OX)\graph.h" \ | |
| 2107 | + "$(OX)\gzip_.c":"$(OX)\gzip.h" \ | |
| 2108 | + "$(OX)\hname_.c":"$(OX)\hname.h" \ | |
| 2109 | + "$(OX)\http_.c":"$(OX)\http.h" \ | |
| 2110 | + "$(OX)\http_socket_.c":"$(OX)\http_socket.h" \ | |
| 2111 | + "$(OX)\http_ssl_.c":"$(OX)\http_ssl.h" \ | |
| 2112 | + "$(OX)\http_transport_.c":"$(OX)\http_transport.h" \ | |
| 2113 | + "$(OX)\import_.c":"$(OX)\import.h" \ | |
| 2114 | + "$(OX)\info_.c":"$(OX)\info.h" \ | |
| 2115 | + "$(OX)\json_.c":"$(OX)\json.h" \ | |
| 2116 | + "$(OX)\json_artifact_.c":"$(OX)\json_artifact.h" \ | |
| 2117 | + "$(OX)\json_branch_.c":"$(OX)\json_branch.h" \ | |
| 2118 | + "$(OX)\json_config_.c":"$(OX)\json_config.h" \ | |
| 2119 | + "$(OX)\json_diff_.c":"$(OX)\json_diff.h" \ | |
| 2120 | + "$(OX)\json_dir_.c":"$(OX)\json_dir.h" \ | |
| 2121 | + "$(OX)\json_finfo_.c":"$(OX)\json_finfo.h" \ | |
| 2122 | + "$(OX)\json_login_.c":"$(OX)\json_login.h" \ | |
| 2123 | + "$(OX)\json_query_.c":"$(OX)\json_query.h" \ | |
| 2124 | + "$(OX)\json_report_.c":"$(OX)\json_report.h" \ | |
| 2125 | + "$(OX)\json_status_.c":"$(OX)\json_status.h" \ | |
| 2126 | + "$(OX)\json_tag_.c":"$(OX)\json_tag.h" \ | |
| 2127 | + "$(OX)\json_timeline_.c":"$(OX)\json_timeline.h" \ | |
| 2128 | + "$(OX)\json_user_.c":"$(OX)\json_user.h" \ | |
| 2129 | + "$(OX)\json_wiki_.c":"$(OX)\json_wiki.h" \ | |
| 2130 | + "$(OX)\leaf_.c":"$(OX)\leaf.h" \ | |
| 2131 | + "$(OX)\loadctrl_.c":"$(OX)\loadctrl.h" \ | |
| 2132 | + "$(OX)\login_.c":"$(OX)\login.h" \ | |
| 2133 | + "$(OX)\lookslike_.c":"$(OX)\lookslike.h" \ | |
| 2134 | + "$(OX)\main_.c":"$(OX)\main.h" \ | |
| 2135 | + "$(OX)\manifest_.c":"$(OX)\manifest.h" \ | |
| 2136 | + "$(OX)\markdown_.c":"$(OX)\markdown.h" \ | |
| 2137 | + "$(OX)\markdown_html_.c":"$(OX)\markdown_html.h" \ | |
| 2138 | + "$(OX)\md5_.c":"$(OX)\md5.h" \ | |
| 2139 | + "$(OX)\merge_.c":"$(OX)\merge.h" \ | |
| 2140 | + "$(OX)\merge3_.c":"$(OX)\merge3.h" \ | |
| 2141 | + "$(OX)\moderate_.c":"$(OX)\moderate.h" \ | |
| 2142 | + "$(OX)\name_.c":"$(OX)\name.h" \ | |
| 2143 | + "$(OX)\path_.c":"$(OX)\path.h" \ | |
| 2144 | + "$(OX)\piechart_.c":"$(OX)\piechart.h" \ | |
| 2145 | + "$(OX)\pivot_.c":"$(OX)\pivot.h" \ | |
| 2146 | + "$(OX)\popen_.c":"$(OX)\popen.h" \ | |
| 2147 | + "$(OX)\pqueue_.c":"$(OX)\pqueue.h" \ | |
| 2148 | + "$(OX)\printf_.c":"$(OX)\printf.h" \ | |
| 2149 | + "$(OX)\publish_.c":"$(OX)\publish.h" \ | |
| 2150 | + "$(OX)\purge_.c":"$(OX)\purge.h" \ | |
| 2151 | + "$(OX)\rebuild_.c":"$(OX)\rebuild.h" \ | |
| 2152 | + "$(OX)\regexp_.c":"$(OX)\regexp.h" \ | |
| 2153 | + "$(OX)\repolist_.c":"$(OX)\repolist.h" \ | |
| 2154 | + "$(OX)\report_.c":"$(OX)\report.h" \ | |
| 2155 | + "$(OX)\rss_.c":"$(OX)\rss.h" \ | |
| 2156 | + "$(OX)\schema_.c":"$(OX)\schema.h" \ | |
| 2157 | + "$(OX)\search_.c":"$(OX)\search.h" \ | |
| 2158 | + "$(OX)\security_audit_.c":"$(OX)\security_audit.h" \ | |
| 2159 | + "$(OX)\setup_.c":"$(OX)\setup.h" \ | |
| 2160 | + "$(OX)\setupuser_.c":"$(OX)\setupuser.h" \ | |
| 2161 | + "$(OX)\sha1_.c":"$(OX)\sha1.h" \ | |
| 2162 | + "$(OX)\sha1hard_.c":"$(OX)\sha1hard.h" \ | |
| 2163 | + "$(OX)\sha3_.c":"$(OX)\sha3.h" \ | |
| 2164 | + "$(OX)\shun_.c":"$(OX)\shun.h" \ | |
| 2165 | + "$(OX)\sitemap_.c":"$(OX)\sitemap.h" \ | |
| 2166 | + "$(OX)\skins_.c":"$(OX)\skins.h" \ | |
| 2167 | + "$(OX)\smtp_.c":"$(OX)\smtp.h" \ | |
| 2168 | + "$(OX)\sqlcmd_.c":"$(OX)\sqlcmd.h" \ | |
| 2169 | + "$(OX)\stash_.c":"$(OX)\stash.h" \ | |
| 2170 | + "$(OX)\stat_.c":"$(OX)\stat.h" \ | |
| 2171 | + "$(OX)\statrep_.c":"$(OX)\statrep.h" \ | |
| 2172 | + "$(OX)\style_.c":"$(OX)\style.h" \ | |
| 2173 | + "$(OX)\sync_.c":"$(OX)\sync.h" \ | |
| 2174 | + "$(OX)\tag_.c":"$(OX)\tag.h" \ | |
| 2175 | + "$(OX)\tar_.c":"$(OX)\tar.h" \ | |
| 2176 | + "$(OX)\terminal_.c":"$(OX)\terminal.h" \ | |
| 2177 | + "$(OX)\th_main_.c":"$(OX)\th_main.h" \ | |
| 2178 | + "$(OX)\timeline_.c":"$(OX)\timeline.h" \ | |
| 2179 | + "$(OX)\tkt_.c":"$(OX)\tkt.h" \ | |
| 2180 | + "$(OX)\tktsetup_.c":"$(OX)\tktsetup.h" \ | |
| 2181 | + "$(OX)\undo_.c":"$(OX)\undo.h" \ | |
| 2182 | + "$(OX)\unicode_.c":"$(OX)\unicode.h" \ | |
| 2183 | + "$(OX)\unversioned_.c":"$(OX)\unversioned.h" \ | |
| 2184 | + "$(OX)\update_.c":"$(OX)\update.h" \ | |
| 2185 | + "$(OX)\url_.c":"$(OX)\url.h" \ | |
| 2186 | + "$(OX)\user_.c":"$(OX)\user.h" \ | |
| 2187 | + "$(OX)\utf8_.c":"$(OX)\utf8.h" \ | |
| 2188 | + "$(OX)\util_.c":"$(OX)\util.h" \ | |
| 2189 | + "$(OX)\verify_.c":"$(OX)\verify.h" \ | |
| 2190 | + "$(OX)\vfile_.c":"$(OX)\vfile.h" \ | |
| 2191 | + "$(OX)\webmail_.c":"$(OX)\webmail.h" \ | |
| 2192 | + "$(OX)\wiki_.c":"$(OX)\wiki.h" \ | |
| 2193 | + "$(OX)\wikiformat_.c":"$(OX)\wikiformat.h" \ | |
| 2194 | + "$(OX)\winfile_.c":"$(OX)\winfile.h" \ | |
| 2195 | + "$(OX)\winhttp_.c":"$(OX)\winhttp.h" \ | |
| 2196 | + "$(OX)\wysiwyg_.c":"$(OX)\wysiwyg.h" \ | |
| 2197 | + "$(OX)\xfer_.c":"$(OX)\xfer.h" \ | |
| 2198 | + "$(OX)\xfersetup_.c":"$(OX)\xfersetup.h" \ | |
| 2199 | + "$(OX)\zip_.c":"$(OX)\zip.h" \ | |
| 2200 | + "$(SRCDIR)\sqlite3.h" \ | |
| 2201 | + "$(SRCDIR)\th.h" \ | |
| 2202 | + "$(OX)\VERSION.h" \ | |
| 2203 | + "$(SRCDIR)\cson_amalgamation.h" | |
| 2204 | + @copy /Y nul: $@ | |
| 2059 | 2205 |
| --- win/Makefile.msc | |
| +++ win/Makefile.msc | |
| @@ -1,39 +1,52 @@ | |
| 1 | # |
| 2 | ############################################################################## |
| 3 | # WARNING: DO NOT EDIT, AUTOMATICALLY GENERATED FILE (SEE "src/makemake.tcl") |
| 4 | ############################################################################## |
| 5 | # |
| 6 | # This Makefile will only function correctly if used from a sub-directory |
| 7 | # that is a direct child of the top-level directory for this project. |
| 8 | # |
| 9 | !if !exist("..\.fossil-settings") |
| 10 | !error "Please change the current directory to the one containing this file." |
| 11 | !endif |
| 12 | |
| 13 | # |
| 14 | # This file is automatically generated. Instead of editing this |
| 15 | # file, edit "makemake.tcl" then run "tclsh makemake.tcl" |
| 16 | # to regenerate this file. |
| 17 | # |
| 18 | B = .. |
| 19 | SRCDIR = $B\src |
| 20 | OBJDIR = . |
| 21 | OX = . |
| 22 | O = .obj |
| 23 | E = .exe |
| 24 | P = .pdb |
| 25 | |
| 26 | # Perl is only necessary if OpenSSL support is enabled and it must |
| 27 | # be built from source code. The PERLDIR variable should point to |
| 28 | # the directory containing the main Perl binary (i.e. "perl.exe"). |
| 29 | PERLDIR = C:\Perl\bin |
| 30 | PERL = perl.exe |
| 31 | |
| 32 | # Enable debugging symbols? |
| 33 | !ifndef DEBUG |
| 34 | DEBUG = 0 |
| 35 | !endif |
| 36 | |
| 37 | # Build the OpenSSL libraries? |
| 38 | !ifndef FOSSIL_BUILD_SSL |
| 39 | FOSSIL_BUILD_SSL = 0 |
| @@ -150,27 +163,30 @@ | |
| 150 | ZLIB = zdll.lib |
| 151 | !else |
| 152 | ZLIB = zlib.lib |
| 153 | !endif |
| 154 | |
| 155 | INCL = /I. /I$(SRCDIR) /I$B\win\include |
| 156 | |
| 157 | !if $(FOSSIL_ENABLE_MINIZ)==0 |
| 158 | INCL = $(INCL) /I$(ZINCDIR) |
| 159 | !endif |
| 160 | |
| 161 | !if $(FOSSIL_ENABLE_SSL)!=0 |
| 162 | INCL = $(INCL) /I$(SSLINCDIR) |
| 163 | !endif |
| 164 | |
| 165 | !if $(FOSSIL_ENABLE_TCL)!=0 |
| 166 | INCL = $(INCL) /I$(TCLINCDIR) |
| 167 | !endif |
| 168 | |
| 169 | CFLAGS = /nologo |
| 170 | LDFLAGS = |
| 171 | |
| 172 | !if $(FOSSIL_DYNAMIC_BUILD)!=0 |
| 173 | LDFLAGS = $(LDFLAGS) /MANIFEST |
| 174 | !else |
| 175 | LDFLAGS = $(LDFLAGS) /NODEFAULTLIB:msvcrt /MANIFEST:NO |
| 176 | !endif |
| @@ -199,11 +215,11 @@ | |
| 199 | CRTFLAGS = /MT |
| 200 | !endif |
| 201 | !endif |
| 202 | |
| 203 | !if $(DEBUG)!=0 |
| 204 | CFLAGS = $(CFLAGS) /Zi $(CRTFLAGS) /Od |
| 205 | LDFLAGS = $(LDFLAGS) /DEBUG |
| 206 | !else |
| 207 | CFLAGS = $(CFLAGS) $(CRTFLAGS) /O2 |
| 208 | !endif |
| 209 | |
| @@ -219,11 +235,11 @@ | |
| 219 | RCC = $(RCC) /DFOSSIL_DYNAMIC_BUILD=1 |
| 220 | !endif |
| 221 | |
| 222 | !if $(FOSSIL_ENABLE_MINIZ)==0 |
| 223 | LIBS = $(LIBS) $(ZLIB) |
| 224 | LIBDIR = $(LIBDIR) /LIBPATH:$(ZLIBDIR) |
| 225 | !endif |
| 226 | |
| 227 | !if $(FOSSIL_ENABLE_MINIZ)!=0 |
| 228 | TCC = $(TCC) /DFOSSIL_ENABLE_MINIZ=1 |
| 229 | RCC = $(RCC) /DFOSSIL_ENABLE_MINIZ=1 |
| @@ -236,11 +252,11 @@ | |
| 236 | |
| 237 | !if $(FOSSIL_ENABLE_SSL)!=0 |
| 238 | TCC = $(TCC) /DFOSSIL_ENABLE_SSL=1 |
| 239 | RCC = $(RCC) /DFOSSIL_ENABLE_SSL=1 |
| 240 | LIBS = $(LIBS) $(SSLLIB) |
| 241 | LIBDIR = $(LIBDIR) /LIBPATH:$(SSLLIBDIR) |
| 242 | !endif |
| 243 | |
| 244 | !if $(FOSSIL_ENABLE_EXEC_REL_PATHS)!=0 |
| 245 | TCC = $(TCC) /DFOSSIL_ENABLE_EXEC_REL_PATHS=1 |
| 246 | RCC = $(RCC) /DFOSSIL_ENABLE_EXEC_REL_PATHS=1 |
| @@ -283,11 +299,10 @@ | |
| 283 | /DSQLITE_DEFAULT_MEMSTATUS=0 \ |
| 284 | /DSQLITE_DEFAULT_WAL_SYNCHRONOUS=1 \ |
| 285 | /DSQLITE_LIKE_DOESNT_MATCH_BLOBS \ |
| 286 | /DSQLITE_OMIT_DECLTYPE \ |
| 287 | /DSQLITE_OMIT_DEPRECATED \ |
| 288 | /DSQLITE_OMIT_GET_TABLE \ |
| 289 | /DSQLITE_OMIT_PROGRESS_CALLBACK \ |
| 290 | /DSQLITE_OMIT_SHARED_CACHE \ |
| 291 | /DSQLITE_OMIT_LOAD_EXTENSION \ |
| 292 | /DSQLITE_MAX_EXPR_DEPTH=0 \ |
| 293 | /DSQLITE_USE_ALLOCA \ |
| @@ -311,11 +326,10 @@ | |
| 311 | /DSQLITE_DEFAULT_MEMSTATUS=0 \ |
| 312 | /DSQLITE_DEFAULT_WAL_SYNCHRONOUS=1 \ |
| 313 | /DSQLITE_LIKE_DOESNT_MATCH_BLOBS \ |
| 314 | /DSQLITE_OMIT_DECLTYPE \ |
| 315 | /DSQLITE_OMIT_DEPRECATED \ |
| 316 | /DSQLITE_OMIT_GET_TABLE \ |
| 317 | /DSQLITE_OMIT_PROGRESS_CALLBACK \ |
| 318 | /DSQLITE_OMIT_SHARED_CACHE \ |
| 319 | /DSQLITE_OMIT_LOAD_EXTENSION \ |
| 320 | /DSQLITE_MAX_EXPR_DEPTH=0 \ |
| 321 | /DSQLITE_USE_ALLOCA \ |
| @@ -344,405 +358,407 @@ | |
| 344 | |
| 345 | MINIZ_OPTIONS = /DMINIZ_NO_STDIO \ |
| 346 | /DMINIZ_NO_TIME \ |
| 347 | /DMINIZ_NO_ARCHIVE_APIS |
| 348 | |
| 349 | SRC = add_.c \ |
| 350 | alerts_.c \ |
| 351 | allrepo_.c \ |
| 352 | attach_.c \ |
| 353 | backlink_.c \ |
| 354 | backoffice_.c \ |
| 355 | bag_.c \ |
| 356 | bisect_.c \ |
| 357 | blob_.c \ |
| 358 | branch_.c \ |
| 359 | browse_.c \ |
| 360 | builtin_.c \ |
| 361 | bundle_.c \ |
| 362 | cache_.c \ |
| 363 | capabilities_.c \ |
| 364 | captcha_.c \ |
| 365 | cgi_.c \ |
| 366 | checkin_.c \ |
| 367 | checkout_.c \ |
| 368 | clearsign_.c \ |
| 369 | clone_.c \ |
| 370 | comformat_.c \ |
| 371 | configure_.c \ |
| 372 | content_.c \ |
| 373 | cookies_.c \ |
| 374 | db_.c \ |
| 375 | delta_.c \ |
| 376 | deltacmd_.c \ |
| 377 | deltafunc_.c \ |
| 378 | descendants_.c \ |
| 379 | diff_.c \ |
| 380 | diffcmd_.c \ |
| 381 | dispatch_.c \ |
| 382 | doc_.c \ |
| 383 | encode_.c \ |
| 384 | etag_.c \ |
| 385 | event_.c \ |
| 386 | export_.c \ |
| 387 | extcgi_.c \ |
| 388 | file_.c \ |
| 389 | fileedit_.c \ |
| 390 | finfo_.c \ |
| 391 | foci_.c \ |
| 392 | forum_.c \ |
| 393 | fshell_.c \ |
| 394 | fusefs_.c \ |
| 395 | fuzz_.c \ |
| 396 | glob_.c \ |
| 397 | graph_.c \ |
| 398 | gzip_.c \ |
| 399 | hname_.c \ |
| 400 | http_.c \ |
| 401 | http_socket_.c \ |
| 402 | http_ssl_.c \ |
| 403 | http_transport_.c \ |
| 404 | import_.c \ |
| 405 | info_.c \ |
| 406 | json_.c \ |
| 407 | json_artifact_.c \ |
| 408 | json_branch_.c \ |
| 409 | json_config_.c \ |
| 410 | json_diff_.c \ |
| 411 | json_dir_.c \ |
| 412 | json_finfo_.c \ |
| 413 | json_login_.c \ |
| 414 | json_query_.c \ |
| 415 | json_report_.c \ |
| 416 | json_status_.c \ |
| 417 | json_tag_.c \ |
| 418 | json_timeline_.c \ |
| 419 | json_user_.c \ |
| 420 | json_wiki_.c \ |
| 421 | leaf_.c \ |
| 422 | loadctrl_.c \ |
| 423 | login_.c \ |
| 424 | lookslike_.c \ |
| 425 | main_.c \ |
| 426 | manifest_.c \ |
| 427 | markdown_.c \ |
| 428 | markdown_html_.c \ |
| 429 | md5_.c \ |
| 430 | merge_.c \ |
| 431 | merge3_.c \ |
| 432 | moderate_.c \ |
| 433 | name_.c \ |
| 434 | path_.c \ |
| 435 | piechart_.c \ |
| 436 | pivot_.c \ |
| 437 | popen_.c \ |
| 438 | pqueue_.c \ |
| 439 | printf_.c \ |
| 440 | publish_.c \ |
| 441 | purge_.c \ |
| 442 | rebuild_.c \ |
| 443 | regexp_.c \ |
| 444 | repolist_.c \ |
| 445 | report_.c \ |
| 446 | rss_.c \ |
| 447 | schema_.c \ |
| 448 | search_.c \ |
| 449 | security_audit_.c \ |
| 450 | setup_.c \ |
| 451 | setupuser_.c \ |
| 452 | sha1_.c \ |
| 453 | sha1hard_.c \ |
| 454 | sha3_.c \ |
| 455 | shun_.c \ |
| 456 | sitemap_.c \ |
| 457 | skins_.c \ |
| 458 | smtp_.c \ |
| 459 | sqlcmd_.c \ |
| 460 | stash_.c \ |
| 461 | stat_.c \ |
| 462 | statrep_.c \ |
| 463 | style_.c \ |
| 464 | sync_.c \ |
| 465 | tag_.c \ |
| 466 | tar_.c \ |
| 467 | terminal_.c \ |
| 468 | th_main_.c \ |
| 469 | timeline_.c \ |
| 470 | tkt_.c \ |
| 471 | tktsetup_.c \ |
| 472 | undo_.c \ |
| 473 | unicode_.c \ |
| 474 | unversioned_.c \ |
| 475 | update_.c \ |
| 476 | url_.c \ |
| 477 | user_.c \ |
| 478 | utf8_.c \ |
| 479 | util_.c \ |
| 480 | verify_.c \ |
| 481 | vfile_.c \ |
| 482 | webmail_.c \ |
| 483 | wiki_.c \ |
| 484 | wikiformat_.c \ |
| 485 | winfile_.c \ |
| 486 | winhttp_.c \ |
| 487 | wysiwyg_.c \ |
| 488 | xfer_.c \ |
| 489 | xfersetup_.c \ |
| 490 | zip_.c |
| 491 | |
| 492 | EXTRA_FILES = $(SRCDIR)\..\skins\aht\details.txt \ |
| 493 | $(SRCDIR)\..\skins\ardoise\css.txt \ |
| 494 | $(SRCDIR)\..\skins\ardoise\details.txt \ |
| 495 | $(SRCDIR)\..\skins\ardoise\footer.txt \ |
| 496 | $(SRCDIR)\..\skins\ardoise\header.txt \ |
| 497 | $(SRCDIR)\..\skins\black_and_white\css.txt \ |
| 498 | $(SRCDIR)\..\skins\black_and_white\details.txt \ |
| 499 | $(SRCDIR)\..\skins\black_and_white\footer.txt \ |
| 500 | $(SRCDIR)\..\skins\black_and_white\header.txt \ |
| 501 | $(SRCDIR)\..\skins\blitz\css.txt \ |
| 502 | $(SRCDIR)\..\skins\blitz\details.txt \ |
| 503 | $(SRCDIR)\..\skins\blitz\footer.txt \ |
| 504 | $(SRCDIR)\..\skins\blitz\header.txt \ |
| 505 | $(SRCDIR)\..\skins\blitz\ticket.txt \ |
| 506 | $(SRCDIR)\..\skins\blitz_no_logo\css.txt \ |
| 507 | $(SRCDIR)\..\skins\blitz_no_logo\details.txt \ |
| 508 | $(SRCDIR)\..\skins\blitz_no_logo\footer.txt \ |
| 509 | $(SRCDIR)\..\skins\blitz_no_logo\header.txt \ |
| 510 | $(SRCDIR)\..\skins\blitz_no_logo\ticket.txt \ |
| 511 | $(SRCDIR)\..\skins\bootstrap\css.txt \ |
| 512 | $(SRCDIR)\..\skins\bootstrap\details.txt \ |
| 513 | $(SRCDIR)\..\skins\bootstrap\footer.txt \ |
| 514 | $(SRCDIR)\..\skins\bootstrap\header.txt \ |
| 515 | $(SRCDIR)\..\skins\default\css.txt \ |
| 516 | $(SRCDIR)\..\skins\default\details.txt \ |
| 517 | $(SRCDIR)\..\skins\default\footer.txt \ |
| 518 | $(SRCDIR)\..\skins\default\header.txt \ |
| 519 | $(SRCDIR)\..\skins\default\js.txt \ |
| 520 | $(SRCDIR)\..\skins\eagle\css.txt \ |
| 521 | $(SRCDIR)\..\skins\eagle\details.txt \ |
| 522 | $(SRCDIR)\..\skins\eagle\footer.txt \ |
| 523 | $(SRCDIR)\..\skins\eagle\header.txt \ |
| 524 | $(SRCDIR)\..\skins\enhanced1\css.txt \ |
| 525 | $(SRCDIR)\..\skins\enhanced1\details.txt \ |
| 526 | $(SRCDIR)\..\skins\enhanced1\footer.txt \ |
| 527 | $(SRCDIR)\..\skins\enhanced1\header.txt \ |
| 528 | $(SRCDIR)\..\skins\khaki\css.txt \ |
| 529 | $(SRCDIR)\..\skins\khaki\details.txt \ |
| 530 | $(SRCDIR)\..\skins\khaki\footer.txt \ |
| 531 | $(SRCDIR)\..\skins\khaki\header.txt \ |
| 532 | $(SRCDIR)\..\skins\original\css.txt \ |
| 533 | $(SRCDIR)\..\skins\original\details.txt \ |
| 534 | $(SRCDIR)\..\skins\original\footer.txt \ |
| 535 | $(SRCDIR)\..\skins\original\header.txt \ |
| 536 | $(SRCDIR)\..\skins\plain_gray\css.txt \ |
| 537 | $(SRCDIR)\..\skins\plain_gray\details.txt \ |
| 538 | $(SRCDIR)\..\skins\plain_gray\footer.txt \ |
| 539 | $(SRCDIR)\..\skins\plain_gray\header.txt \ |
| 540 | $(SRCDIR)\..\skins\rounded1\css.txt \ |
| 541 | $(SRCDIR)\..\skins\rounded1\details.txt \ |
| 542 | $(SRCDIR)\..\skins\rounded1\footer.txt \ |
| 543 | $(SRCDIR)\..\skins\rounded1\header.txt \ |
| 544 | $(SRCDIR)\..\skins\xekri\css.txt \ |
| 545 | $(SRCDIR)\..\skins\xekri\details.txt \ |
| 546 | $(SRCDIR)\..\skins\xekri\footer.txt \ |
| 547 | $(SRCDIR)\..\skins\xekri\header.txt \ |
| 548 | $(SRCDIR)\accordion.js \ |
| 549 | $(SRCDIR)\ci_edit.js \ |
| 550 | $(SRCDIR)\copybtn.js \ |
| 551 | $(SRCDIR)\default.css \ |
| 552 | $(SRCDIR)\diff.tcl \ |
| 553 | $(SRCDIR)\forum.js \ |
| 554 | $(SRCDIR)\fossil.bootstrap.js \ |
| 555 | $(SRCDIR)\fossil.confirmer.js \ |
| 556 | $(SRCDIR)\fossil.dom.js \ |
| 557 | $(SRCDIR)\fossil.fetch.js \ |
| 558 | $(SRCDIR)\fossil.page.fileedit.js \ |
| 559 | $(SRCDIR)\fossil.storage.js \ |
| 560 | $(SRCDIR)\fossil.tabs.js \ |
| 561 | $(SRCDIR)\graph.js \ |
| 562 | $(SRCDIR)\href.js \ |
| 563 | $(SRCDIR)\login.js \ |
| 564 | $(SRCDIR)\markdown.md \ |
| 565 | $(SRCDIR)\menu.js \ |
| 566 | $(SRCDIR)\sbsdiff.js \ |
| 567 | $(SRCDIR)\scroll.js \ |
| 568 | $(SRCDIR)\skin.js \ |
| 569 | $(SRCDIR)\sorttable.js \ |
| 570 | $(SRCDIR)\sounds\0.wav \ |
| 571 | $(SRCDIR)\sounds\1.wav \ |
| 572 | $(SRCDIR)\sounds\2.wav \ |
| 573 | $(SRCDIR)\sounds\3.wav \ |
| 574 | $(SRCDIR)\sounds\4.wav \ |
| 575 | $(SRCDIR)\sounds\5.wav \ |
| 576 | $(SRCDIR)\sounds\6.wav \ |
| 577 | $(SRCDIR)\sounds\7.wav \ |
| 578 | $(SRCDIR)\sounds\8.wav \ |
| 579 | $(SRCDIR)\sounds\9.wav \ |
| 580 | $(SRCDIR)\sounds\a.wav \ |
| 581 | $(SRCDIR)\sounds\b.wav \ |
| 582 | $(SRCDIR)\sounds\c.wav \ |
| 583 | $(SRCDIR)\sounds\d.wav \ |
| 584 | $(SRCDIR)\sounds\e.wav \ |
| 585 | $(SRCDIR)\sounds\f.wav \ |
| 586 | $(SRCDIR)\style.admin_log.css \ |
| 587 | $(SRCDIR)\style.fileedit.css \ |
| 588 | $(SRCDIR)\tree.js \ |
| 589 | $(SRCDIR)\useredit.js \ |
| 590 | $(SRCDIR)\wiki.wiki |
| 591 | |
| 592 | OBJ = $(OX)\add$O \ |
| 593 | $(OX)\alerts$O \ |
| 594 | $(OX)\allrepo$O \ |
| 595 | $(OX)\attach$O \ |
| 596 | $(OX)\backlink$O \ |
| 597 | $(OX)\backoffice$O \ |
| 598 | $(OX)\bag$O \ |
| 599 | $(OX)\bisect$O \ |
| 600 | $(OX)\blob$O \ |
| 601 | $(OX)\branch$O \ |
| 602 | $(OX)\browse$O \ |
| 603 | $(OX)\builtin$O \ |
| 604 | $(OX)\bundle$O \ |
| 605 | $(OX)\cache$O \ |
| 606 | $(OX)\capabilities$O \ |
| 607 | $(OX)\captcha$O \ |
| 608 | $(OX)\cgi$O \ |
| 609 | $(OX)\checkin$O \ |
| 610 | $(OX)\checkout$O \ |
| 611 | $(OX)\clearsign$O \ |
| 612 | $(OX)\clone$O \ |
| 613 | $(OX)\comformat$O \ |
| 614 | $(OX)\configure$O \ |
| 615 | $(OX)\content$O \ |
| 616 | $(OX)\cookies$O \ |
| 617 | $(OX)\cson_amalgamation$O \ |
| 618 | $(OX)\db$O \ |
| 619 | $(OX)\delta$O \ |
| 620 | $(OX)\deltacmd$O \ |
| 621 | $(OX)\deltafunc$O \ |
| 622 | $(OX)\descendants$O \ |
| 623 | $(OX)\diff$O \ |
| 624 | $(OX)\diffcmd$O \ |
| 625 | $(OX)\dispatch$O \ |
| 626 | $(OX)\doc$O \ |
| 627 | $(OX)\encode$O \ |
| 628 | $(OX)\etag$O \ |
| 629 | $(OX)\event$O \ |
| 630 | $(OX)\export$O \ |
| 631 | $(OX)\extcgi$O \ |
| 632 | $(OX)\file$O \ |
| 633 | $(OX)\fileedit$O \ |
| 634 | $(OX)\finfo$O \ |
| 635 | $(OX)\foci$O \ |
| 636 | $(OX)\forum$O \ |
| 637 | $(OX)\fshell$O \ |
| 638 | $(OX)\fusefs$O \ |
| 639 | $(OX)\fuzz$O \ |
| 640 | $(OX)\glob$O \ |
| 641 | $(OX)\graph$O \ |
| 642 | $(OX)\gzip$O \ |
| 643 | $(OX)\hname$O \ |
| 644 | $(OX)\http$O \ |
| 645 | $(OX)\http_socket$O \ |
| 646 | $(OX)\http_ssl$O \ |
| 647 | $(OX)\http_transport$O \ |
| 648 | $(OX)\import$O \ |
| 649 | $(OX)\info$O \ |
| 650 | $(OX)\json$O \ |
| 651 | $(OX)\json_artifact$O \ |
| 652 | $(OX)\json_branch$O \ |
| 653 | $(OX)\json_config$O \ |
| 654 | $(OX)\json_diff$O \ |
| 655 | $(OX)\json_dir$O \ |
| 656 | $(OX)\json_finfo$O \ |
| 657 | $(OX)\json_login$O \ |
| 658 | $(OX)\json_query$O \ |
| 659 | $(OX)\json_report$O \ |
| 660 | $(OX)\json_status$O \ |
| 661 | $(OX)\json_tag$O \ |
| 662 | $(OX)\json_timeline$O \ |
| 663 | $(OX)\json_user$O \ |
| 664 | $(OX)\json_wiki$O \ |
| 665 | $(OX)\leaf$O \ |
| 666 | $(OX)\loadctrl$O \ |
| 667 | $(OX)\login$O \ |
| 668 | $(OX)\lookslike$O \ |
| 669 | $(OX)\main$O \ |
| 670 | $(OX)\manifest$O \ |
| 671 | $(OX)\markdown$O \ |
| 672 | $(OX)\markdown_html$O \ |
| 673 | $(OX)\md5$O \ |
| 674 | $(OX)\merge$O \ |
| 675 | $(OX)\merge3$O \ |
| 676 | $(OX)\moderate$O \ |
| 677 | $(OX)\name$O \ |
| 678 | $(OX)\path$O \ |
| 679 | $(OX)\piechart$O \ |
| 680 | $(OX)\pivot$O \ |
| 681 | $(OX)\popen$O \ |
| 682 | $(OX)\pqueue$O \ |
| 683 | $(OX)\printf$O \ |
| 684 | $(OX)\publish$O \ |
| 685 | $(OX)\purge$O \ |
| 686 | $(OX)\rebuild$O \ |
| 687 | $(OX)\regexp$O \ |
| 688 | $(OX)\repolist$O \ |
| 689 | $(OX)\report$O \ |
| 690 | $(OX)\rss$O \ |
| 691 | $(OX)\schema$O \ |
| 692 | $(OX)\search$O \ |
| 693 | $(OX)\security_audit$O \ |
| 694 | $(OX)\setup$O \ |
| 695 | $(OX)\setupuser$O \ |
| 696 | $(OX)\sha1$O \ |
| 697 | $(OX)\sha1hard$O \ |
| 698 | $(OX)\sha3$O \ |
| 699 | $(OX)\shell$O \ |
| 700 | $(OX)\shun$O \ |
| 701 | $(OX)\sitemap$O \ |
| 702 | $(OX)\skins$O \ |
| 703 | $(OX)\smtp$O \ |
| 704 | $(OX)\sqlcmd$O \ |
| 705 | $(OX)\sqlite3$O \ |
| 706 | $(OX)\stash$O \ |
| 707 | $(OX)\stat$O \ |
| 708 | $(OX)\statrep$O \ |
| 709 | $(OX)\style$O \ |
| 710 | $(OX)\sync$O \ |
| 711 | $(OX)\tag$O \ |
| 712 | $(OX)\tar$O \ |
| 713 | $(OX)\terminal$O \ |
| 714 | $(OX)\th$O \ |
| 715 | $(OX)\th_lang$O \ |
| 716 | $(OX)\th_main$O \ |
| 717 | $(OX)\th_tcl$O \ |
| 718 | $(OX)\timeline$O \ |
| 719 | $(OX)\tkt$O \ |
| 720 | $(OX)\tktsetup$O \ |
| 721 | $(OX)\undo$O \ |
| 722 | $(OX)\unicode$O \ |
| 723 | $(OX)\unversioned$O \ |
| 724 | $(OX)\update$O \ |
| 725 | $(OX)\url$O \ |
| 726 | $(OX)\user$O \ |
| 727 | $(OX)\utf8$O \ |
| 728 | $(OX)\util$O \ |
| 729 | $(OX)\verify$O \ |
| 730 | $(OX)\vfile$O \ |
| 731 | $(OX)\webmail$O \ |
| 732 | $(OX)\wiki$O \ |
| 733 | $(OX)\wikiformat$O \ |
| 734 | $(OX)\winfile$O \ |
| 735 | $(OX)\winhttp$O \ |
| 736 | $(OX)\wysiwyg$O \ |
| 737 | $(OX)\xfer$O \ |
| 738 | $(OX)\xfersetup$O \ |
| 739 | $(OX)\zip$O \ |
| 740 | !if $(FOSSIL_ENABLE_MINIZ)!=0 |
| 741 | $(OX)\miniz$O \ |
| 742 | !endif |
| 743 | $(OX)\fossil.res |
| 744 | |
| 745 | |
| 746 | !ifndef BASEAPPNAME |
| 747 | BASEAPPNAME = fossil |
| 748 | !endif |
| @@ -749,32 +765,52 @@ | |
| 749 | |
| 750 | APPNAME = $(OX)\$(BASEAPPNAME)$(E) |
| 751 | PDBNAME = $(OX)\$(BASEAPPNAME)$(P) |
| 752 | APPTARGETS = |
| 753 | |
| 754 | all: $(OX) $(APPNAME) |
| 755 | |
| 756 | zlib: |
| 757 | @echo Building zlib from "$(ZLIBDIR)"... |
| 758 | !if $(FOSSIL_ENABLE_WINXP)!=0 |
| 759 | @pushd "$(ZLIBDIR)" && $(MAKE) /f win32\Makefile.msc $(ZLIB) "CC=cl $(XPCFLAGS)" "LD=link $(XPLDFLAGS)" && popd |
| 760 | !else |
| 761 | @pushd "$(ZLIBDIR)" && $(MAKE) /f win32\Makefile.msc $(ZLIB) && popd |
| 762 | !endif |
| 763 | |
| 764 | !if $(FOSSIL_ENABLE_SSL)!=0 |
| 765 | openssl: |
| 766 | @echo Building OpenSSL from "$(SSLDIR)"... |
| 767 | !if "$(PERLDIR)" != "" |
| 768 | @set PATH=$(PERLDIR);$(PATH) |
| 769 | !endif |
| 770 | @pushd "$(SSLDIR)" && $(PERL) Configure $(SSLCONFIG) && popd |
| 771 | !if $(FOSSIL_ENABLE_WINXP)!=0 |
| 772 | @pushd "$(SSLDIR)" && $(MAKE) "CC=cl $(XPCFLAGS)" "LFLAGS=$(XPLDFLAGS)" && popd |
| 773 | !else |
| 774 | @pushd "$(SSLDIR)" && $(MAKE) && popd |
| 775 | !endif |
| 776 | !endif |
| 777 | |
| 778 | !if $(FOSSIL_ENABLE_MINIZ)==0 |
| 779 | !if $(FOSSIL_BUILD_ZLIB)!=0 |
| 780 | APPTARGETS = $(APPTARGETS) zlib |
| @@ -785,191 +821,188 @@ | |
| 785 | !if $(FOSSIL_BUILD_SSL)!=0 |
| 786 | APPTARGETS = $(APPTARGETS) openssl |
| 787 | !endif |
| 788 | !endif |
| 789 | |
| 790 | $(APPNAME) : $(APPTARGETS) translate$E mkindex$E codecheck1$E headers $(OBJ) $(OX)\linkopts |
| 791 | cd $(OX) |
| 792 | codecheck1$E $(SRC) |
| 793 | link $(LDFLAGS) /OUT:$@ $(LIBDIR) Wsetargv.obj fossil.res @linkopts |
| 794 | if exist [email protected] \ |
| 795 | $(MTC) -nologo -manifest [email protected] -outputresource:$@;1 |
| 796 | |
| 797 | $(OX)\linkopts: $B\win\Makefile.msc |
| 798 | echo $(OX)\add.obj > $@ |
| 799 | echo $(OX)\alerts.obj >> $@ |
| 800 | echo $(OX)\allrepo.obj >> $@ |
| 801 | echo $(OX)\attach.obj >> $@ |
| 802 | echo $(OX)\backlink.obj >> $@ |
| 803 | echo $(OX)\backoffice.obj >> $@ |
| 804 | echo $(OX)\bag.obj >> $@ |
| 805 | echo $(OX)\bisect.obj >> $@ |
| 806 | echo $(OX)\blob.obj >> $@ |
| 807 | echo $(OX)\branch.obj >> $@ |
| 808 | echo $(OX)\browse.obj >> $@ |
| 809 | echo $(OX)\builtin.obj >> $@ |
| 810 | echo $(OX)\bundle.obj >> $@ |
| 811 | echo $(OX)\cache.obj >> $@ |
| 812 | echo $(OX)\capabilities.obj >> $@ |
| 813 | echo $(OX)\captcha.obj >> $@ |
| 814 | echo $(OX)\cgi.obj >> $@ |
| 815 | echo $(OX)\checkin.obj >> $@ |
| 816 | echo $(OX)\checkout.obj >> $@ |
| 817 | echo $(OX)\clearsign.obj >> $@ |
| 818 | echo $(OX)\clone.obj >> $@ |
| 819 | echo $(OX)\comformat.obj >> $@ |
| 820 | echo $(OX)\configure.obj >> $@ |
| 821 | echo $(OX)\content.obj >> $@ |
| 822 | echo $(OX)\cookies.obj >> $@ |
| 823 | echo $(OX)\cson_amalgamation.obj >> $@ |
| 824 | echo $(OX)\db.obj >> $@ |
| 825 | echo $(OX)\delta.obj >> $@ |
| 826 | echo $(OX)\deltacmd.obj >> $@ |
| 827 | echo $(OX)\deltafunc.obj >> $@ |
| 828 | echo $(OX)\descendants.obj >> $@ |
| 829 | echo $(OX)\diff.obj >> $@ |
| 830 | echo $(OX)\diffcmd.obj >> $@ |
| 831 | echo $(OX)\dispatch.obj >> $@ |
| 832 | echo $(OX)\doc.obj >> $@ |
| 833 | echo $(OX)\encode.obj >> $@ |
| 834 | echo $(OX)\etag.obj >> $@ |
| 835 | echo $(OX)\event.obj >> $@ |
| 836 | echo $(OX)\export.obj >> $@ |
| 837 | echo $(OX)\extcgi.obj >> $@ |
| 838 | echo $(OX)\file.obj >> $@ |
| 839 | echo $(OX)\fileedit.obj >> $@ |
| 840 | echo $(OX)\finfo.obj >> $@ |
| 841 | echo $(OX)\foci.obj >> $@ |
| 842 | echo $(OX)\forum.obj >> $@ |
| 843 | echo $(OX)\fshell.obj >> $@ |
| 844 | echo $(OX)\fusefs.obj >> $@ |
| 845 | echo $(OX)\fuzz.obj >> $@ |
| 846 | echo $(OX)\glob.obj >> $@ |
| 847 | echo $(OX)\graph.obj >> $@ |
| 848 | echo $(OX)\gzip.obj >> $@ |
| 849 | echo $(OX)\hname.obj >> $@ |
| 850 | echo $(OX)\http.obj >> $@ |
| 851 | echo $(OX)\http_socket.obj >> $@ |
| 852 | echo $(OX)\http_ssl.obj >> $@ |
| 853 | echo $(OX)\http_transport.obj >> $@ |
| 854 | echo $(OX)\import.obj >> $@ |
| 855 | echo $(OX)\info.obj >> $@ |
| 856 | echo $(OX)\json.obj >> $@ |
| 857 | echo $(OX)\json_artifact.obj >> $@ |
| 858 | echo $(OX)\json_branch.obj >> $@ |
| 859 | echo $(OX)\json_config.obj >> $@ |
| 860 | echo $(OX)\json_diff.obj >> $@ |
| 861 | echo $(OX)\json_dir.obj >> $@ |
| 862 | echo $(OX)\json_finfo.obj >> $@ |
| 863 | echo $(OX)\json_login.obj >> $@ |
| 864 | echo $(OX)\json_query.obj >> $@ |
| 865 | echo $(OX)\json_report.obj >> $@ |
| 866 | echo $(OX)\json_status.obj >> $@ |
| 867 | echo $(OX)\json_tag.obj >> $@ |
| 868 | echo $(OX)\json_timeline.obj >> $@ |
| 869 | echo $(OX)\json_user.obj >> $@ |
| 870 | echo $(OX)\json_wiki.obj >> $@ |
| 871 | echo $(OX)\leaf.obj >> $@ |
| 872 | echo $(OX)\loadctrl.obj >> $@ |
| 873 | echo $(OX)\login.obj >> $@ |
| 874 | echo $(OX)\lookslike.obj >> $@ |
| 875 | echo $(OX)\main.obj >> $@ |
| 876 | echo $(OX)\manifest.obj >> $@ |
| 877 | echo $(OX)\markdown.obj >> $@ |
| 878 | echo $(OX)\markdown_html.obj >> $@ |
| 879 | echo $(OX)\md5.obj >> $@ |
| 880 | echo $(OX)\merge.obj >> $@ |
| 881 | echo $(OX)\merge3.obj >> $@ |
| 882 | echo $(OX)\moderate.obj >> $@ |
| 883 | echo $(OX)\name.obj >> $@ |
| 884 | echo $(OX)\path.obj >> $@ |
| 885 | echo $(OX)\piechart.obj >> $@ |
| 886 | echo $(OX)\pivot.obj >> $@ |
| 887 | echo $(OX)\popen.obj >> $@ |
| 888 | echo $(OX)\pqueue.obj >> $@ |
| 889 | echo $(OX)\printf.obj >> $@ |
| 890 | echo $(OX)\publish.obj >> $@ |
| 891 | echo $(OX)\purge.obj >> $@ |
| 892 | echo $(OX)\rebuild.obj >> $@ |
| 893 | echo $(OX)\regexp.obj >> $@ |
| 894 | echo $(OX)\repolist.obj >> $@ |
| 895 | echo $(OX)\report.obj >> $@ |
| 896 | echo $(OX)\rss.obj >> $@ |
| 897 | echo $(OX)\schema.obj >> $@ |
| 898 | echo $(OX)\search.obj >> $@ |
| 899 | echo $(OX)\security_audit.obj >> $@ |
| 900 | echo $(OX)\setup.obj >> $@ |
| 901 | echo $(OX)\setupuser.obj >> $@ |
| 902 | echo $(OX)\sha1.obj >> $@ |
| 903 | echo $(OX)\sha1hard.obj >> $@ |
| 904 | echo $(OX)\sha3.obj >> $@ |
| 905 | echo $(OX)\shell.obj >> $@ |
| 906 | echo $(OX)\shun.obj >> $@ |
| 907 | echo $(OX)\sitemap.obj >> $@ |
| 908 | echo $(OX)\skins.obj >> $@ |
| 909 | echo $(OX)\smtp.obj >> $@ |
| 910 | echo $(OX)\sqlcmd.obj >> $@ |
| 911 | echo $(OX)\sqlite3.obj >> $@ |
| 912 | echo $(OX)\stash.obj >> $@ |
| 913 | echo $(OX)\stat.obj >> $@ |
| 914 | echo $(OX)\statrep.obj >> $@ |
| 915 | echo $(OX)\style.obj >> $@ |
| 916 | echo $(OX)\sync.obj >> $@ |
| 917 | echo $(OX)\tag.obj >> $@ |
| 918 | echo $(OX)\tar.obj >> $@ |
| 919 | echo $(OX)\terminal.obj >> $@ |
| 920 | echo $(OX)\th.obj >> $@ |
| 921 | echo $(OX)\th_lang.obj >> $@ |
| 922 | echo $(OX)\th_main.obj >> $@ |
| 923 | echo $(OX)\th_tcl.obj >> $@ |
| 924 | echo $(OX)\timeline.obj >> $@ |
| 925 | echo $(OX)\tkt.obj >> $@ |
| 926 | echo $(OX)\tktsetup.obj >> $@ |
| 927 | echo $(OX)\undo.obj >> $@ |
| 928 | echo $(OX)\unicode.obj >> $@ |
| 929 | echo $(OX)\unversioned.obj >> $@ |
| 930 | echo $(OX)\update.obj >> $@ |
| 931 | echo $(OX)\url.obj >> $@ |
| 932 | echo $(OX)\user.obj >> $@ |
| 933 | echo $(OX)\utf8.obj >> $@ |
| 934 | echo $(OX)\util.obj >> $@ |
| 935 | echo $(OX)\verify.obj >> $@ |
| 936 | echo $(OX)\vfile.obj >> $@ |
| 937 | echo $(OX)\webmail.obj >> $@ |
| 938 | echo $(OX)\wiki.obj >> $@ |
| 939 | echo $(OX)\wikiformat.obj >> $@ |
| 940 | echo $(OX)\winfile.obj >> $@ |
| 941 | echo $(OX)\winhttp.obj >> $@ |
| 942 | echo $(OX)\wysiwyg.obj >> $@ |
| 943 | echo $(OX)\xfer.obj >> $@ |
| 944 | echo $(OX)\xfersetup.obj >> $@ |
| 945 | echo $(OX)\zip.obj >> $@ |
| 946 | !if $(FOSSIL_ENABLE_MINIZ)!=0 |
| 947 | echo $(OX)\miniz.obj >> $@ |
| 948 | !endif |
| 949 | echo $(LIBS) >> $@ |
| 950 | |
| 951 | $(OX): |
| 952 | @-mkdir $@ |
| 953 | |
| 954 | translate$E: $(SRCDIR)\translate.c |
| 955 | $(BCC) $** |
| 956 | |
| 957 | makeheaders$E: $(SRCDIR)\makeheaders.c |
| 958 | $(BCC) $** |
| 959 | |
| 960 | mkindex$E: $(SRCDIR)\mkindex.c |
| 961 | $(BCC) $** |
| 962 | |
| 963 | mkbuiltin$E: $(SRCDIR)\mkbuiltin.c |
| 964 | $(BCC) $** |
| 965 | |
| 966 | mkversion$E: $(SRCDIR)\mkversion.c |
| 967 | $(BCC) $** |
| 968 | |
| 969 | codecheck1$E: $(SRCDIR)\codecheck1.c |
| 970 | $(BCC) $** |
| 971 | |
| 972 | !if $(USE_SEE)!=0 |
| 973 | SEE_FLAGS = /DSQLITE_HAS_CODEC=1 /DSQLITE_SHELL_DBKEY_PROC=fossil_key |
| 974 | SQLITE3_SHELL_SRC = $(SRCDIR)\shell-see.c |
| 975 | SQLITE3_SRC = $(SRCDIR)\sqlite3-see.c |
| @@ -977,1082 +1010,1195 @@ | |
| 977 | SEE_FLAGS = |
| 978 | SQLITE3_SHELL_SRC = $(SRCDIR)\shell.c |
| 979 | SQLITE3_SRC = $(SRCDIR)\sqlite3.c |
| 980 | !endif |
| 981 | |
| 982 | $(OX)\shell$O : $(SQLITE3_SHELL_SRC) $B\win\Makefile.msc |
| 983 | $(TCC) /Fo$@ $(SHELL_OPTIONS) $(SQLITE_OPTIONS) $(SHELL_CFLAGS) $(SEE_FLAGS) -c $(SQLITE3_SHELL_SRC) |
| 984 | |
| 985 | $(OX)\sqlite3$O : $(SQLITE3_SRC) $B\win\Makefile.msc |
| 986 | $(TCC) /Fo$@ -c $(SQLITE_OPTIONS) $(SQLITE_CFLAGS) $(SEE_FLAGS) $(SQLITE3_SRC) |
| 987 | |
| 988 | $(OX)\th$O : $(SRCDIR)\th.c |
| 989 | $(TCC) /Fo$@ -c $** |
| 990 | |
| 991 | $(OX)\th_lang$O : $(SRCDIR)\th_lang.c |
| 992 | $(TCC) /Fo$@ -c $** |
| 993 | |
| 994 | $(OX)\th_tcl$O : $(SRCDIR)\th_tcl.c |
| 995 | $(TCC) /Fo$@ -c $** |
| 996 | |
| 997 | $(OX)\miniz$O : $(SRCDIR)\miniz.c |
| 998 | $(TCC) /Fo$@ -c $(MINIZ_OPTIONS) $(SRCDIR)\miniz.c |
| 999 | |
| 1000 | VERSION.h : mkversion$E $B\manifest.uuid $B\manifest $B\VERSION |
| 1001 | $** > $@ |
| 1002 | |
| 1003 | $(OX)\cson_amalgamation$O : $(SRCDIR)\cson_amalgamation.c |
| 1004 | $(TCC) /Fo$@ /c $** |
| 1005 | |
| 1006 | page_index.h: mkindex$E $(SRC) |
| 1007 | $** > $@ |
| 1008 | |
| 1009 | builtin_data.h: mkbuiltin$E $(EXTRA_FILES) |
| 1010 | mkbuiltin$E --prefix $(SRCDIR)/ $(EXTRA_FILES) > $@ |
| 1011 | |
| 1012 | clean: |
| 1013 | -del $(OX)\*.obj 2>NUL |
| 1014 | -del *.obj 2>NUL |
| 1015 | -del *_.c 2>NUL |
| 1016 | -del *.h 2>NUL |
| 1017 | -del *.ilk 2>NUL |
| 1018 | -del *.map 2>NUL |
| 1019 | -del *.res 2>NUL |
| 1020 | -del headers 2>NUL |
| 1021 | -del linkopts 2>NUL |
| 1022 | -del vc*.pdb 2>NUL |
| 1023 | |
| 1024 | realclean: clean |
| 1025 | -del $(APPNAME) 2>NUL |
| 1026 | -del $(PDBNAME) 2>NUL |
| 1027 | -del translate$E 2>NUL |
| 1028 | -del translate$P 2>NUL |
| 1029 | -del mkindex$E 2>NUL |
| 1030 | -del mkindex$P 2>NUL |
| 1031 | -del makeheaders$E 2>NUL |
| 1032 | -del makeheaders$P 2>NUL |
| 1033 | -del mkversion$E 2>NUL |
| 1034 | -del mkversion$P 2>NUL |
| 1035 | -del codecheck1$E 2>NUL |
| 1036 | -del codecheck1$P 2>NUL |
| 1037 | -del mkbuiltin$E 2>NUL |
| 1038 | -del mkbuiltin$P 2>NUL |
| 1039 | |
| 1040 | $(OBJDIR)\json$O : $(SRCDIR)\json_detail.h |
| 1041 | $(OBJDIR)\json_artifact$O : $(SRCDIR)\json_detail.h |
| 1042 | $(OBJDIR)\json_branch$O : $(SRCDIR)\json_detail.h |
| 1043 | $(OBJDIR)\json_config$O : $(SRCDIR)\json_detail.h |
| 1044 | $(OBJDIR)\json_diff$O : $(SRCDIR)\json_detail.h |
| 1045 | $(OBJDIR)\json_dir$O : $(SRCDIR)\json_detail.h |
| 1046 | $(OBJDIR)\json_finfo$O : $(SRCDIR)\json_detail.h |
| 1047 | $(OBJDIR)\json_login$O : $(SRCDIR)\json_detail.h |
| 1048 | $(OBJDIR)\json_query$O : $(SRCDIR)\json_detail.h |
| 1049 | $(OBJDIR)\json_report$O : $(SRCDIR)\json_detail.h |
| 1050 | $(OBJDIR)\json_status$O : $(SRCDIR)\json_detail.h |
| 1051 | $(OBJDIR)\json_tag$O : $(SRCDIR)\json_detail.h |
| 1052 | $(OBJDIR)\json_timeline$O : $(SRCDIR)\json_detail.h |
| 1053 | $(OBJDIR)\json_user$O : $(SRCDIR)\json_detail.h |
| 1054 | $(OBJDIR)\json_wiki$O : $(SRCDIR)\json_detail.h |
| 1055 | |
| 1056 | $(OX)\add$O : add_.c add.h |
| 1057 | $(TCC) /Fo$@ -c add_.c |
| 1058 | |
| 1059 | add_.c : $(SRCDIR)\add.c |
| 1060 | translate$E $** > $@ |
| 1061 | |
| 1062 | $(OX)\alerts$O : alerts_.c alerts.h |
| 1063 | $(TCC) /Fo$@ -c alerts_.c |
| 1064 | |
| 1065 | alerts_.c : $(SRCDIR)\alerts.c |
| 1066 | translate$E $** > $@ |
| 1067 | |
| 1068 | $(OX)\allrepo$O : allrepo_.c allrepo.h |
| 1069 | $(TCC) /Fo$@ -c allrepo_.c |
| 1070 | |
| 1071 | allrepo_.c : $(SRCDIR)\allrepo.c |
| 1072 | translate$E $** > $@ |
| 1073 | |
| 1074 | $(OX)\attach$O : attach_.c attach.h |
| 1075 | $(TCC) /Fo$@ -c attach_.c |
| 1076 | |
| 1077 | attach_.c : $(SRCDIR)\attach.c |
| 1078 | translate$E $** > $@ |
| 1079 | |
| 1080 | $(OX)\backlink$O : backlink_.c backlink.h |
| 1081 | $(TCC) /Fo$@ -c backlink_.c |
| 1082 | |
| 1083 | backlink_.c : $(SRCDIR)\backlink.c |
| 1084 | translate$E $** > $@ |
| 1085 | |
| 1086 | $(OX)\backoffice$O : backoffice_.c backoffice.h |
| 1087 | $(TCC) /Fo$@ -c backoffice_.c |
| 1088 | |
| 1089 | backoffice_.c : $(SRCDIR)\backoffice.c |
| 1090 | translate$E $** > $@ |
| 1091 | |
| 1092 | $(OX)\bag$O : bag_.c bag.h |
| 1093 | $(TCC) /Fo$@ -c bag_.c |
| 1094 | |
| 1095 | bag_.c : $(SRCDIR)\bag.c |
| 1096 | translate$E $** > $@ |
| 1097 | |
| 1098 | $(OX)\bisect$O : bisect_.c bisect.h |
| 1099 | $(TCC) /Fo$@ -c bisect_.c |
| 1100 | |
| 1101 | bisect_.c : $(SRCDIR)\bisect.c |
| 1102 | translate$E $** > $@ |
| 1103 | |
| 1104 | $(OX)\blob$O : blob_.c blob.h |
| 1105 | $(TCC) /Fo$@ -c blob_.c |
| 1106 | |
| 1107 | blob_.c : $(SRCDIR)\blob.c |
| 1108 | translate$E $** > $@ |
| 1109 | |
| 1110 | $(OX)\branch$O : branch_.c branch.h |
| 1111 | $(TCC) /Fo$@ -c branch_.c |
| 1112 | |
| 1113 | branch_.c : $(SRCDIR)\branch.c |
| 1114 | translate$E $** > $@ |
| 1115 | |
| 1116 | $(OX)\browse$O : browse_.c browse.h |
| 1117 | $(TCC) /Fo$@ -c browse_.c |
| 1118 | |
| 1119 | browse_.c : $(SRCDIR)\browse.c |
| 1120 | translate$E $** > $@ |
| 1121 | |
| 1122 | $(OX)\builtin$O : builtin_.c builtin.h |
| 1123 | $(TCC) /Fo$@ -c builtin_.c |
| 1124 | |
| 1125 | builtin_.c : $(SRCDIR)\builtin.c |
| 1126 | translate$E $** > $@ |
| 1127 | |
| 1128 | $(OX)\bundle$O : bundle_.c bundle.h |
| 1129 | $(TCC) /Fo$@ -c bundle_.c |
| 1130 | |
| 1131 | bundle_.c : $(SRCDIR)\bundle.c |
| 1132 | translate$E $** > $@ |
| 1133 | |
| 1134 | $(OX)\cache$O : cache_.c cache.h |
| 1135 | $(TCC) /Fo$@ -c cache_.c |
| 1136 | |
| 1137 | cache_.c : $(SRCDIR)\cache.c |
| 1138 | translate$E $** > $@ |
| 1139 | |
| 1140 | $(OX)\capabilities$O : capabilities_.c capabilities.h |
| 1141 | $(TCC) /Fo$@ -c capabilities_.c |
| 1142 | |
| 1143 | capabilities_.c : $(SRCDIR)\capabilities.c |
| 1144 | translate$E $** > $@ |
| 1145 | |
| 1146 | $(OX)\captcha$O : captcha_.c captcha.h |
| 1147 | $(TCC) /Fo$@ -c captcha_.c |
| 1148 | |
| 1149 | captcha_.c : $(SRCDIR)\captcha.c |
| 1150 | translate$E $** > $@ |
| 1151 | |
| 1152 | $(OX)\cgi$O : cgi_.c cgi.h |
| 1153 | $(TCC) /Fo$@ -c cgi_.c |
| 1154 | |
| 1155 | cgi_.c : $(SRCDIR)\cgi.c |
| 1156 | translate$E $** > $@ |
| 1157 | |
| 1158 | $(OX)\checkin$O : checkin_.c checkin.h |
| 1159 | $(TCC) /Fo$@ -c checkin_.c |
| 1160 | |
| 1161 | checkin_.c : $(SRCDIR)\checkin.c |
| 1162 | translate$E $** > $@ |
| 1163 | |
| 1164 | $(OX)\checkout$O : checkout_.c checkout.h |
| 1165 | $(TCC) /Fo$@ -c checkout_.c |
| 1166 | |
| 1167 | checkout_.c : $(SRCDIR)\checkout.c |
| 1168 | translate$E $** > $@ |
| 1169 | |
| 1170 | $(OX)\clearsign$O : clearsign_.c clearsign.h |
| 1171 | $(TCC) /Fo$@ -c clearsign_.c |
| 1172 | |
| 1173 | clearsign_.c : $(SRCDIR)\clearsign.c |
| 1174 | translate$E $** > $@ |
| 1175 | |
| 1176 | $(OX)\clone$O : clone_.c clone.h |
| 1177 | $(TCC) /Fo$@ -c clone_.c |
| 1178 | |
| 1179 | clone_.c : $(SRCDIR)\clone.c |
| 1180 | translate$E $** > $@ |
| 1181 | |
| 1182 | $(OX)\comformat$O : comformat_.c comformat.h |
| 1183 | $(TCC) /Fo$@ -c comformat_.c |
| 1184 | |
| 1185 | comformat_.c : $(SRCDIR)\comformat.c |
| 1186 | translate$E $** > $@ |
| 1187 | |
| 1188 | $(OX)\configure$O : configure_.c configure.h |
| 1189 | $(TCC) /Fo$@ -c configure_.c |
| 1190 | |
| 1191 | configure_.c : $(SRCDIR)\configure.c |
| 1192 | translate$E $** > $@ |
| 1193 | |
| 1194 | $(OX)\content$O : content_.c content.h |
| 1195 | $(TCC) /Fo$@ -c content_.c |
| 1196 | |
| 1197 | content_.c : $(SRCDIR)\content.c |
| 1198 | translate$E $** > $@ |
| 1199 | |
| 1200 | $(OX)\cookies$O : cookies_.c cookies.h |
| 1201 | $(TCC) /Fo$@ -c cookies_.c |
| 1202 | |
| 1203 | cookies_.c : $(SRCDIR)\cookies.c |
| 1204 | translate$E $** > $@ |
| 1205 | |
| 1206 | $(OX)\db$O : db_.c db.h |
| 1207 | $(TCC) /Fo$@ -c db_.c |
| 1208 | |
| 1209 | db_.c : $(SRCDIR)\db.c |
| 1210 | translate$E $** > $@ |
| 1211 | |
| 1212 | $(OX)\delta$O : delta_.c delta.h |
| 1213 | $(TCC) /Fo$@ -c delta_.c |
| 1214 | |
| 1215 | delta_.c : $(SRCDIR)\delta.c |
| 1216 | translate$E $** > $@ |
| 1217 | |
| 1218 | $(OX)\deltacmd$O : deltacmd_.c deltacmd.h |
| 1219 | $(TCC) /Fo$@ -c deltacmd_.c |
| 1220 | |
| 1221 | deltacmd_.c : $(SRCDIR)\deltacmd.c |
| 1222 | translate$E $** > $@ |
| 1223 | |
| 1224 | $(OX)\deltafunc$O : deltafunc_.c deltafunc.h |
| 1225 | $(TCC) /Fo$@ -c deltafunc_.c |
| 1226 | |
| 1227 | deltafunc_.c : $(SRCDIR)\deltafunc.c |
| 1228 | translate$E $** > $@ |
| 1229 | |
| 1230 | $(OX)\descendants$O : descendants_.c descendants.h |
| 1231 | $(TCC) /Fo$@ -c descendants_.c |
| 1232 | |
| 1233 | descendants_.c : $(SRCDIR)\descendants.c |
| 1234 | translate$E $** > $@ |
| 1235 | |
| 1236 | $(OX)\diff$O : diff_.c diff.h |
| 1237 | $(TCC) /Fo$@ -c diff_.c |
| 1238 | |
| 1239 | diff_.c : $(SRCDIR)\diff.c |
| 1240 | translate$E $** > $@ |
| 1241 | |
| 1242 | $(OX)\diffcmd$O : diffcmd_.c diffcmd.h |
| 1243 | $(TCC) /Fo$@ -c diffcmd_.c |
| 1244 | |
| 1245 | diffcmd_.c : $(SRCDIR)\diffcmd.c |
| 1246 | translate$E $** > $@ |
| 1247 | |
| 1248 | $(OX)\dispatch$O : dispatch_.c dispatch.h |
| 1249 | $(TCC) /Fo$@ -c dispatch_.c |
| 1250 | |
| 1251 | dispatch_.c : $(SRCDIR)\dispatch.c |
| 1252 | translate$E $** > $@ |
| 1253 | |
| 1254 | $(OX)\doc$O : doc_.c doc.h |
| 1255 | $(TCC) /Fo$@ -c doc_.c |
| 1256 | |
| 1257 | doc_.c : $(SRCDIR)\doc.c |
| 1258 | translate$E $** > $@ |
| 1259 | |
| 1260 | $(OX)\encode$O : encode_.c encode.h |
| 1261 | $(TCC) /Fo$@ -c encode_.c |
| 1262 | |
| 1263 | encode_.c : $(SRCDIR)\encode.c |
| 1264 | translate$E $** > $@ |
| 1265 | |
| 1266 | $(OX)\etag$O : etag_.c etag.h |
| 1267 | $(TCC) /Fo$@ -c etag_.c |
| 1268 | |
| 1269 | etag_.c : $(SRCDIR)\etag.c |
| 1270 | translate$E $** > $@ |
| 1271 | |
| 1272 | $(OX)\event$O : event_.c event.h |
| 1273 | $(TCC) /Fo$@ -c event_.c |
| 1274 | |
| 1275 | event_.c : $(SRCDIR)\event.c |
| 1276 | translate$E $** > $@ |
| 1277 | |
| 1278 | $(OX)\export$O : export_.c export.h |
| 1279 | $(TCC) /Fo$@ -c export_.c |
| 1280 | |
| 1281 | export_.c : $(SRCDIR)\export.c |
| 1282 | translate$E $** > $@ |
| 1283 | |
| 1284 | $(OX)\extcgi$O : extcgi_.c extcgi.h |
| 1285 | $(TCC) /Fo$@ -c extcgi_.c |
| 1286 | |
| 1287 | extcgi_.c : $(SRCDIR)\extcgi.c |
| 1288 | translate$E $** > $@ |
| 1289 | |
| 1290 | $(OX)\file$O : file_.c file.h |
| 1291 | $(TCC) /Fo$@ -c file_.c |
| 1292 | |
| 1293 | file_.c : $(SRCDIR)\file.c |
| 1294 | translate$E $** > $@ |
| 1295 | |
| 1296 | $(OX)\fileedit$O : fileedit_.c fileedit.h |
| 1297 | $(TCC) /Fo$@ -c fileedit_.c |
| 1298 | |
| 1299 | fileedit_.c : $(SRCDIR)\fileedit.c |
| 1300 | translate$E $** > $@ |
| 1301 | |
| 1302 | $(OX)\finfo$O : finfo_.c finfo.h |
| 1303 | $(TCC) /Fo$@ -c finfo_.c |
| 1304 | |
| 1305 | finfo_.c : $(SRCDIR)\finfo.c |
| 1306 | translate$E $** > $@ |
| 1307 | |
| 1308 | $(OX)\foci$O : foci_.c foci.h |
| 1309 | $(TCC) /Fo$@ -c foci_.c |
| 1310 | |
| 1311 | foci_.c : $(SRCDIR)\foci.c |
| 1312 | translate$E $** > $@ |
| 1313 | |
| 1314 | $(OX)\forum$O : forum_.c forum.h |
| 1315 | $(TCC) /Fo$@ -c forum_.c |
| 1316 | |
| 1317 | forum_.c : $(SRCDIR)\forum.c |
| 1318 | translate$E $** > $@ |
| 1319 | |
| 1320 | $(OX)\fshell$O : fshell_.c fshell.h |
| 1321 | $(TCC) /Fo$@ -c fshell_.c |
| 1322 | |
| 1323 | fshell_.c : $(SRCDIR)\fshell.c |
| 1324 | translate$E $** > $@ |
| 1325 | |
| 1326 | $(OX)\fusefs$O : fusefs_.c fusefs.h |
| 1327 | $(TCC) /Fo$@ -c fusefs_.c |
| 1328 | |
| 1329 | fusefs_.c : $(SRCDIR)\fusefs.c |
| 1330 | translate$E $** > $@ |
| 1331 | |
| 1332 | $(OX)\fuzz$O : fuzz_.c fuzz.h |
| 1333 | $(TCC) /Fo$@ -c fuzz_.c |
| 1334 | |
| 1335 | fuzz_.c : $(SRCDIR)\fuzz.c |
| 1336 | translate$E $** > $@ |
| 1337 | |
| 1338 | $(OX)\glob$O : glob_.c glob.h |
| 1339 | $(TCC) /Fo$@ -c glob_.c |
| 1340 | |
| 1341 | glob_.c : $(SRCDIR)\glob.c |
| 1342 | translate$E $** > $@ |
| 1343 | |
| 1344 | $(OX)\graph$O : graph_.c graph.h |
| 1345 | $(TCC) /Fo$@ -c graph_.c |
| 1346 | |
| 1347 | graph_.c : $(SRCDIR)\graph.c |
| 1348 | translate$E $** > $@ |
| 1349 | |
| 1350 | $(OX)\gzip$O : gzip_.c gzip.h |
| 1351 | $(TCC) /Fo$@ -c gzip_.c |
| 1352 | |
| 1353 | gzip_.c : $(SRCDIR)\gzip.c |
| 1354 | translate$E $** > $@ |
| 1355 | |
| 1356 | $(OX)\hname$O : hname_.c hname.h |
| 1357 | $(TCC) /Fo$@ -c hname_.c |
| 1358 | |
| 1359 | hname_.c : $(SRCDIR)\hname.c |
| 1360 | translate$E $** > $@ |
| 1361 | |
| 1362 | $(OX)\http$O : http_.c http.h |
| 1363 | $(TCC) /Fo$@ -c http_.c |
| 1364 | |
| 1365 | http_.c : $(SRCDIR)\http.c |
| 1366 | translate$E $** > $@ |
| 1367 | |
| 1368 | $(OX)\http_socket$O : http_socket_.c http_socket.h |
| 1369 | $(TCC) /Fo$@ -c http_socket_.c |
| 1370 | |
| 1371 | http_socket_.c : $(SRCDIR)\http_socket.c |
| 1372 | translate$E $** > $@ |
| 1373 | |
| 1374 | $(OX)\http_ssl$O : http_ssl_.c http_ssl.h |
| 1375 | $(TCC) /Fo$@ -c http_ssl_.c |
| 1376 | |
| 1377 | http_ssl_.c : $(SRCDIR)\http_ssl.c |
| 1378 | translate$E $** > $@ |
| 1379 | |
| 1380 | $(OX)\http_transport$O : http_transport_.c http_transport.h |
| 1381 | $(TCC) /Fo$@ -c http_transport_.c |
| 1382 | |
| 1383 | http_transport_.c : $(SRCDIR)\http_transport.c |
| 1384 | translate$E $** > $@ |
| 1385 | |
| 1386 | $(OX)\import$O : import_.c import.h |
| 1387 | $(TCC) /Fo$@ -c import_.c |
| 1388 | |
| 1389 | import_.c : $(SRCDIR)\import.c |
| 1390 | translate$E $** > $@ |
| 1391 | |
| 1392 | $(OX)\info$O : info_.c info.h |
| 1393 | $(TCC) /Fo$@ -c info_.c |
| 1394 | |
| 1395 | info_.c : $(SRCDIR)\info.c |
| 1396 | translate$E $** > $@ |
| 1397 | |
| 1398 | $(OX)\json$O : json_.c json.h |
| 1399 | $(TCC) /Fo$@ -c json_.c |
| 1400 | |
| 1401 | json_.c : $(SRCDIR)\json.c |
| 1402 | translate$E $** > $@ |
| 1403 | |
| 1404 | $(OX)\json_artifact$O : json_artifact_.c json_artifact.h |
| 1405 | $(TCC) /Fo$@ -c json_artifact_.c |
| 1406 | |
| 1407 | json_artifact_.c : $(SRCDIR)\json_artifact.c |
| 1408 | translate$E $** > $@ |
| 1409 | |
| 1410 | $(OX)\json_branch$O : json_branch_.c json_branch.h |
| 1411 | $(TCC) /Fo$@ -c json_branch_.c |
| 1412 | |
| 1413 | json_branch_.c : $(SRCDIR)\json_branch.c |
| 1414 | translate$E $** > $@ |
| 1415 | |
| 1416 | $(OX)\json_config$O : json_config_.c json_config.h |
| 1417 | $(TCC) /Fo$@ -c json_config_.c |
| 1418 | |
| 1419 | json_config_.c : $(SRCDIR)\json_config.c |
| 1420 | translate$E $** > $@ |
| 1421 | |
| 1422 | $(OX)\json_diff$O : json_diff_.c json_diff.h |
| 1423 | $(TCC) /Fo$@ -c json_diff_.c |
| 1424 | |
| 1425 | json_diff_.c : $(SRCDIR)\json_diff.c |
| 1426 | translate$E $** > $@ |
| 1427 | |
| 1428 | $(OX)\json_dir$O : json_dir_.c json_dir.h |
| 1429 | $(TCC) /Fo$@ -c json_dir_.c |
| 1430 | |
| 1431 | json_dir_.c : $(SRCDIR)\json_dir.c |
| 1432 | translate$E $** > $@ |
| 1433 | |
| 1434 | $(OX)\json_finfo$O : json_finfo_.c json_finfo.h |
| 1435 | $(TCC) /Fo$@ -c json_finfo_.c |
| 1436 | |
| 1437 | json_finfo_.c : $(SRCDIR)\json_finfo.c |
| 1438 | translate$E $** > $@ |
| 1439 | |
| 1440 | $(OX)\json_login$O : json_login_.c json_login.h |
| 1441 | $(TCC) /Fo$@ -c json_login_.c |
| 1442 | |
| 1443 | json_login_.c : $(SRCDIR)\json_login.c |
| 1444 | translate$E $** > $@ |
| 1445 | |
| 1446 | $(OX)\json_query$O : json_query_.c json_query.h |
| 1447 | $(TCC) /Fo$@ -c json_query_.c |
| 1448 | |
| 1449 | json_query_.c : $(SRCDIR)\json_query.c |
| 1450 | translate$E $** > $@ |
| 1451 | |
| 1452 | $(OX)\json_report$O : json_report_.c json_report.h |
| 1453 | $(TCC) /Fo$@ -c json_report_.c |
| 1454 | |
| 1455 | json_report_.c : $(SRCDIR)\json_report.c |
| 1456 | translate$E $** > $@ |
| 1457 | |
| 1458 | $(OX)\json_status$O : json_status_.c json_status.h |
| 1459 | $(TCC) /Fo$@ -c json_status_.c |
| 1460 | |
| 1461 | json_status_.c : $(SRCDIR)\json_status.c |
| 1462 | translate$E $** > $@ |
| 1463 | |
| 1464 | $(OX)\json_tag$O : json_tag_.c json_tag.h |
| 1465 | $(TCC) /Fo$@ -c json_tag_.c |
| 1466 | |
| 1467 | json_tag_.c : $(SRCDIR)\json_tag.c |
| 1468 | translate$E $** > $@ |
| 1469 | |
| 1470 | $(OX)\json_timeline$O : json_timeline_.c json_timeline.h |
| 1471 | $(TCC) /Fo$@ -c json_timeline_.c |
| 1472 | |
| 1473 | json_timeline_.c : $(SRCDIR)\json_timeline.c |
| 1474 | translate$E $** > $@ |
| 1475 | |
| 1476 | $(OX)\json_user$O : json_user_.c json_user.h |
| 1477 | $(TCC) /Fo$@ -c json_user_.c |
| 1478 | |
| 1479 | json_user_.c : $(SRCDIR)\json_user.c |
| 1480 | translate$E $** > $@ |
| 1481 | |
| 1482 | $(OX)\json_wiki$O : json_wiki_.c json_wiki.h |
| 1483 | $(TCC) /Fo$@ -c json_wiki_.c |
| 1484 | |
| 1485 | json_wiki_.c : $(SRCDIR)\json_wiki.c |
| 1486 | translate$E $** > $@ |
| 1487 | |
| 1488 | $(OX)\leaf$O : leaf_.c leaf.h |
| 1489 | $(TCC) /Fo$@ -c leaf_.c |
| 1490 | |
| 1491 | leaf_.c : $(SRCDIR)\leaf.c |
| 1492 | translate$E $** > $@ |
| 1493 | |
| 1494 | $(OX)\loadctrl$O : loadctrl_.c loadctrl.h |
| 1495 | $(TCC) /Fo$@ -c loadctrl_.c |
| 1496 | |
| 1497 | loadctrl_.c : $(SRCDIR)\loadctrl.c |
| 1498 | translate$E $** > $@ |
| 1499 | |
| 1500 | $(OX)\login$O : login_.c login.h |
| 1501 | $(TCC) /Fo$@ -c login_.c |
| 1502 | |
| 1503 | login_.c : $(SRCDIR)\login.c |
| 1504 | translate$E $** > $@ |
| 1505 | |
| 1506 | $(OX)\lookslike$O : lookslike_.c lookslike.h |
| 1507 | $(TCC) /Fo$@ -c lookslike_.c |
| 1508 | |
| 1509 | lookslike_.c : $(SRCDIR)\lookslike.c |
| 1510 | translate$E $** > $@ |
| 1511 | |
| 1512 | $(OX)\main$O : main_.c main.h |
| 1513 | $(TCC) /Fo$@ -c main_.c |
| 1514 | |
| 1515 | main_.c : $(SRCDIR)\main.c |
| 1516 | translate$E $** > $@ |
| 1517 | |
| 1518 | $(OX)\manifest$O : manifest_.c manifest.h |
| 1519 | $(TCC) /Fo$@ -c manifest_.c |
| 1520 | |
| 1521 | manifest_.c : $(SRCDIR)\manifest.c |
| 1522 | translate$E $** > $@ |
| 1523 | |
| 1524 | $(OX)\markdown$O : markdown_.c markdown.h |
| 1525 | $(TCC) /Fo$@ -c markdown_.c |
| 1526 | |
| 1527 | markdown_.c : $(SRCDIR)\markdown.c |
| 1528 | translate$E $** > $@ |
| 1529 | |
| 1530 | $(OX)\markdown_html$O : markdown_html_.c markdown_html.h |
| 1531 | $(TCC) /Fo$@ -c markdown_html_.c |
| 1532 | |
| 1533 | markdown_html_.c : $(SRCDIR)\markdown_html.c |
| 1534 | translate$E $** > $@ |
| 1535 | |
| 1536 | $(OX)\md5$O : md5_.c md5.h |
| 1537 | $(TCC) /Fo$@ -c md5_.c |
| 1538 | |
| 1539 | md5_.c : $(SRCDIR)\md5.c |
| 1540 | translate$E $** > $@ |
| 1541 | |
| 1542 | $(OX)\merge$O : merge_.c merge.h |
| 1543 | $(TCC) /Fo$@ -c merge_.c |
| 1544 | |
| 1545 | merge_.c : $(SRCDIR)\merge.c |
| 1546 | translate$E $** > $@ |
| 1547 | |
| 1548 | $(OX)\merge3$O : merge3_.c merge3.h |
| 1549 | $(TCC) /Fo$@ -c merge3_.c |
| 1550 | |
| 1551 | merge3_.c : $(SRCDIR)\merge3.c |
| 1552 | translate$E $** > $@ |
| 1553 | |
| 1554 | $(OX)\moderate$O : moderate_.c moderate.h |
| 1555 | $(TCC) /Fo$@ -c moderate_.c |
| 1556 | |
| 1557 | moderate_.c : $(SRCDIR)\moderate.c |
| 1558 | translate$E $** > $@ |
| 1559 | |
| 1560 | $(OX)\name$O : name_.c name.h |
| 1561 | $(TCC) /Fo$@ -c name_.c |
| 1562 | |
| 1563 | name_.c : $(SRCDIR)\name.c |
| 1564 | translate$E $** > $@ |
| 1565 | |
| 1566 | $(OX)\path$O : path_.c path.h |
| 1567 | $(TCC) /Fo$@ -c path_.c |
| 1568 | |
| 1569 | path_.c : $(SRCDIR)\path.c |
| 1570 | translate$E $** > $@ |
| 1571 | |
| 1572 | $(OX)\piechart$O : piechart_.c piechart.h |
| 1573 | $(TCC) /Fo$@ -c piechart_.c |
| 1574 | |
| 1575 | piechart_.c : $(SRCDIR)\piechart.c |
| 1576 | translate$E $** > $@ |
| 1577 | |
| 1578 | $(OX)\pivot$O : pivot_.c pivot.h |
| 1579 | $(TCC) /Fo$@ -c pivot_.c |
| 1580 | |
| 1581 | pivot_.c : $(SRCDIR)\pivot.c |
| 1582 | translate$E $** > $@ |
| 1583 | |
| 1584 | $(OX)\popen$O : popen_.c popen.h |
| 1585 | $(TCC) /Fo$@ -c popen_.c |
| 1586 | |
| 1587 | popen_.c : $(SRCDIR)\popen.c |
| 1588 | translate$E $** > $@ |
| 1589 | |
| 1590 | $(OX)\pqueue$O : pqueue_.c pqueue.h |
| 1591 | $(TCC) /Fo$@ -c pqueue_.c |
| 1592 | |
| 1593 | pqueue_.c : $(SRCDIR)\pqueue.c |
| 1594 | translate$E $** > $@ |
| 1595 | |
| 1596 | $(OX)\printf$O : printf_.c printf.h |
| 1597 | $(TCC) /Fo$@ -c printf_.c |
| 1598 | |
| 1599 | printf_.c : $(SRCDIR)\printf.c |
| 1600 | translate$E $** > $@ |
| 1601 | |
| 1602 | $(OX)\publish$O : publish_.c publish.h |
| 1603 | $(TCC) /Fo$@ -c publish_.c |
| 1604 | |
| 1605 | publish_.c : $(SRCDIR)\publish.c |
| 1606 | translate$E $** > $@ |
| 1607 | |
| 1608 | $(OX)\purge$O : purge_.c purge.h |
| 1609 | $(TCC) /Fo$@ -c purge_.c |
| 1610 | |
| 1611 | purge_.c : $(SRCDIR)\purge.c |
| 1612 | translate$E $** > $@ |
| 1613 | |
| 1614 | $(OX)\rebuild$O : rebuild_.c rebuild.h |
| 1615 | $(TCC) /Fo$@ -c rebuild_.c |
| 1616 | |
| 1617 | rebuild_.c : $(SRCDIR)\rebuild.c |
| 1618 | translate$E $** > $@ |
| 1619 | |
| 1620 | $(OX)\regexp$O : regexp_.c regexp.h |
| 1621 | $(TCC) /Fo$@ -c regexp_.c |
| 1622 | |
| 1623 | regexp_.c : $(SRCDIR)\regexp.c |
| 1624 | translate$E $** > $@ |
| 1625 | |
| 1626 | $(OX)\repolist$O : repolist_.c repolist.h |
| 1627 | $(TCC) /Fo$@ -c repolist_.c |
| 1628 | |
| 1629 | repolist_.c : $(SRCDIR)\repolist.c |
| 1630 | translate$E $** > $@ |
| 1631 | |
| 1632 | $(OX)\report$O : report_.c report.h |
| 1633 | $(TCC) /Fo$@ -c report_.c |
| 1634 | |
| 1635 | report_.c : $(SRCDIR)\report.c |
| 1636 | translate$E $** > $@ |
| 1637 | |
| 1638 | $(OX)\rss$O : rss_.c rss.h |
| 1639 | $(TCC) /Fo$@ -c rss_.c |
| 1640 | |
| 1641 | rss_.c : $(SRCDIR)\rss.c |
| 1642 | translate$E $** > $@ |
| 1643 | |
| 1644 | $(OX)\schema$O : schema_.c schema.h |
| 1645 | $(TCC) /Fo$@ -c schema_.c |
| 1646 | |
| 1647 | schema_.c : $(SRCDIR)\schema.c |
| 1648 | translate$E $** > $@ |
| 1649 | |
| 1650 | $(OX)\search$O : search_.c search.h |
| 1651 | $(TCC) /Fo$@ -c search_.c |
| 1652 | |
| 1653 | search_.c : $(SRCDIR)\search.c |
| 1654 | translate$E $** > $@ |
| 1655 | |
| 1656 | $(OX)\security_audit$O : security_audit_.c security_audit.h |
| 1657 | $(TCC) /Fo$@ -c security_audit_.c |
| 1658 | |
| 1659 | security_audit_.c : $(SRCDIR)\security_audit.c |
| 1660 | translate$E $** > $@ |
| 1661 | |
| 1662 | $(OX)\setup$O : setup_.c setup.h |
| 1663 | $(TCC) /Fo$@ -c setup_.c |
| 1664 | |
| 1665 | setup_.c : $(SRCDIR)\setup.c |
| 1666 | translate$E $** > $@ |
| 1667 | |
| 1668 | $(OX)\setupuser$O : setupuser_.c setupuser.h |
| 1669 | $(TCC) /Fo$@ -c setupuser_.c |
| 1670 | |
| 1671 | setupuser_.c : $(SRCDIR)\setupuser.c |
| 1672 | translate$E $** > $@ |
| 1673 | |
| 1674 | $(OX)\sha1$O : sha1_.c sha1.h |
| 1675 | $(TCC) /Fo$@ -c sha1_.c |
| 1676 | |
| 1677 | sha1_.c : $(SRCDIR)\sha1.c |
| 1678 | translate$E $** > $@ |
| 1679 | |
| 1680 | $(OX)\sha1hard$O : sha1hard_.c sha1hard.h |
| 1681 | $(TCC) /Fo$@ -c sha1hard_.c |
| 1682 | |
| 1683 | sha1hard_.c : $(SRCDIR)\sha1hard.c |
| 1684 | translate$E $** > $@ |
| 1685 | |
| 1686 | $(OX)\sha3$O : sha3_.c sha3.h |
| 1687 | $(TCC) /Fo$@ -c sha3_.c |
| 1688 | |
| 1689 | sha3_.c : $(SRCDIR)\sha3.c |
| 1690 | translate$E $** > $@ |
| 1691 | |
| 1692 | $(OX)\shun$O : shun_.c shun.h |
| 1693 | $(TCC) /Fo$@ -c shun_.c |
| 1694 | |
| 1695 | shun_.c : $(SRCDIR)\shun.c |
| 1696 | translate$E $** > $@ |
| 1697 | |
| 1698 | $(OX)\sitemap$O : sitemap_.c sitemap.h |
| 1699 | $(TCC) /Fo$@ -c sitemap_.c |
| 1700 | |
| 1701 | sitemap_.c : $(SRCDIR)\sitemap.c |
| 1702 | translate$E $** > $@ |
| 1703 | |
| 1704 | $(OX)\skins$O : skins_.c skins.h |
| 1705 | $(TCC) /Fo$@ -c skins_.c |
| 1706 | |
| 1707 | skins_.c : $(SRCDIR)\skins.c |
| 1708 | translate$E $** > $@ |
| 1709 | |
| 1710 | $(OX)\smtp$O : smtp_.c smtp.h |
| 1711 | $(TCC) /Fo$@ -c smtp_.c |
| 1712 | |
| 1713 | smtp_.c : $(SRCDIR)\smtp.c |
| 1714 | translate$E $** > $@ |
| 1715 | |
| 1716 | $(OX)\sqlcmd$O : sqlcmd_.c sqlcmd.h |
| 1717 | $(TCC) /Fo$@ -c sqlcmd_.c |
| 1718 | |
| 1719 | sqlcmd_.c : $(SRCDIR)\sqlcmd.c |
| 1720 | translate$E $** > $@ |
| 1721 | |
| 1722 | $(OX)\stash$O : stash_.c stash.h |
| 1723 | $(TCC) /Fo$@ -c stash_.c |
| 1724 | |
| 1725 | stash_.c : $(SRCDIR)\stash.c |
| 1726 | translate$E $** > $@ |
| 1727 | |
| 1728 | $(OX)\stat$O : stat_.c stat.h |
| 1729 | $(TCC) /Fo$@ -c stat_.c |
| 1730 | |
| 1731 | stat_.c : $(SRCDIR)\stat.c |
| 1732 | translate$E $** > $@ |
| 1733 | |
| 1734 | $(OX)\statrep$O : statrep_.c statrep.h |
| 1735 | $(TCC) /Fo$@ -c statrep_.c |
| 1736 | |
| 1737 | statrep_.c : $(SRCDIR)\statrep.c |
| 1738 | translate$E $** > $@ |
| 1739 | |
| 1740 | $(OX)\style$O : style_.c style.h |
| 1741 | $(TCC) /Fo$@ -c style_.c |
| 1742 | |
| 1743 | style_.c : $(SRCDIR)\style.c |
| 1744 | translate$E $** > $@ |
| 1745 | |
| 1746 | $(OX)\sync$O : sync_.c sync.h |
| 1747 | $(TCC) /Fo$@ -c sync_.c |
| 1748 | |
| 1749 | sync_.c : $(SRCDIR)\sync.c |
| 1750 | translate$E $** > $@ |
| 1751 | |
| 1752 | $(OX)\tag$O : tag_.c tag.h |
| 1753 | $(TCC) /Fo$@ -c tag_.c |
| 1754 | |
| 1755 | tag_.c : $(SRCDIR)\tag.c |
| 1756 | translate$E $** > $@ |
| 1757 | |
| 1758 | $(OX)\tar$O : tar_.c tar.h |
| 1759 | $(TCC) /Fo$@ -c tar_.c |
| 1760 | |
| 1761 | tar_.c : $(SRCDIR)\tar.c |
| 1762 | translate$E $** > $@ |
| 1763 | |
| 1764 | $(OX)\terminal$O : terminal_.c terminal.h |
| 1765 | $(TCC) /Fo$@ -c terminal_.c |
| 1766 | |
| 1767 | terminal_.c : $(SRCDIR)\terminal.c |
| 1768 | translate$E $** > $@ |
| 1769 | |
| 1770 | $(OX)\th_main$O : th_main_.c th_main.h |
| 1771 | $(TCC) /Fo$@ -c th_main_.c |
| 1772 | |
| 1773 | th_main_.c : $(SRCDIR)\th_main.c |
| 1774 | translate$E $** > $@ |
| 1775 | |
| 1776 | $(OX)\timeline$O : timeline_.c timeline.h |
| 1777 | $(TCC) /Fo$@ -c timeline_.c |
| 1778 | |
| 1779 | timeline_.c : $(SRCDIR)\timeline.c |
| 1780 | translate$E $** > $@ |
| 1781 | |
| 1782 | $(OX)\tkt$O : tkt_.c tkt.h |
| 1783 | $(TCC) /Fo$@ -c tkt_.c |
| 1784 | |
| 1785 | tkt_.c : $(SRCDIR)\tkt.c |
| 1786 | translate$E $** > $@ |
| 1787 | |
| 1788 | $(OX)\tktsetup$O : tktsetup_.c tktsetup.h |
| 1789 | $(TCC) /Fo$@ -c tktsetup_.c |
| 1790 | |
| 1791 | tktsetup_.c : $(SRCDIR)\tktsetup.c |
| 1792 | translate$E $** > $@ |
| 1793 | |
| 1794 | $(OX)\undo$O : undo_.c undo.h |
| 1795 | $(TCC) /Fo$@ -c undo_.c |
| 1796 | |
| 1797 | undo_.c : $(SRCDIR)\undo.c |
| 1798 | translate$E $** > $@ |
| 1799 | |
| 1800 | $(OX)\unicode$O : unicode_.c unicode.h |
| 1801 | $(TCC) /Fo$@ -c unicode_.c |
| 1802 | |
| 1803 | unicode_.c : $(SRCDIR)\unicode.c |
| 1804 | translate$E $** > $@ |
| 1805 | |
| 1806 | $(OX)\unversioned$O : unversioned_.c unversioned.h |
| 1807 | $(TCC) /Fo$@ -c unversioned_.c |
| 1808 | |
| 1809 | unversioned_.c : $(SRCDIR)\unversioned.c |
| 1810 | translate$E $** > $@ |
| 1811 | |
| 1812 | $(OX)\update$O : update_.c update.h |
| 1813 | $(TCC) /Fo$@ -c update_.c |
| 1814 | |
| 1815 | update_.c : $(SRCDIR)\update.c |
| 1816 | translate$E $** > $@ |
| 1817 | |
| 1818 | $(OX)\url$O : url_.c url.h |
| 1819 | $(TCC) /Fo$@ -c url_.c |
| 1820 | |
| 1821 | url_.c : $(SRCDIR)\url.c |
| 1822 | translate$E $** > $@ |
| 1823 | |
| 1824 | $(OX)\user$O : user_.c user.h |
| 1825 | $(TCC) /Fo$@ -c user_.c |
| 1826 | |
| 1827 | user_.c : $(SRCDIR)\user.c |
| 1828 | translate$E $** > $@ |
| 1829 | |
| 1830 | $(OX)\utf8$O : utf8_.c utf8.h |
| 1831 | $(TCC) /Fo$@ -c utf8_.c |
| 1832 | |
| 1833 | utf8_.c : $(SRCDIR)\utf8.c |
| 1834 | translate$E $** > $@ |
| 1835 | |
| 1836 | $(OX)\util$O : util_.c util.h |
| 1837 | $(TCC) /Fo$@ -c util_.c |
| 1838 | |
| 1839 | util_.c : $(SRCDIR)\util.c |
| 1840 | translate$E $** > $@ |
| 1841 | |
| 1842 | $(OX)\verify$O : verify_.c verify.h |
| 1843 | $(TCC) /Fo$@ -c verify_.c |
| 1844 | |
| 1845 | verify_.c : $(SRCDIR)\verify.c |
| 1846 | translate$E $** > $@ |
| 1847 | |
| 1848 | $(OX)\vfile$O : vfile_.c vfile.h |
| 1849 | $(TCC) /Fo$@ -c vfile_.c |
| 1850 | |
| 1851 | vfile_.c : $(SRCDIR)\vfile.c |
| 1852 | translate$E $** > $@ |
| 1853 | |
| 1854 | $(OX)\webmail$O : webmail_.c webmail.h |
| 1855 | $(TCC) /Fo$@ -c webmail_.c |
| 1856 | |
| 1857 | webmail_.c : $(SRCDIR)\webmail.c |
| 1858 | translate$E $** > $@ |
| 1859 | |
| 1860 | $(OX)\wiki$O : wiki_.c wiki.h |
| 1861 | $(TCC) /Fo$@ -c wiki_.c |
| 1862 | |
| 1863 | wiki_.c : $(SRCDIR)\wiki.c |
| 1864 | translate$E $** > $@ |
| 1865 | |
| 1866 | $(OX)\wikiformat$O : wikiformat_.c wikiformat.h |
| 1867 | $(TCC) /Fo$@ -c wikiformat_.c |
| 1868 | |
| 1869 | wikiformat_.c : $(SRCDIR)\wikiformat.c |
| 1870 | translate$E $** > $@ |
| 1871 | |
| 1872 | $(OX)\winfile$O : winfile_.c winfile.h |
| 1873 | $(TCC) /Fo$@ -c winfile_.c |
| 1874 | |
| 1875 | winfile_.c : $(SRCDIR)\winfile.c |
| 1876 | translate$E $** > $@ |
| 1877 | |
| 1878 | $(OX)\winhttp$O : winhttp_.c winhttp.h |
| 1879 | $(TCC) /Fo$@ -c winhttp_.c |
| 1880 | |
| 1881 | winhttp_.c : $(SRCDIR)\winhttp.c |
| 1882 | translate$E $** > $@ |
| 1883 | |
| 1884 | $(OX)\wysiwyg$O : wysiwyg_.c wysiwyg.h |
| 1885 | $(TCC) /Fo$@ -c wysiwyg_.c |
| 1886 | |
| 1887 | wysiwyg_.c : $(SRCDIR)\wysiwyg.c |
| 1888 | translate$E $** > $@ |
| 1889 | |
| 1890 | $(OX)\xfer$O : xfer_.c xfer.h |
| 1891 | $(TCC) /Fo$@ -c xfer_.c |
| 1892 | |
| 1893 | xfer_.c : $(SRCDIR)\xfer.c |
| 1894 | translate$E $** > $@ |
| 1895 | |
| 1896 | $(OX)\xfersetup$O : xfersetup_.c xfersetup.h |
| 1897 | $(TCC) /Fo$@ -c xfersetup_.c |
| 1898 | |
| 1899 | xfersetup_.c : $(SRCDIR)\xfersetup.c |
| 1900 | translate$E $** > $@ |
| 1901 | |
| 1902 | $(OX)\zip$O : zip_.c zip.h |
| 1903 | $(TCC) /Fo$@ -c zip_.c |
| 1904 | |
| 1905 | zip_.c : $(SRCDIR)\zip.c |
| 1906 | translate$E $** > $@ |
| 1907 | |
| 1908 | fossil.res : $B\win\fossil.rc |
| 1909 | $(RCC) /fo $@ $** |
| 1910 | |
| 1911 | headers: makeheaders$E page_index.h builtin_data.h VERSION.h |
| 1912 | makeheaders$E add_.c:add.h \ |
| 1913 | alerts_.c:alerts.h \ |
| 1914 | allrepo_.c:allrepo.h \ |
| 1915 | attach_.c:attach.h \ |
| 1916 | backlink_.c:backlink.h \ |
| 1917 | backoffice_.c:backoffice.h \ |
| 1918 | bag_.c:bag.h \ |
| 1919 | bisect_.c:bisect.h \ |
| 1920 | blob_.c:blob.h \ |
| 1921 | branch_.c:branch.h \ |
| 1922 | browse_.c:browse.h \ |
| 1923 | builtin_.c:builtin.h \ |
| 1924 | bundle_.c:bundle.h \ |
| 1925 | cache_.c:cache.h \ |
| 1926 | capabilities_.c:capabilities.h \ |
| 1927 | captcha_.c:captcha.h \ |
| 1928 | cgi_.c:cgi.h \ |
| 1929 | checkin_.c:checkin.h \ |
| 1930 | checkout_.c:checkout.h \ |
| 1931 | clearsign_.c:clearsign.h \ |
| 1932 | clone_.c:clone.h \ |
| 1933 | comformat_.c:comformat.h \ |
| 1934 | configure_.c:configure.h \ |
| 1935 | content_.c:content.h \ |
| 1936 | cookies_.c:cookies.h \ |
| 1937 | db_.c:db.h \ |
| 1938 | delta_.c:delta.h \ |
| 1939 | deltacmd_.c:deltacmd.h \ |
| 1940 | deltafunc_.c:deltafunc.h \ |
| 1941 | descendants_.c:descendants.h \ |
| 1942 | diff_.c:diff.h \ |
| 1943 | diffcmd_.c:diffcmd.h \ |
| 1944 | dispatch_.c:dispatch.h \ |
| 1945 | doc_.c:doc.h \ |
| 1946 | encode_.c:encode.h \ |
| 1947 | etag_.c:etag.h \ |
| 1948 | event_.c:event.h \ |
| 1949 | export_.c:export.h \ |
| 1950 | extcgi_.c:extcgi.h \ |
| 1951 | file_.c:file.h \ |
| 1952 | fileedit_.c:fileedit.h \ |
| 1953 | finfo_.c:finfo.h \ |
| 1954 | foci_.c:foci.h \ |
| 1955 | forum_.c:forum.h \ |
| 1956 | fshell_.c:fshell.h \ |
| 1957 | fusefs_.c:fusefs.h \ |
| 1958 | fuzz_.c:fuzz.h \ |
| 1959 | glob_.c:glob.h \ |
| 1960 | graph_.c:graph.h \ |
| 1961 | gzip_.c:gzip.h \ |
| 1962 | hname_.c:hname.h \ |
| 1963 | http_.c:http.h \ |
| 1964 | http_socket_.c:http_socket.h \ |
| 1965 | http_ssl_.c:http_ssl.h \ |
| 1966 | http_transport_.c:http_transport.h \ |
| 1967 | import_.c:import.h \ |
| 1968 | info_.c:info.h \ |
| 1969 | json_.c:json.h \ |
| 1970 | json_artifact_.c:json_artifact.h \ |
| 1971 | json_branch_.c:json_branch.h \ |
| 1972 | json_config_.c:json_config.h \ |
| 1973 | json_diff_.c:json_diff.h \ |
| 1974 | json_dir_.c:json_dir.h \ |
| 1975 | json_finfo_.c:json_finfo.h \ |
| 1976 | json_login_.c:json_login.h \ |
| 1977 | json_query_.c:json_query.h \ |
| 1978 | json_report_.c:json_report.h \ |
| 1979 | json_status_.c:json_status.h \ |
| 1980 | json_tag_.c:json_tag.h \ |
| 1981 | json_timeline_.c:json_timeline.h \ |
| 1982 | json_user_.c:json_user.h \ |
| 1983 | json_wiki_.c:json_wiki.h \ |
| 1984 | leaf_.c:leaf.h \ |
| 1985 | loadctrl_.c:loadctrl.h \ |
| 1986 | login_.c:login.h \ |
| 1987 | lookslike_.c:lookslike.h \ |
| 1988 | main_.c:main.h \ |
| 1989 | manifest_.c:manifest.h \ |
| 1990 | markdown_.c:markdown.h \ |
| 1991 | markdown_html_.c:markdown_html.h \ |
| 1992 | md5_.c:md5.h \ |
| 1993 | merge_.c:merge.h \ |
| 1994 | merge3_.c:merge3.h \ |
| 1995 | moderate_.c:moderate.h \ |
| 1996 | name_.c:name.h \ |
| 1997 | path_.c:path.h \ |
| 1998 | piechart_.c:piechart.h \ |
| 1999 | pivot_.c:pivot.h \ |
| 2000 | popen_.c:popen.h \ |
| 2001 | pqueue_.c:pqueue.h \ |
| 2002 | printf_.c:printf.h \ |
| 2003 | publish_.c:publish.h \ |
| 2004 | purge_.c:purge.h \ |
| 2005 | rebuild_.c:rebuild.h \ |
| 2006 | regexp_.c:regexp.h \ |
| 2007 | repolist_.c:repolist.h \ |
| 2008 | report_.c:report.h \ |
| 2009 | rss_.c:rss.h \ |
| 2010 | schema_.c:schema.h \ |
| 2011 | search_.c:search.h \ |
| 2012 | security_audit_.c:security_audit.h \ |
| 2013 | setup_.c:setup.h \ |
| 2014 | setupuser_.c:setupuser.h \ |
| 2015 | sha1_.c:sha1.h \ |
| 2016 | sha1hard_.c:sha1hard.h \ |
| 2017 | sha3_.c:sha3.h \ |
| 2018 | shun_.c:shun.h \ |
| 2019 | sitemap_.c:sitemap.h \ |
| 2020 | skins_.c:skins.h \ |
| 2021 | smtp_.c:smtp.h \ |
| 2022 | sqlcmd_.c:sqlcmd.h \ |
| 2023 | stash_.c:stash.h \ |
| 2024 | stat_.c:stat.h \ |
| 2025 | statrep_.c:statrep.h \ |
| 2026 | style_.c:style.h \ |
| 2027 | sync_.c:sync.h \ |
| 2028 | tag_.c:tag.h \ |
| 2029 | tar_.c:tar.h \ |
| 2030 | terminal_.c:terminal.h \ |
| 2031 | th_main_.c:th_main.h \ |
| 2032 | timeline_.c:timeline.h \ |
| 2033 | tkt_.c:tkt.h \ |
| 2034 | tktsetup_.c:tktsetup.h \ |
| 2035 | undo_.c:undo.h \ |
| 2036 | unicode_.c:unicode.h \ |
| 2037 | unversioned_.c:unversioned.h \ |
| 2038 | update_.c:update.h \ |
| 2039 | url_.c:url.h \ |
| 2040 | user_.c:user.h \ |
| 2041 | utf8_.c:utf8.h \ |
| 2042 | util_.c:util.h \ |
| 2043 | verify_.c:verify.h \ |
| 2044 | vfile_.c:vfile.h \ |
| 2045 | webmail_.c:webmail.h \ |
| 2046 | wiki_.c:wiki.h \ |
| 2047 | wikiformat_.c:wikiformat.h \ |
| 2048 | winfile_.c:winfile.h \ |
| 2049 | winhttp_.c:winhttp.h \ |
| 2050 | wysiwyg_.c:wysiwyg.h \ |
| 2051 | xfer_.c:xfer.h \ |
| 2052 | xfersetup_.c:xfersetup.h \ |
| 2053 | zip_.c:zip.h \ |
| 2054 | $(SRCDIR)\sqlite3.h \ |
| 2055 | $(SRCDIR)\th.h \ |
| 2056 | VERSION.h \ |
| 2057 | $(SRCDIR)\cson_amalgamation.h |
| 2058 | @copy /Y nul: headers |
| 2059 |
| --- win/Makefile.msc | |
| +++ win/Makefile.msc | |
| @@ -1,39 +1,52 @@ | |
| 1 | # |
| 2 | ############################################################################## |
| 3 | # WARNING: DO NOT EDIT, AUTOMATICALLY GENERATED FILE (SEE "src/makemake.tcl") |
| 4 | ############################################################################## |
| 5 | # |
| 6 | # |
| 7 | # This file is automatically generated. Instead of editing this |
| 8 | # file, edit "makemake.tcl" then run "tclsh makemake.tcl" |
| 9 | # to regenerate this file. |
| 10 | # |
| 11 | B = .. |
| 12 | SRCDIR = $(B)\src |
| 13 | T = . |
| 14 | OBJDIR = $(T) |
| 15 | OX = $(OBJDIR) |
| 16 | O = .obj |
| 17 | E = .exe |
| 18 | P = .pdb |
| 19 | |
| 20 | INSTALLDIR = . |
| 21 | !ifdef DESTDIR |
| 22 | INSTALLDIR = $(DESTDIR)\$(INSTALLDIR) |
| 23 | !endif |
| 24 | |
| 25 | # When building out of source, this Makefile needs to know the path to the base |
| 26 | # top-level directory for this project. Pass it on NMAKE command line via make |
| 27 | # variable B: |
| 28 | # NMAKE /f "path\to\this\Makefile" B="path/to/fossil/root" |
| 29 | # |
| 30 | # NOTE: Make sure B path has no trailing backslash, UNIX-style path is OK too. |
| 31 | # |
| 32 | !if !exist("$(B)\.fossil-settings") |
| 33 | !error Please specify path to project base directory: B="path/to/fossil" |
| 34 | !endif |
| 35 | |
| 36 | # Perl is only necessary if OpenSSL support is enabled and it is built from |
| 37 | # source code. The PERLDIR environment variable, if it exists, should point |
| 38 | # to the directory containing the main Perl executable specified here (i.e. |
| 39 | # "perl.exe"). |
| 40 | PERL = perl.exe |
| 41 | |
| 42 | # Enable debugging symbols? |
| 43 | !ifndef DEBUG |
| 44 | DEBUG = 0 |
| 45 | !endif |
| 46 | !ifdef FOSSIL_DEBUG |
| 47 | DEBUG = 1 |
| 48 | !endif |
| 49 | |
| 50 | # Build the OpenSSL libraries? |
| 51 | !ifndef FOSSIL_BUILD_SSL |
| 52 | FOSSIL_BUILD_SSL = 0 |
| @@ -150,27 +163,30 @@ | |
| 163 | ZLIB = zdll.lib |
| 164 | !else |
| 165 | ZLIB = zlib.lib |
| 166 | !endif |
| 167 | |
| 168 | INCL = /I. /I"$(OX)" /I"$(SRCDIR)" /I"$(B)\win\include" |
| 169 | |
| 170 | !if $(FOSSIL_ENABLE_MINIZ)==0 |
| 171 | INCL = $(INCL) /I"$(ZINCDIR)" |
| 172 | !endif |
| 173 | |
| 174 | !if $(FOSSIL_ENABLE_SSL)!=0 |
| 175 | INCL = $(INCL) /I"$(SSLINCDIR)" |
| 176 | !endif |
| 177 | |
| 178 | !if $(FOSSIL_ENABLE_TCL)!=0 |
| 179 | INCL = $(INCL) /I"$(TCLINCDIR)" |
| 180 | !endif |
| 181 | |
| 182 | CFLAGS = /nologo |
| 183 | LDFLAGS = |
| 184 | |
| 185 | CFLAGS = $(CFLAGS) /D_CRT_SECURE_NO_DEPRECATE /D_CRT_SECURE_NO_WARNINGS |
| 186 | CFLAGS = $(CFLAGS) /D_CRT_NONSTDC_NO_DEPRECATE /D_CRT_NONSTDC_NO_WARNINGS |
| 187 | |
| 188 | !if $(FOSSIL_DYNAMIC_BUILD)!=0 |
| 189 | LDFLAGS = $(LDFLAGS) /MANIFEST |
| 190 | !else |
| 191 | LDFLAGS = $(LDFLAGS) /NODEFAULTLIB:msvcrt /MANIFEST:NO |
| 192 | !endif |
| @@ -199,11 +215,11 @@ | |
| 215 | CRTFLAGS = /MT |
| 216 | !endif |
| 217 | !endif |
| 218 | |
| 219 | !if $(DEBUG)!=0 |
| 220 | CFLAGS = $(CFLAGS) /Zi $(CRTFLAGS) /Od /DFOSSIL_DEBUG |
| 221 | LDFLAGS = $(LDFLAGS) /DEBUG |
| 222 | !else |
| 223 | CFLAGS = $(CFLAGS) $(CRTFLAGS) /O2 |
| 224 | !endif |
| 225 | |
| @@ -219,11 +235,11 @@ | |
| 235 | RCC = $(RCC) /DFOSSIL_DYNAMIC_BUILD=1 |
| 236 | !endif |
| 237 | |
| 238 | !if $(FOSSIL_ENABLE_MINIZ)==0 |
| 239 | LIBS = $(LIBS) $(ZLIB) |
| 240 | LIBDIR = $(LIBDIR) /LIBPATH:"$(ZLIBDIR)" |
| 241 | !endif |
| 242 | |
| 243 | !if $(FOSSIL_ENABLE_MINIZ)!=0 |
| 244 | TCC = $(TCC) /DFOSSIL_ENABLE_MINIZ=1 |
| 245 | RCC = $(RCC) /DFOSSIL_ENABLE_MINIZ=1 |
| @@ -236,11 +252,11 @@ | |
| 252 | |
| 253 | !if $(FOSSIL_ENABLE_SSL)!=0 |
| 254 | TCC = $(TCC) /DFOSSIL_ENABLE_SSL=1 |
| 255 | RCC = $(RCC) /DFOSSIL_ENABLE_SSL=1 |
| 256 | LIBS = $(LIBS) $(SSLLIB) |
| 257 | LIBDIR = $(LIBDIR) /LIBPATH:"$(SSLLIBDIR)" |
| 258 | !endif |
| 259 | |
| 260 | !if $(FOSSIL_ENABLE_EXEC_REL_PATHS)!=0 |
| 261 | TCC = $(TCC) /DFOSSIL_ENABLE_EXEC_REL_PATHS=1 |
| 262 | RCC = $(RCC) /DFOSSIL_ENABLE_EXEC_REL_PATHS=1 |
| @@ -283,11 +299,10 @@ | |
| 299 | /DSQLITE_DEFAULT_MEMSTATUS=0 \ |
| 300 | /DSQLITE_DEFAULT_WAL_SYNCHRONOUS=1 \ |
| 301 | /DSQLITE_LIKE_DOESNT_MATCH_BLOBS \ |
| 302 | /DSQLITE_OMIT_DECLTYPE \ |
| 303 | /DSQLITE_OMIT_DEPRECATED \ |
| 304 | /DSQLITE_OMIT_PROGRESS_CALLBACK \ |
| 305 | /DSQLITE_OMIT_SHARED_CACHE \ |
| 306 | /DSQLITE_OMIT_LOAD_EXTENSION \ |
| 307 | /DSQLITE_MAX_EXPR_DEPTH=0 \ |
| 308 | /DSQLITE_USE_ALLOCA \ |
| @@ -311,11 +326,10 @@ | |
| 326 | /DSQLITE_DEFAULT_MEMSTATUS=0 \ |
| 327 | /DSQLITE_DEFAULT_WAL_SYNCHRONOUS=1 \ |
| 328 | /DSQLITE_LIKE_DOESNT_MATCH_BLOBS \ |
| 329 | /DSQLITE_OMIT_DECLTYPE \ |
| 330 | /DSQLITE_OMIT_DEPRECATED \ |
| 331 | /DSQLITE_OMIT_PROGRESS_CALLBACK \ |
| 332 | /DSQLITE_OMIT_SHARED_CACHE \ |
| 333 | /DSQLITE_OMIT_LOAD_EXTENSION \ |
| 334 | /DSQLITE_MAX_EXPR_DEPTH=0 \ |
| 335 | /DSQLITE_USE_ALLOCA \ |
| @@ -344,405 +358,407 @@ | |
| 358 | |
| 359 | MINIZ_OPTIONS = /DMINIZ_NO_STDIO \ |
| 360 | /DMINIZ_NO_TIME \ |
| 361 | /DMINIZ_NO_ARCHIVE_APIS |
| 362 | |
| 363 | SRC = "$(OX)\add_.c" \ |
| 364 | "$(OX)\ajax_.c" \ |
| 365 | "$(OX)\alerts_.c" \ |
| 366 | "$(OX)\allrepo_.c" \ |
| 367 | "$(OX)\attach_.c" \ |
| 368 | "$(OX)\backlink_.c" \ |
| 369 | "$(OX)\backoffice_.c" \ |
| 370 | "$(OX)\bag_.c" \ |
| 371 | "$(OX)\bisect_.c" \ |
| 372 | "$(OX)\blob_.c" \ |
| 373 | "$(OX)\branch_.c" \ |
| 374 | "$(OX)\browse_.c" \ |
| 375 | "$(OX)\builtin_.c" \ |
| 376 | "$(OX)\bundle_.c" \ |
| 377 | "$(OX)\cache_.c" \ |
| 378 | "$(OX)\capabilities_.c" \ |
| 379 | "$(OX)\captcha_.c" \ |
| 380 | "$(OX)\cgi_.c" \ |
| 381 | "$(OX)\checkin_.c" \ |
| 382 | "$(OX)\checkout_.c" \ |
| 383 | "$(OX)\clearsign_.c" \ |
| 384 | "$(OX)\clone_.c" \ |
| 385 | "$(OX)\comformat_.c" \ |
| 386 | "$(OX)\configure_.c" \ |
| 387 | "$(OX)\content_.c" \ |
| 388 | "$(OX)\cookies_.c" \ |
| 389 | "$(OX)\db_.c" \ |
| 390 | "$(OX)\delta_.c" \ |
| 391 | "$(OX)\deltacmd_.c" \ |
| 392 | "$(OX)\deltafunc_.c" \ |
| 393 | "$(OX)\descendants_.c" \ |
| 394 | "$(OX)\diff_.c" \ |
| 395 | "$(OX)\diffcmd_.c" \ |
| 396 | "$(OX)\dispatch_.c" \ |
| 397 | "$(OX)\doc_.c" \ |
| 398 | "$(OX)\encode_.c" \ |
| 399 | "$(OX)\etag_.c" \ |
| 400 | "$(OX)\event_.c" \ |
| 401 | "$(OX)\export_.c" \ |
| 402 | "$(OX)\extcgi_.c" \ |
| 403 | "$(OX)\file_.c" \ |
| 404 | "$(OX)\fileedit_.c" \ |
| 405 | "$(OX)\finfo_.c" \ |
| 406 | "$(OX)\foci_.c" \ |
| 407 | "$(OX)\forum_.c" \ |
| 408 | "$(OX)\fshell_.c" \ |
| 409 | "$(OX)\fusefs_.c" \ |
| 410 | "$(OX)\fuzz_.c" \ |
| 411 | "$(OX)\glob_.c" \ |
| 412 | "$(OX)\graph_.c" \ |
| 413 | "$(OX)\gzip_.c" \ |
| 414 | "$(OX)\hname_.c" \ |
| 415 | "$(OX)\http_.c" \ |
| 416 | "$(OX)\http_socket_.c" \ |
| 417 | "$(OX)\http_ssl_.c" \ |
| 418 | "$(OX)\http_transport_.c" \ |
| 419 | "$(OX)\import_.c" \ |
| 420 | "$(OX)\info_.c" \ |
| 421 | "$(OX)\json_.c" \ |
| 422 | "$(OX)\json_artifact_.c" \ |
| 423 | "$(OX)\json_branch_.c" \ |
| 424 | "$(OX)\json_config_.c" \ |
| 425 | "$(OX)\json_diff_.c" \ |
| 426 | "$(OX)\json_dir_.c" \ |
| 427 | "$(OX)\json_finfo_.c" \ |
| 428 | "$(OX)\json_login_.c" \ |
| 429 | "$(OX)\json_query_.c" \ |
| 430 | "$(OX)\json_report_.c" \ |
| 431 | "$(OX)\json_status_.c" \ |
| 432 | "$(OX)\json_tag_.c" \ |
| 433 | "$(OX)\json_timeline_.c" \ |
| 434 | "$(OX)\json_user_.c" \ |
| 435 | "$(OX)\json_wiki_.c" \ |
| 436 | "$(OX)\leaf_.c" \ |
| 437 | "$(OX)\loadctrl_.c" \ |
| 438 | "$(OX)\login_.c" \ |
| 439 | "$(OX)\lookslike_.c" \ |
| 440 | "$(OX)\main_.c" \ |
| 441 | "$(OX)\manifest_.c" \ |
| 442 | "$(OX)\markdown_.c" \ |
| 443 | "$(OX)\markdown_html_.c" \ |
| 444 | "$(OX)\md5_.c" \ |
| 445 | "$(OX)\merge_.c" \ |
| 446 | "$(OX)\merge3_.c" \ |
| 447 | "$(OX)\moderate_.c" \ |
| 448 | "$(OX)\name_.c" \ |
| 449 | "$(OX)\path_.c" \ |
| 450 | "$(OX)\piechart_.c" \ |
| 451 | "$(OX)\pivot_.c" \ |
| 452 | "$(OX)\popen_.c" \ |
| 453 | "$(OX)\pqueue_.c" \ |
| 454 | "$(OX)\printf_.c" \ |
| 455 | "$(OX)\publish_.c" \ |
| 456 | "$(OX)\purge_.c" \ |
| 457 | "$(OX)\rebuild_.c" \ |
| 458 | "$(OX)\regexp_.c" \ |
| 459 | "$(OX)\repolist_.c" \ |
| 460 | "$(OX)\report_.c" \ |
| 461 | "$(OX)\rss_.c" \ |
| 462 | "$(OX)\schema_.c" \ |
| 463 | "$(OX)\search_.c" \ |
| 464 | "$(OX)\security_audit_.c" \ |
| 465 | "$(OX)\setup_.c" \ |
| 466 | "$(OX)\setupuser_.c" \ |
| 467 | "$(OX)\sha1_.c" \ |
| 468 | "$(OX)\sha1hard_.c" \ |
| 469 | "$(OX)\sha3_.c" \ |
| 470 | "$(OX)\shun_.c" \ |
| 471 | "$(OX)\sitemap_.c" \ |
| 472 | "$(OX)\skins_.c" \ |
| 473 | "$(OX)\smtp_.c" \ |
| 474 | "$(OX)\sqlcmd_.c" \ |
| 475 | "$(OX)\stash_.c" \ |
| 476 | "$(OX)\stat_.c" \ |
| 477 | "$(OX)\statrep_.c" \ |
| 478 | "$(OX)\style_.c" \ |
| 479 | "$(OX)\sync_.c" \ |
| 480 | "$(OX)\tag_.c" \ |
| 481 | "$(OX)\tar_.c" \ |
| 482 | "$(OX)\terminal_.c" \ |
| 483 | "$(OX)\th_main_.c" \ |
| 484 | "$(OX)\timeline_.c" \ |
| 485 | "$(OX)\tkt_.c" \ |
| 486 | "$(OX)\tktsetup_.c" \ |
| 487 | "$(OX)\undo_.c" \ |
| 488 | "$(OX)\unicode_.c" \ |
| 489 | "$(OX)\unversioned_.c" \ |
| 490 | "$(OX)\update_.c" \ |
| 491 | "$(OX)\url_.c" \ |
| 492 | "$(OX)\user_.c" \ |
| 493 | "$(OX)\utf8_.c" \ |
| 494 | "$(OX)\util_.c" \ |
| 495 | "$(OX)\verify_.c" \ |
| 496 | "$(OX)\vfile_.c" \ |
| 497 | "$(OX)\webmail_.c" \ |
| 498 | "$(OX)\wiki_.c" \ |
| 499 | "$(OX)\wikiformat_.c" \ |
| 500 | "$(OX)\winfile_.c" \ |
| 501 | "$(OX)\winhttp_.c" \ |
| 502 | "$(OX)\wysiwyg_.c" \ |
| 503 | "$(OX)\xfer_.c" \ |
| 504 | "$(OX)\xfersetup_.c" \ |
| 505 | "$(OX)\zip_.c" |
| 506 | |
| 507 | EXTRA_FILES = "$(SRCDIR)\..\skins\aht\details.txt" \ |
| 508 | "$(SRCDIR)\..\skins\ardoise\css.txt" \ |
| 509 | "$(SRCDIR)\..\skins\ardoise\details.txt" \ |
| 510 | "$(SRCDIR)\..\skins\ardoise\footer.txt" \ |
| 511 | "$(SRCDIR)\..\skins\ardoise\header.txt" \ |
| 512 | "$(SRCDIR)\..\skins\black_and_white\css.txt" \ |
| 513 | "$(SRCDIR)\..\skins\black_and_white\details.txt" \ |
| 514 | "$(SRCDIR)\..\skins\black_and_white\footer.txt" \ |
| 515 | "$(SRCDIR)\..\skins\black_and_white\header.txt" \ |
| 516 | "$(SRCDIR)\..\skins\blitz\css.txt" \ |
| 517 | "$(SRCDIR)\..\skins\blitz\details.txt" \ |
| 518 | "$(SRCDIR)\..\skins\blitz\footer.txt" \ |
| 519 | "$(SRCDIR)\..\skins\blitz\header.txt" \ |
| 520 | "$(SRCDIR)\..\skins\blitz\ticket.txt" \ |
| 521 | "$(SRCDIR)\..\skins\blitz_no_logo\css.txt" \ |
| 522 | "$(SRCDIR)\..\skins\blitz_no_logo\details.txt" \ |
| 523 | "$(SRCDIR)\..\skins\blitz_no_logo\footer.txt" \ |
| 524 | "$(SRCDIR)\..\skins\blitz_no_logo\header.txt" \ |
| 525 | "$(SRCDIR)\..\skins\blitz_no_logo\ticket.txt" \ |
| 526 | "$(SRCDIR)\..\skins\bootstrap\css.txt" \ |
| 527 | "$(SRCDIR)\..\skins\bootstrap\details.txt" \ |
| 528 | "$(SRCDIR)\..\skins\bootstrap\footer.txt" \ |
| 529 | "$(SRCDIR)\..\skins\bootstrap\header.txt" \ |
| 530 | "$(SRCDIR)\..\skins\default\css.txt" \ |
| 531 | "$(SRCDIR)\..\skins\default\details.txt" \ |
| 532 | "$(SRCDIR)\..\skins\default\footer.txt" \ |
| 533 | "$(SRCDIR)\..\skins\default\header.txt" \ |
| 534 | "$(SRCDIR)\..\skins\default\js.txt" \ |
| 535 | "$(SRCDIR)\..\skins\eagle\css.txt" \ |
| 536 | "$(SRCDIR)\..\skins\eagle\details.txt" \ |
| 537 | "$(SRCDIR)\..\skins\eagle\footer.txt" \ |
| 538 | "$(SRCDIR)\..\skins\eagle\header.txt" \ |
| 539 | "$(SRCDIR)\..\skins\enhanced1\css.txt" \ |
| 540 | "$(SRCDIR)\..\skins\enhanced1\details.txt" \ |
| 541 | "$(SRCDIR)\..\skins\enhanced1\footer.txt" \ |
| 542 | "$(SRCDIR)\..\skins\enhanced1\header.txt" \ |
| 543 | "$(SRCDIR)\..\skins\khaki\css.txt" \ |
| 544 | "$(SRCDIR)\..\skins\khaki\details.txt" \ |
| 545 | "$(SRCDIR)\..\skins\khaki\footer.txt" \ |
| 546 | "$(SRCDIR)\..\skins\khaki\header.txt" \ |
| 547 | "$(SRCDIR)\..\skins\original\css.txt" \ |
| 548 | "$(SRCDIR)\..\skins\original\details.txt" \ |
| 549 | "$(SRCDIR)\..\skins\original\footer.txt" \ |
| 550 | "$(SRCDIR)\..\skins\original\header.txt" \ |
| 551 | "$(SRCDIR)\..\skins\plain_gray\css.txt" \ |
| 552 | "$(SRCDIR)\..\skins\plain_gray\details.txt" \ |
| 553 | "$(SRCDIR)\..\skins\plain_gray\footer.txt" \ |
| 554 | "$(SRCDIR)\..\skins\plain_gray\header.txt" \ |
| 555 | "$(SRCDIR)\..\skins\rounded1\css.txt" \ |
| 556 | "$(SRCDIR)\..\skins\rounded1\details.txt" \ |
| 557 | "$(SRCDIR)\..\skins\rounded1\footer.txt" \ |
| 558 | "$(SRCDIR)\..\skins\rounded1\header.txt" \ |
| 559 | "$(SRCDIR)\..\skins\xekri\css.txt" \ |
| 560 | "$(SRCDIR)\..\skins\xekri\details.txt" \ |
| 561 | "$(SRCDIR)\..\skins\xekri\footer.txt" \ |
| 562 | "$(SRCDIR)\..\skins\xekri\header.txt" \ |
| 563 | "$(SRCDIR)\accordion.js" \ |
| 564 | "$(SRCDIR)\ci_edit.js" \ |
| 565 | "$(SRCDIR)\copybtn.js" \ |
| 566 | "$(SRCDIR)\default.css" \ |
| 567 | "$(SRCDIR)\diff.tcl" \ |
| 568 | "$(SRCDIR)\forum.js" \ |
| 569 | "$(SRCDIR)\fossil.bootstrap.js" \ |
| 570 | "$(SRCDIR)\fossil.confirmer.js" \ |
| 571 | "$(SRCDIR)\fossil.dom.js" \ |
| 572 | "$(SRCDIR)\fossil.fetch.js" \ |
| 573 | "$(SRCDIR)\fossil.page.fileedit.js" \ |
| 574 | "$(SRCDIR)\fossil.storage.js" \ |
| 575 | "$(SRCDIR)\fossil.tabs.js" \ |
| 576 | "$(SRCDIR)\graph.js" \ |
| 577 | "$(SRCDIR)\href.js" \ |
| 578 | "$(SRCDIR)\login.js" \ |
| 579 | "$(SRCDIR)\markdown.md" \ |
| 580 | "$(SRCDIR)\menu.js" \ |
| 581 | "$(SRCDIR)\sbsdiff.js" \ |
| 582 | "$(SRCDIR)\scroll.js" \ |
| 583 | "$(SRCDIR)\skin.js" \ |
| 584 | "$(SRCDIR)\sorttable.js" \ |
| 585 | "$(SRCDIR)\sounds\0.wav" \ |
| 586 | "$(SRCDIR)\sounds\1.wav" \ |
| 587 | "$(SRCDIR)\sounds\2.wav" \ |
| 588 | "$(SRCDIR)\sounds\3.wav" \ |
| 589 | "$(SRCDIR)\sounds\4.wav" \ |
| 590 | "$(SRCDIR)\sounds\5.wav" \ |
| 591 | "$(SRCDIR)\sounds\6.wav" \ |
| 592 | "$(SRCDIR)\sounds\7.wav" \ |
| 593 | "$(SRCDIR)\sounds\8.wav" \ |
| 594 | "$(SRCDIR)\sounds\9.wav" \ |
| 595 | "$(SRCDIR)\sounds\a.wav" \ |
| 596 | "$(SRCDIR)\sounds\b.wav" \ |
| 597 | "$(SRCDIR)\sounds\c.wav" \ |
| 598 | "$(SRCDIR)\sounds\d.wav" \ |
| 599 | "$(SRCDIR)\sounds\e.wav" \ |
| 600 | "$(SRCDIR)\sounds\f.wav" \ |
| 601 | "$(SRCDIR)\style.admin_log.css" \ |
| 602 | "$(SRCDIR)\style.fileedit.css" \ |
| 603 | "$(SRCDIR)\tree.js" \ |
| 604 | "$(SRCDIR)\useredit.js" \ |
| 605 | "$(SRCDIR)\wiki.wiki" |
| 606 | |
| 607 | OBJ = "$(OX)\add$O" \ |
| 608 | "$(OX)\ajax$O" \ |
| 609 | "$(OX)\alerts$O" \ |
| 610 | "$(OX)\allrepo$O" \ |
| 611 | "$(OX)\attach$O" \ |
| 612 | "$(OX)\backlink$O" \ |
| 613 | "$(OX)\backoffice$O" \ |
| 614 | "$(OX)\bag$O" \ |
| 615 | "$(OX)\bisect$O" \ |
| 616 | "$(OX)\blob$O" \ |
| 617 | "$(OX)\branch$O" \ |
| 618 | "$(OX)\browse$O" \ |
| 619 | "$(OX)\builtin$O" \ |
| 620 | "$(OX)\bundle$O" \ |
| 621 | "$(OX)\cache$O" \ |
| 622 | "$(OX)\capabilities$O" \ |
| 623 | "$(OX)\captcha$O" \ |
| 624 | "$(OX)\cgi$O" \ |
| 625 | "$(OX)\checkin$O" \ |
| 626 | "$(OX)\checkout$O" \ |
| 627 | "$(OX)\clearsign$O" \ |
| 628 | "$(OX)\clone$O" \ |
| 629 | "$(OX)\comformat$O" \ |
| 630 | "$(OX)\configure$O" \ |
| 631 | "$(OX)\content$O" \ |
| 632 | "$(OX)\cookies$O" \ |
| 633 | "$(OX)\cson_amalgamation$O" \ |
| 634 | "$(OX)\db$O" \ |
| 635 | "$(OX)\delta$O" \ |
| 636 | "$(OX)\deltacmd$O" \ |
| 637 | "$(OX)\deltafunc$O" \ |
| 638 | "$(OX)\descendants$O" \ |
| 639 | "$(OX)\diff$O" \ |
| 640 | "$(OX)\diffcmd$O" \ |
| 641 | "$(OX)\dispatch$O" \ |
| 642 | "$(OX)\doc$O" \ |
| 643 | "$(OX)\encode$O" \ |
| 644 | "$(OX)\etag$O" \ |
| 645 | "$(OX)\event$O" \ |
| 646 | "$(OX)\export$O" \ |
| 647 | "$(OX)\extcgi$O" \ |
| 648 | "$(OX)\file$O" \ |
| 649 | "$(OX)\fileedit$O" \ |
| 650 | "$(OX)\finfo$O" \ |
| 651 | "$(OX)\foci$O" \ |
| 652 | "$(OX)\forum$O" \ |
| 653 | "$(OX)\fshell$O" \ |
| 654 | "$(OX)\fusefs$O" \ |
| 655 | "$(OX)\fuzz$O" \ |
| 656 | "$(OX)\glob$O" \ |
| 657 | "$(OX)\graph$O" \ |
| 658 | "$(OX)\gzip$O" \ |
| 659 | "$(OX)\hname$O" \ |
| 660 | "$(OX)\http$O" \ |
| 661 | "$(OX)\http_socket$O" \ |
| 662 | "$(OX)\http_ssl$O" \ |
| 663 | "$(OX)\http_transport$O" \ |
| 664 | "$(OX)\import$O" \ |
| 665 | "$(OX)\info$O" \ |
| 666 | "$(OX)\json$O" \ |
| 667 | "$(OX)\json_artifact$O" \ |
| 668 | "$(OX)\json_branch$O" \ |
| 669 | "$(OX)\json_config$O" \ |
| 670 | "$(OX)\json_diff$O" \ |
| 671 | "$(OX)\json_dir$O" \ |
| 672 | "$(OX)\json_finfo$O" \ |
| 673 | "$(OX)\json_login$O" \ |
| 674 | "$(OX)\json_query$O" \ |
| 675 | "$(OX)\json_report$O" \ |
| 676 | "$(OX)\json_status$O" \ |
| 677 | "$(OX)\json_tag$O" \ |
| 678 | "$(OX)\json_timeline$O" \ |
| 679 | "$(OX)\json_user$O" \ |
| 680 | "$(OX)\json_wiki$O" \ |
| 681 | "$(OX)\leaf$O" \ |
| 682 | "$(OX)\loadctrl$O" \ |
| 683 | "$(OX)\login$O" \ |
| 684 | "$(OX)\lookslike$O" \ |
| 685 | "$(OX)\main$O" \ |
| 686 | "$(OX)\manifest$O" \ |
| 687 | "$(OX)\markdown$O" \ |
| 688 | "$(OX)\markdown_html$O" \ |
| 689 | "$(OX)\md5$O" \ |
| 690 | "$(OX)\merge$O" \ |
| 691 | "$(OX)\merge3$O" \ |
| 692 | "$(OX)\moderate$O" \ |
| 693 | "$(OX)\name$O" \ |
| 694 | "$(OX)\path$O" \ |
| 695 | "$(OX)\piechart$O" \ |
| 696 | "$(OX)\pivot$O" \ |
| 697 | "$(OX)\popen$O" \ |
| 698 | "$(OX)\pqueue$O" \ |
| 699 | "$(OX)\printf$O" \ |
| 700 | "$(OX)\publish$O" \ |
| 701 | "$(OX)\purge$O" \ |
| 702 | "$(OX)\rebuild$O" \ |
| 703 | "$(OX)\regexp$O" \ |
| 704 | "$(OX)\repolist$O" \ |
| 705 | "$(OX)\report$O" \ |
| 706 | "$(OX)\rss$O" \ |
| 707 | "$(OX)\schema$O" \ |
| 708 | "$(OX)\search$O" \ |
| 709 | "$(OX)\security_audit$O" \ |
| 710 | "$(OX)\setup$O" \ |
| 711 | "$(OX)\setupuser$O" \ |
| 712 | "$(OX)\sha1$O" \ |
| 713 | "$(OX)\sha1hard$O" \ |
| 714 | "$(OX)\sha3$O" \ |
| 715 | "$(OX)\shell$O" \ |
| 716 | "$(OX)\shun$O" \ |
| 717 | "$(OX)\sitemap$O" \ |
| 718 | "$(OX)\skins$O" \ |
| 719 | "$(OX)\smtp$O" \ |
| 720 | "$(OX)\sqlcmd$O" \ |
| 721 | "$(OX)\sqlite3$O" \ |
| 722 | "$(OX)\stash$O" \ |
| 723 | "$(OX)\stat$O" \ |
| 724 | "$(OX)\statrep$O" \ |
| 725 | "$(OX)\style$O" \ |
| 726 | "$(OX)\sync$O" \ |
| 727 | "$(OX)\tag$O" \ |
| 728 | "$(OX)\tar$O" \ |
| 729 | "$(OX)\terminal$O" \ |
| 730 | "$(OX)\th$O" \ |
| 731 | "$(OX)\th_lang$O" \ |
| 732 | "$(OX)\th_main$O" \ |
| 733 | "$(OX)\th_tcl$O" \ |
| 734 | "$(OX)\timeline$O" \ |
| 735 | "$(OX)\tkt$O" \ |
| 736 | "$(OX)\tktsetup$O" \ |
| 737 | "$(OX)\undo$O" \ |
| 738 | "$(OX)\unicode$O" \ |
| 739 | "$(OX)\unversioned$O" \ |
| 740 | "$(OX)\update$O" \ |
| 741 | "$(OX)\url$O" \ |
| 742 | "$(OX)\user$O" \ |
| 743 | "$(OX)\utf8$O" \ |
| 744 | "$(OX)\util$O" \ |
| 745 | "$(OX)\verify$O" \ |
| 746 | "$(OX)\vfile$O" \ |
| 747 | "$(OX)\webmail$O" \ |
| 748 | "$(OX)\wiki$O" \ |
| 749 | "$(OX)\wikiformat$O" \ |
| 750 | "$(OX)\winfile$O" \ |
| 751 | "$(OX)\winhttp$O" \ |
| 752 | "$(OX)\wysiwyg$O" \ |
| 753 | "$(OX)\xfer$O" \ |
| 754 | "$(OX)\xfersetup$O" \ |
| 755 | "$(OX)\zip$O" \ |
| 756 | !if $(FOSSIL_ENABLE_MINIZ)!=0 |
| 757 | "$(OX)\miniz$O" \ |
| 758 | !endif |
| 759 | "$(OX)\fossil.res" |
| 760 | |
| 761 | |
| 762 | !ifndef BASEAPPNAME |
| 763 | BASEAPPNAME = fossil |
| 764 | !endif |
| @@ -749,32 +765,52 @@ | |
| 765 | |
| 766 | APPNAME = $(OX)\$(BASEAPPNAME)$(E) |
| 767 | PDBNAME = $(OX)\$(BASEAPPNAME)$(P) |
| 768 | APPTARGETS = |
| 769 | |
| 770 | all: "$(OX)" "$(APPNAME)" |
| 771 | |
| 772 | $(BASEAPPNAME): "$(APPNAME)" |
| 773 | |
| 774 | $(BASEAPPNAME)$(E): "$(APPNAME)" |
| 775 | |
| 776 | install: "$(APPNAME)" |
| 777 | echo F | xcopy /Y "$(APPNAME)" "$(INSTALLDIR)"\* |
| 778 | !if $(DEBUG)!=0 |
| 779 | echo F | xcopy /Y "$(PDBNAME)" "$(INSTALLDIR)"\* |
| 780 | !endif |
| 781 | |
| 782 | $(OX): |
| 783 | @-mkdir $@ |
| 784 | |
| 785 | zlib: |
| 786 | @echo Building zlib from "$(ZLIBDIR)"... |
| 787 | !if $(FOSSIL_ENABLE_WINXP)!=0 |
| 788 | @pushd "$(ZLIBDIR)" && $(MAKE) /f win32\Makefile.msc $(ZLIB) "CC=cl $(XPCFLAGS)" "LD=link $(XPLDFLAGS)" && popd |
| 789 | !else |
| 790 | @pushd "$(ZLIBDIR)" && $(MAKE) /f win32\Makefile.msc $(ZLIB) && popd |
| 791 | !endif |
| 792 | |
| 793 | clean-zlib: |
| 794 | @pushd "$(ZLIBDIR)" && $(MAKE) /f win32\Makefile.msc clean && popd |
| 795 | |
| 796 | !if $(FOSSIL_ENABLE_SSL)!=0 |
| 797 | openssl: |
| 798 | @echo Building OpenSSL from "$(SSLDIR)"... |
| 799 | !ifdef PERLDIR |
| 800 | @pushd "$(SSLDIR)" && "$(PERLDIR)\$(PERL)" Configure $(SSLCONFIG) && popd |
| 801 | !else |
| 802 | @pushd "$(SSLDIR)" && "$(PERL)" Configure $(SSLCONFIG) && popd |
| 803 | !endif |
| 804 | !if $(FOSSIL_ENABLE_WINXP)!=0 |
| 805 | @pushd "$(SSLDIR)" && $(MAKE) "CC=cl $(XPCFLAGS)" "LFLAGS=$(XPLDFLAGS)" && popd |
| 806 | !else |
| 807 | @pushd "$(SSLDIR)" && $(MAKE) && popd |
| 808 | !endif |
| 809 | |
| 810 | clean-openssl: |
| 811 | @pushd "$(SSLDIR)" && $(MAKE) clean && popd |
| 812 | !endif |
| 813 | |
| 814 | !if $(FOSSIL_ENABLE_MINIZ)==0 |
| 815 | !if $(FOSSIL_BUILD_ZLIB)!=0 |
| 816 | APPTARGETS = $(APPTARGETS) zlib |
| @@ -785,191 +821,188 @@ | |
| 821 | !if $(FOSSIL_BUILD_SSL)!=0 |
| 822 | APPTARGETS = $(APPTARGETS) openssl |
| 823 | !endif |
| 824 | !endif |
| 825 | |
| 826 | "$(APPNAME)" : $(APPTARGETS) "$(OBJDIR)\translate$E" "$(OBJDIR)\mkindex$E" "$(OBJDIR)\codecheck1$E" "$(OX)\headers" $(OBJ) "$(OX)\linkopts" |
| 827 | "$(OBJDIR)\codecheck1$E" $(SRC) |
| 828 | link $(LDFLAGS) /OUT:$@ /PDB:$(@D)\ $(LIBDIR) Wsetargv.obj "$(OX)\fossil.res" @"$(OX)\linkopts" |
| 829 | if exist "$(B)\win\fossil.exe.manifest" \ |
| 830 | $(MTC) -nologo -manifest "$(B)\win\fossil.exe.manifest" -outputresource:$@;1 |
| 831 | |
| 832 | "$(OX)\linkopts": "$(B)\win\Makefile.msc" |
| 833 | echo "$(OX)\add.obj" > $@ |
| 834 | echo "$(OX)\ajax.obj" >> $@ |
| 835 | echo "$(OX)\alerts.obj" >> $@ |
| 836 | echo "$(OX)\allrepo.obj" >> $@ |
| 837 | echo "$(OX)\attach.obj" >> $@ |
| 838 | echo "$(OX)\backlink.obj" >> $@ |
| 839 | echo "$(OX)\backoffice.obj" >> $@ |
| 840 | echo "$(OX)\bag.obj" >> $@ |
| 841 | echo "$(OX)\bisect.obj" >> $@ |
| 842 | echo "$(OX)\blob.obj" >> $@ |
| 843 | echo "$(OX)\branch.obj" >> $@ |
| 844 | echo "$(OX)\browse.obj" >> $@ |
| 845 | echo "$(OX)\builtin.obj" >> $@ |
| 846 | echo "$(OX)\bundle.obj" >> $@ |
| 847 | echo "$(OX)\cache.obj" >> $@ |
| 848 | echo "$(OX)\capabilities.obj" >> $@ |
| 849 | echo "$(OX)\captcha.obj" >> $@ |
| 850 | echo "$(OX)\cgi.obj" >> $@ |
| 851 | echo "$(OX)\checkin.obj" >> $@ |
| 852 | echo "$(OX)\checkout.obj" >> $@ |
| 853 | echo "$(OX)\clearsign.obj" >> $@ |
| 854 | echo "$(OX)\clone.obj" >> $@ |
| 855 | echo "$(OX)\comformat.obj" >> $@ |
| 856 | echo "$(OX)\configure.obj" >> $@ |
| 857 | echo "$(OX)\content.obj" >> $@ |
| 858 | echo "$(OX)\cookies.obj" >> $@ |
| 859 | echo "$(OX)\cson_amalgamation.obj" >> $@ |
| 860 | echo "$(OX)\db.obj" >> $@ |
| 861 | echo "$(OX)\delta.obj" >> $@ |
| 862 | echo "$(OX)\deltacmd.obj" >> $@ |
| 863 | echo "$(OX)\deltafunc.obj" >> $@ |
| 864 | echo "$(OX)\descendants.obj" >> $@ |
| 865 | echo "$(OX)\diff.obj" >> $@ |
| 866 | echo "$(OX)\diffcmd.obj" >> $@ |
| 867 | echo "$(OX)\dispatch.obj" >> $@ |
| 868 | echo "$(OX)\doc.obj" >> $@ |
| 869 | echo "$(OX)\encode.obj" >> $@ |
| 870 | echo "$(OX)\etag.obj" >> $@ |
| 871 | echo "$(OX)\event.obj" >> $@ |
| 872 | echo "$(OX)\export.obj" >> $@ |
| 873 | echo "$(OX)\extcgi.obj" >> $@ |
| 874 | echo "$(OX)\file.obj" >> $@ |
| 875 | echo "$(OX)\fileedit.obj" >> $@ |
| 876 | echo "$(OX)\finfo.obj" >> $@ |
| 877 | echo "$(OX)\foci.obj" >> $@ |
| 878 | echo "$(OX)\forum.obj" >> $@ |
| 879 | echo "$(OX)\fshell.obj" >> $@ |
| 880 | echo "$(OX)\fusefs.obj" >> $@ |
| 881 | echo "$(OX)\fuzz.obj" >> $@ |
| 882 | echo "$(OX)\glob.obj" >> $@ |
| 883 | echo "$(OX)\graph.obj" >> $@ |
| 884 | echo "$(OX)\gzip.obj" >> $@ |
| 885 | echo "$(OX)\hname.obj" >> $@ |
| 886 | echo "$(OX)\http.obj" >> $@ |
| 887 | echo "$(OX)\http_socket.obj" >> $@ |
| 888 | echo "$(OX)\http_ssl.obj" >> $@ |
| 889 | echo "$(OX)\http_transport.obj" >> $@ |
| 890 | echo "$(OX)\import.obj" >> $@ |
| 891 | echo "$(OX)\info.obj" >> $@ |
| 892 | echo "$(OX)\json.obj" >> $@ |
| 893 | echo "$(OX)\json_artifact.obj" >> $@ |
| 894 | echo "$(OX)\json_branch.obj" >> $@ |
| 895 | echo "$(OX)\json_config.obj" >> $@ |
| 896 | echo "$(OX)\json_diff.obj" >> $@ |
| 897 | echo "$(OX)\json_dir.obj" >> $@ |
| 898 | echo "$(OX)\json_finfo.obj" >> $@ |
| 899 | echo "$(OX)\json_login.obj" >> $@ |
| 900 | echo "$(OX)\json_query.obj" >> $@ |
| 901 | echo "$(OX)\json_report.obj" >> $@ |
| 902 | echo "$(OX)\json_status.obj" >> $@ |
| 903 | echo "$(OX)\json_tag.obj" >> $@ |
| 904 | echo "$(OX)\json_timeline.obj" >> $@ |
| 905 | echo "$(OX)\json_user.obj" >> $@ |
| 906 | echo "$(OX)\json_wiki.obj" >> $@ |
| 907 | echo "$(OX)\leaf.obj" >> $@ |
| 908 | echo "$(OX)\loadctrl.obj" >> $@ |
| 909 | echo "$(OX)\login.obj" >> $@ |
| 910 | echo "$(OX)\lookslike.obj" >> $@ |
| 911 | echo "$(OX)\main.obj" >> $@ |
| 912 | echo "$(OX)\manifest.obj" >> $@ |
| 913 | echo "$(OX)\markdown.obj" >> $@ |
| 914 | echo "$(OX)\markdown_html.obj" >> $@ |
| 915 | echo "$(OX)\md5.obj" >> $@ |
| 916 | echo "$(OX)\merge.obj" >> $@ |
| 917 | echo "$(OX)\merge3.obj" >> $@ |
| 918 | echo "$(OX)\moderate.obj" >> $@ |
| 919 | echo "$(OX)\name.obj" >> $@ |
| 920 | echo "$(OX)\path.obj" >> $@ |
| 921 | echo "$(OX)\piechart.obj" >> $@ |
| 922 | echo "$(OX)\pivot.obj" >> $@ |
| 923 | echo "$(OX)\popen.obj" >> $@ |
| 924 | echo "$(OX)\pqueue.obj" >> $@ |
| 925 | echo "$(OX)\printf.obj" >> $@ |
| 926 | echo "$(OX)\publish.obj" >> $@ |
| 927 | echo "$(OX)\purge.obj" >> $@ |
| 928 | echo "$(OX)\rebuild.obj" >> $@ |
| 929 | echo "$(OX)\regexp.obj" >> $@ |
| 930 | echo "$(OX)\repolist.obj" >> $@ |
| 931 | echo "$(OX)\report.obj" >> $@ |
| 932 | echo "$(OX)\rss.obj" >> $@ |
| 933 | echo "$(OX)\schema.obj" >> $@ |
| 934 | echo "$(OX)\search.obj" >> $@ |
| 935 | echo "$(OX)\security_audit.obj" >> $@ |
| 936 | echo "$(OX)\setup.obj" >> $@ |
| 937 | echo "$(OX)\setupuser.obj" >> $@ |
| 938 | echo "$(OX)\sha1.obj" >> $@ |
| 939 | echo "$(OX)\sha1hard.obj" >> $@ |
| 940 | echo "$(OX)\sha3.obj" >> $@ |
| 941 | echo "$(OX)\shell.obj" >> $@ |
| 942 | echo "$(OX)\shun.obj" >> $@ |
| 943 | echo "$(OX)\sitemap.obj" >> $@ |
| 944 | echo "$(OX)\skins.obj" >> $@ |
| 945 | echo "$(OX)\smtp.obj" >> $@ |
| 946 | echo "$(OX)\sqlcmd.obj" >> $@ |
| 947 | echo "$(OX)\sqlite3.obj" >> $@ |
| 948 | echo "$(OX)\stash.obj" >> $@ |
| 949 | echo "$(OX)\stat.obj" >> $@ |
| 950 | echo "$(OX)\statrep.obj" >> $@ |
| 951 | echo "$(OX)\style.obj" >> $@ |
| 952 | echo "$(OX)\sync.obj" >> $@ |
| 953 | echo "$(OX)\tag.obj" >> $@ |
| 954 | echo "$(OX)\tar.obj" >> $@ |
| 955 | echo "$(OX)\terminal.obj" >> $@ |
| 956 | echo "$(OX)\th.obj" >> $@ |
| 957 | echo "$(OX)\th_lang.obj" >> $@ |
| 958 | echo "$(OX)\th_main.obj" >> $@ |
| 959 | echo "$(OX)\th_tcl.obj" >> $@ |
| 960 | echo "$(OX)\timeline.obj" >> $@ |
| 961 | echo "$(OX)\tkt.obj" >> $@ |
| 962 | echo "$(OX)\tktsetup.obj" >> $@ |
| 963 | echo "$(OX)\undo.obj" >> $@ |
| 964 | echo "$(OX)\unicode.obj" >> $@ |
| 965 | echo "$(OX)\unversioned.obj" >> $@ |
| 966 | echo "$(OX)\update.obj" >> $@ |
| 967 | echo "$(OX)\url.obj" >> $@ |
| 968 | echo "$(OX)\user.obj" >> $@ |
| 969 | echo "$(OX)\utf8.obj" >> $@ |
| 970 | echo "$(OX)\util.obj" >> $@ |
| 971 | echo "$(OX)\verify.obj" >> $@ |
| 972 | echo "$(OX)\vfile.obj" >> $@ |
| 973 | echo "$(OX)\webmail.obj" >> $@ |
| 974 | echo "$(OX)\wiki.obj" >> $@ |
| 975 | echo "$(OX)\wikiformat.obj" >> $@ |
| 976 | echo "$(OX)\winfile.obj" >> $@ |
| 977 | echo "$(OX)\winhttp.obj" >> $@ |
| 978 | echo "$(OX)\wysiwyg.obj" >> $@ |
| 979 | echo "$(OX)\xfer.obj" >> $@ |
| 980 | echo "$(OX)\xfersetup.obj" >> $@ |
| 981 | echo "$(OX)\zip.obj" >> $@ |
| 982 | !if $(FOSSIL_ENABLE_MINIZ)!=0 |
| 983 | echo "$(OX)\miniz.obj" >> $@ |
| 984 | !endif |
| 985 | echo $(LIBS) >> $@ |
| 986 | |
| 987 | "$(OBJDIR)\translate$E": "$(SRCDIR)\translate.c" |
| 988 | $(BCC) /Fe$@ /Fo$(@D)\ /Fd$(@D)\ $** |
| 989 | |
| 990 | "$(OBJDIR)\makeheaders$E": "$(SRCDIR)\makeheaders.c" |
| 991 | $(BCC) /Fe$@ /Fo$(@D)\ /Fd$(@D)\ $** |
| 992 | |
| 993 | "$(OBJDIR)\mkindex$E": "$(SRCDIR)\mkindex.c" |
| 994 | $(BCC) /Fe$@ /Fo$(@D)\ /Fd$(@D)\ $** |
| 995 | |
| 996 | "$(OBJDIR)\mkbuiltin$E": "$(SRCDIR)\mkbuiltin.c" |
| 997 | $(BCC) /Fe$@ /Fo$(@D)\ /Fd$(@D)\ $** |
| 998 | |
| 999 | "$(OBJDIR)\mkversion$E": "$(SRCDIR)\mkversion.c" |
| 1000 | $(BCC) /Fe$@ /Fo$(@D)\ /Fd$(@D)\ $** |
| 1001 | |
| 1002 | "$(OBJDIR)\codecheck1$E": "$(SRCDIR)\codecheck1.c" |
| 1003 | $(BCC) /Fe$@ /Fo$(@D)\ /Fd$(@D)\ $** |
| 1004 | |
| 1005 | !if $(USE_SEE)!=0 |
| 1006 | SEE_FLAGS = /DSQLITE_HAS_CODEC=1 /DSQLITE_SHELL_DBKEY_PROC=fossil_key |
| 1007 | SQLITE3_SHELL_SRC = $(SRCDIR)\shell-see.c |
| 1008 | SQLITE3_SRC = $(SRCDIR)\sqlite3-see.c |
| @@ -977,1082 +1010,1195 @@ | |
| 1010 | SEE_FLAGS = |
| 1011 | SQLITE3_SHELL_SRC = $(SRCDIR)\shell.c |
| 1012 | SQLITE3_SRC = $(SRCDIR)\sqlite3.c |
| 1013 | !endif |
| 1014 | |
| 1015 | "$(OX)\shell$O" : "$(SQLITE3_SHELL_SRC)" "$(B)\win\Makefile.msc" |
| 1016 | $(TCC) /Fo$@ /Fd$(@D)\ $(SHELL_OPTIONS) $(SQLITE_OPTIONS) $(SHELL_CFLAGS) $(SEE_FLAGS) -c "$(SQLITE3_SHELL_SRC)" |
| 1017 | |
| 1018 | "$(OX)\sqlite3$O" : "$(SQLITE3_SRC)" "$(B)\win\Makefile.msc" |
| 1019 | $(TCC) /Fo$@ /Fd$(@D)\ -c $(SQLITE_OPTIONS) $(SQLITE_CFLAGS) $(SEE_FLAGS) "$(SQLITE3_SRC)" |
| 1020 | |
| 1021 | "$(OX)\th$O" : "$(SRCDIR)\th.c" |
| 1022 | $(TCC) /Fo$@ /Fd$(@D)\ -c $** |
| 1023 | |
| 1024 | "$(OX)\th_lang$O" : "$(SRCDIR)\th_lang.c" |
| 1025 | $(TCC) /Fo$@ /Fd$(@D)\ -c $** |
| 1026 | |
| 1027 | "$(OX)\th_tcl$O" : "$(SRCDIR)\th_tcl.c" |
| 1028 | $(TCC) /Fo$@ /Fd$(@D)\ -c $** |
| 1029 | |
| 1030 | "$(OX)\miniz$O" : "$(SRCDIR)\miniz.c" |
| 1031 | $(TCC) /Fo$@ /Fd$(@D)\ -c $(MINIZ_OPTIONS) $** |
| 1032 | |
| 1033 | "$(OX)\VERSION.h" : "$(OBJDIR)\mkversion$E" "$(B)\manifest.uuid" "$(B)\manifest" "$(B)\VERSION" |
| 1034 | $** > $@ |
| 1035 | |
| 1036 | "$(OX)\cson_amalgamation$O" : "$(SRCDIR)\cson_amalgamation.c" |
| 1037 | $(TCC) /Fo$@ /Fd$(@D)\ -c $** |
| 1038 | |
| 1039 | "$(OX)\page_index.h": "$(OBJDIR)\mkindex$E" $(SRC) |
| 1040 | $** > $@ |
| 1041 | |
| 1042 | "$(OX)\builtin_data.h": "$(OBJDIR)\mkbuiltin$E" "$(OX)\builtin_data.reslist" |
| 1043 | "$(OBJDIR)\mkbuiltin$E" --prefix "$(SRCDIR)/" --reslist "$(OX)\builtin_data.reslist" > $@ |
| 1044 | |
| 1045 | cleanx: |
| 1046 | -del "$(OX)\*.obj" 2>NUL |
| 1047 | -del "$(OBJDIR)\*.obj" 2>NUL |
| 1048 | -del "$(OX)\*_.c" 2>NUL |
| 1049 | -del "$(OX)\*.h" 2>NUL |
| 1050 | -del "$(OX)\*.ilk" 2>NUL |
| 1051 | -del "$(OX)\*.map" 2>NUL |
| 1052 | -del "$(OX)\*.res" 2>NUL |
| 1053 | -del "$(OX)\*.reslist" 2>NUL |
| 1054 | -del "$(OX)\headers" 2>NUL |
| 1055 | -del "$(OX)\linkopts" 2>NUL |
| 1056 | -del "$(OX)\vc*.pdb" 2>NUL |
| 1057 | |
| 1058 | clean: cleanx |
| 1059 | -del "$(APPNAME)" 2>NUL |
| 1060 | -del "$(PDBNAME)" 2>NUL |
| 1061 | -del "$(OBJDIR)\translate$E" 2>NUL |
| 1062 | -del "$(OBJDIR)\translate$P" 2>NUL |
| 1063 | -del "$(OBJDIR)\mkindex$E" 2>NUL |
| 1064 | -del "$(OBJDIR)\mkindex$P" 2>NUL |
| 1065 | -del "$(OBJDIR)\makeheaders$E" 2>NUL |
| 1066 | -del "$(OBJDIR)\makeheaders$P" 2>NUL |
| 1067 | -del "$(OBJDIR)\mkversion$E" 2>NUL |
| 1068 | -del "$(OBJDIR)\mkversion$P" 2>NUL |
| 1069 | -del "$(OBJDIR)\mkcss$E" 2>NUL |
| 1070 | -del "$(OBJDIR)\mkcss$P" 2>NUL |
| 1071 | -del "$(OBJDIR)\codecheck1$E" 2>NUL |
| 1072 | -del "$(OBJDIR)\codecheck1$P" 2>NUL |
| 1073 | -del "$(OBJDIR)\mkbuiltin$E" 2>NUL |
| 1074 | -del "$(OBJDIR)\mkbuiltin$P" 2>NUL |
| 1075 | |
| 1076 | realclean: clean |
| 1077 | |
| 1078 | "$(OBJDIR)\json$O" : "$(SRCDIR)\json_detail.h" |
| 1079 | "$(OBJDIR)\json_artifact$O" : "$(SRCDIR)\json_detail.h" |
| 1080 | "$(OBJDIR)\json_branch$O" : "$(SRCDIR)\json_detail.h" |
| 1081 | "$(OBJDIR)\json_config$O" : "$(SRCDIR)\json_detail.h" |
| 1082 | "$(OBJDIR)\json_diff$O" : "$(SRCDIR)\json_detail.h" |
| 1083 | "$(OBJDIR)\json_dir$O" : "$(SRCDIR)\json_detail.h" |
| 1084 | "$(OBJDIR)\json_finfo$O" : "$(SRCDIR)\json_detail.h" |
| 1085 | "$(OBJDIR)\json_login$O" : "$(SRCDIR)\json_detail.h" |
| 1086 | "$(OBJDIR)\json_query$O" : "$(SRCDIR)\json_detail.h" |
| 1087 | "$(OBJDIR)\json_report$O" : "$(SRCDIR)\json_detail.h" |
| 1088 | "$(OBJDIR)\json_status$O" : "$(SRCDIR)\json_detail.h" |
| 1089 | "$(OBJDIR)\json_tag$O" : "$(SRCDIR)\json_detail.h" |
| 1090 | "$(OBJDIR)\json_timeline$O" : "$(SRCDIR)\json_detail.h" |
| 1091 | "$(OBJDIR)\json_user$O" : "$(SRCDIR)\json_detail.h" |
| 1092 | "$(OBJDIR)\json_wiki$O" : "$(SRCDIR)\json_detail.h" |
| 1093 | |
| 1094 | "$(OX)\builtin_data.reslist": $(EXTRA_FILES) "$(B)\win\Makefile.msc" |
| 1095 | echo "$(SRCDIR)\../skins/aht/details.txt" > $@ |
| 1096 | echo "$(SRCDIR)\../skins/ardoise/css.txt" >> $@ |
| 1097 | echo "$(SRCDIR)\../skins/ardoise/details.txt" >> $@ |
| 1098 | echo "$(SRCDIR)\../skins/ardoise/footer.txt" >> $@ |
| 1099 | echo "$(SRCDIR)\../skins/ardoise/header.txt" >> $@ |
| 1100 | echo "$(SRCDIR)\../skins/black_and_white/css.txt" >> $@ |
| 1101 | echo "$(SRCDIR)\../skins/black_and_white/details.txt" >> $@ |
| 1102 | echo "$(SRCDIR)\../skins/black_and_white/footer.txt" >> $@ |
| 1103 | echo "$(SRCDIR)\../skins/black_and_white/header.txt" >> $@ |
| 1104 | echo "$(SRCDIR)\../skins/blitz/css.txt" >> $@ |
| 1105 | echo "$(SRCDIR)\../skins/blitz/details.txt" >> $@ |
| 1106 | echo "$(SRCDIR)\../skins/blitz/footer.txt" >> $@ |
| 1107 | echo "$(SRCDIR)\../skins/blitz/header.txt" >> $@ |
| 1108 | echo "$(SRCDIR)\../skins/blitz/ticket.txt" >> $@ |
| 1109 | echo "$(SRCDIR)\../skins/blitz_no_logo/css.txt" >> $@ |
| 1110 | echo "$(SRCDIR)\../skins/blitz_no_logo/details.txt" >> $@ |
| 1111 | echo "$(SRCDIR)\../skins/blitz_no_logo/footer.txt" >> $@ |
| 1112 | echo "$(SRCDIR)\../skins/blitz_no_logo/header.txt" >> $@ |
| 1113 | echo "$(SRCDIR)\../skins/blitz_no_logo/ticket.txt" >> $@ |
| 1114 | echo "$(SRCDIR)\../skins/bootstrap/css.txt" >> $@ |
| 1115 | echo "$(SRCDIR)\../skins/bootstrap/details.txt" >> $@ |
| 1116 | echo "$(SRCDIR)\../skins/bootstrap/footer.txt" >> $@ |
| 1117 | echo "$(SRCDIR)\../skins/bootstrap/header.txt" >> $@ |
| 1118 | echo "$(SRCDIR)\../skins/default/css.txt" >> $@ |
| 1119 | echo "$(SRCDIR)\../skins/default/details.txt" >> $@ |
| 1120 | echo "$(SRCDIR)\../skins/default/footer.txt" >> $@ |
| 1121 | echo "$(SRCDIR)\../skins/default/header.txt" >> $@ |
| 1122 | echo "$(SRCDIR)\../skins/default/js.txt" >> $@ |
| 1123 | echo "$(SRCDIR)\../skins/eagle/css.txt" >> $@ |
| 1124 | echo "$(SRCDIR)\../skins/eagle/details.txt" >> $@ |
| 1125 | echo "$(SRCDIR)\../skins/eagle/footer.txt" >> $@ |
| 1126 | echo "$(SRCDIR)\../skins/eagle/header.txt" >> $@ |
| 1127 | echo "$(SRCDIR)\../skins/enhanced1/css.txt" >> $@ |
| 1128 | echo "$(SRCDIR)\../skins/enhanced1/details.txt" >> $@ |
| 1129 | echo "$(SRCDIR)\../skins/enhanced1/footer.txt" >> $@ |
| 1130 | echo "$(SRCDIR)\../skins/enhanced1/header.txt" >> $@ |
| 1131 | echo "$(SRCDIR)\../skins/khaki/css.txt" >> $@ |
| 1132 | echo "$(SRCDIR)\../skins/khaki/details.txt" >> $@ |
| 1133 | echo "$(SRCDIR)\../skins/khaki/footer.txt" >> $@ |
| 1134 | echo "$(SRCDIR)\../skins/khaki/header.txt" >> $@ |
| 1135 | echo "$(SRCDIR)\../skins/original/css.txt" >> $@ |
| 1136 | echo "$(SRCDIR)\../skins/original/details.txt" >> $@ |
| 1137 | echo "$(SRCDIR)\../skins/original/footer.txt" >> $@ |
| 1138 | echo "$(SRCDIR)\../skins/original/header.txt" >> $@ |
| 1139 | echo "$(SRCDIR)\../skins/plain_gray/css.txt" >> $@ |
| 1140 | echo "$(SRCDIR)\../skins/plain_gray/details.txt" >> $@ |
| 1141 | echo "$(SRCDIR)\../skins/plain_gray/footer.txt" >> $@ |
| 1142 | echo "$(SRCDIR)\../skins/plain_gray/header.txt" >> $@ |
| 1143 | echo "$(SRCDIR)\../skins/rounded1/css.txt" >> $@ |
| 1144 | echo "$(SRCDIR)\../skins/rounded1/details.txt" >> $@ |
| 1145 | echo "$(SRCDIR)\../skins/rounded1/footer.txt" >> $@ |
| 1146 | echo "$(SRCDIR)\../skins/rounded1/header.txt" >> $@ |
| 1147 | echo "$(SRCDIR)\../skins/xekri/css.txt" >> $@ |
| 1148 | echo "$(SRCDIR)\../skins/xekri/details.txt" >> $@ |
| 1149 | echo "$(SRCDIR)\../skins/xekri/footer.txt" >> $@ |
| 1150 | echo "$(SRCDIR)\../skins/xekri/header.txt" >> $@ |
| 1151 | echo "$(SRCDIR)\accordion.js" >> $@ |
| 1152 | echo "$(SRCDIR)\ci_edit.js" >> $@ |
| 1153 | echo "$(SRCDIR)\copybtn.js" >> $@ |
| 1154 | echo "$(SRCDIR)\default.css" >> $@ |
| 1155 | echo "$(SRCDIR)\diff.tcl" >> $@ |
| 1156 | echo "$(SRCDIR)\forum.js" >> $@ |
| 1157 | echo "$(SRCDIR)\fossil.bootstrap.js" >> $@ |
| 1158 | echo "$(SRCDIR)\fossil.confirmer.js" >> $@ |
| 1159 | echo "$(SRCDIR)\fossil.dom.js" >> $@ |
| 1160 | echo "$(SRCDIR)\fossil.fetch.js" >> $@ |
| 1161 | echo "$(SRCDIR)\fossil.page.fileedit.js" >> $@ |
| 1162 | echo "$(SRCDIR)\fossil.storage.js" >> $@ |
| 1163 | echo "$(SRCDIR)\fossil.tabs.js" >> $@ |
| 1164 | echo "$(SRCDIR)\graph.js" >> $@ |
| 1165 | echo "$(SRCDIR)\href.js" >> $@ |
| 1166 | echo "$(SRCDIR)\login.js" >> $@ |
| 1167 | echo "$(SRCDIR)\markdown.md" >> $@ |
| 1168 | echo "$(SRCDIR)\menu.js" >> $@ |
| 1169 | echo "$(SRCDIR)\sbsdiff.js" >> $@ |
| 1170 | echo "$(SRCDIR)\scroll.js" >> $@ |
| 1171 | echo "$(SRCDIR)\skin.js" >> $@ |
| 1172 | echo "$(SRCDIR)\sorttable.js" >> $@ |
| 1173 | echo "$(SRCDIR)\sounds/0.wav" >> $@ |
| 1174 | echo "$(SRCDIR)\sounds/1.wav" >> $@ |
| 1175 | echo "$(SRCDIR)\sounds/2.wav" >> $@ |
| 1176 | echo "$(SRCDIR)\sounds/3.wav" >> $@ |
| 1177 | echo "$(SRCDIR)\sounds/4.wav" >> $@ |
| 1178 | echo "$(SRCDIR)\sounds/5.wav" >> $@ |
| 1179 | echo "$(SRCDIR)\sounds/6.wav" >> $@ |
| 1180 | echo "$(SRCDIR)\sounds/7.wav" >> $@ |
| 1181 | echo "$(SRCDIR)\sounds/8.wav" >> $@ |
| 1182 | echo "$(SRCDIR)\sounds/9.wav" >> $@ |
| 1183 | echo "$(SRCDIR)\sounds/a.wav" >> $@ |
| 1184 | echo "$(SRCDIR)\sounds/b.wav" >> $@ |
| 1185 | echo "$(SRCDIR)\sounds/c.wav" >> $@ |
| 1186 | echo "$(SRCDIR)\sounds/d.wav" >> $@ |
| 1187 | echo "$(SRCDIR)\sounds/e.wav" >> $@ |
| 1188 | echo "$(SRCDIR)\sounds/f.wav" >> $@ |
| 1189 | echo "$(SRCDIR)\style.admin_log.css" >> $@ |
| 1190 | echo "$(SRCDIR)\style.fileedit.css" >> $@ |
| 1191 | echo "$(SRCDIR)\tree.js" >> $@ |
| 1192 | echo "$(SRCDIR)\useredit.js" >> $@ |
| 1193 | echo "$(SRCDIR)\wiki.wiki" >> $@ |
| 1194 | |
| 1195 | "$(OX)\add$O" : "$(OX)\add_.c" "$(OX)\add.h" |
| 1196 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\add_.c" |
| 1197 | |
| 1198 | "$(OX)\add_.c" : "$(SRCDIR)\add.c" |
| 1199 | "$(OBJDIR)\translate$E" $** > $@ |
| 1200 | |
| 1201 | "$(OX)\ajax$O" : "$(OX)\ajax_.c" "$(OX)\ajax.h" |
| 1202 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\ajax_.c" |
| 1203 | |
| 1204 | "$(OX)\ajax_.c" : "$(SRCDIR)\ajax.c" |
| 1205 | "$(OBJDIR)\translate$E" $** > $@ |
| 1206 | |
| 1207 | "$(OX)\alerts$O" : "$(OX)\alerts_.c" "$(OX)\alerts.h" |
| 1208 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\alerts_.c" |
| 1209 | |
| 1210 | "$(OX)\alerts_.c" : "$(SRCDIR)\alerts.c" |
| 1211 | "$(OBJDIR)\translate$E" $** > $@ |
| 1212 | |
| 1213 | "$(OX)\allrepo$O" : "$(OX)\allrepo_.c" "$(OX)\allrepo.h" |
| 1214 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\allrepo_.c" |
| 1215 | |
| 1216 | "$(OX)\allrepo_.c" : "$(SRCDIR)\allrepo.c" |
| 1217 | "$(OBJDIR)\translate$E" $** > $@ |
| 1218 | |
| 1219 | "$(OX)\attach$O" : "$(OX)\attach_.c" "$(OX)\attach.h" |
| 1220 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\attach_.c" |
| 1221 | |
| 1222 | "$(OX)\attach_.c" : "$(SRCDIR)\attach.c" |
| 1223 | "$(OBJDIR)\translate$E" $** > $@ |
| 1224 | |
| 1225 | "$(OX)\backlink$O" : "$(OX)\backlink_.c" "$(OX)\backlink.h" |
| 1226 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\backlink_.c" |
| 1227 | |
| 1228 | "$(OX)\backlink_.c" : "$(SRCDIR)\backlink.c" |
| 1229 | "$(OBJDIR)\translate$E" $** > $@ |
| 1230 | |
| 1231 | "$(OX)\backoffice$O" : "$(OX)\backoffice_.c" "$(OX)\backoffice.h" |
| 1232 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\backoffice_.c" |
| 1233 | |
| 1234 | "$(OX)\backoffice_.c" : "$(SRCDIR)\backoffice.c" |
| 1235 | "$(OBJDIR)\translate$E" $** > $@ |
| 1236 | |
| 1237 | "$(OX)\bag$O" : "$(OX)\bag_.c" "$(OX)\bag.h" |
| 1238 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\bag_.c" |
| 1239 | |
| 1240 | "$(OX)\bag_.c" : "$(SRCDIR)\bag.c" |
| 1241 | "$(OBJDIR)\translate$E" $** > $@ |
| 1242 | |
| 1243 | "$(OX)\bisect$O" : "$(OX)\bisect_.c" "$(OX)\bisect.h" |
| 1244 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\bisect_.c" |
| 1245 | |
| 1246 | "$(OX)\bisect_.c" : "$(SRCDIR)\bisect.c" |
| 1247 | "$(OBJDIR)\translate$E" $** > $@ |
| 1248 | |
| 1249 | "$(OX)\blob$O" : "$(OX)\blob_.c" "$(OX)\blob.h" |
| 1250 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\blob_.c" |
| 1251 | |
| 1252 | "$(OX)\blob_.c" : "$(SRCDIR)\blob.c" |
| 1253 | "$(OBJDIR)\translate$E" $** > $@ |
| 1254 | |
| 1255 | "$(OX)\branch$O" : "$(OX)\branch_.c" "$(OX)\branch.h" |
| 1256 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\branch_.c" |
| 1257 | |
| 1258 | "$(OX)\branch_.c" : "$(SRCDIR)\branch.c" |
| 1259 | "$(OBJDIR)\translate$E" $** > $@ |
| 1260 | |
| 1261 | "$(OX)\browse$O" : "$(OX)\browse_.c" "$(OX)\browse.h" |
| 1262 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\browse_.c" |
| 1263 | |
| 1264 | "$(OX)\browse_.c" : "$(SRCDIR)\browse.c" |
| 1265 | "$(OBJDIR)\translate$E" $** > $@ |
| 1266 | |
| 1267 | "$(OX)\builtin$O" : "$(OX)\builtin_.c" "$(OX)\builtin.h" |
| 1268 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\builtin_.c" |
| 1269 | |
| 1270 | "$(OX)\builtin_.c" : "$(SRCDIR)\builtin.c" |
| 1271 | "$(OBJDIR)\translate$E" $** > $@ |
| 1272 | |
| 1273 | "$(OX)\bundle$O" : "$(OX)\bundle_.c" "$(OX)\bundle.h" |
| 1274 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\bundle_.c" |
| 1275 | |
| 1276 | "$(OX)\bundle_.c" : "$(SRCDIR)\bundle.c" |
| 1277 | "$(OBJDIR)\translate$E" $** > $@ |
| 1278 | |
| 1279 | "$(OX)\cache$O" : "$(OX)\cache_.c" "$(OX)\cache.h" |
| 1280 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\cache_.c" |
| 1281 | |
| 1282 | "$(OX)\cache_.c" : "$(SRCDIR)\cache.c" |
| 1283 | "$(OBJDIR)\translate$E" $** > $@ |
| 1284 | |
| 1285 | "$(OX)\capabilities$O" : "$(OX)\capabilities_.c" "$(OX)\capabilities.h" |
| 1286 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\capabilities_.c" |
| 1287 | |
| 1288 | "$(OX)\capabilities_.c" : "$(SRCDIR)\capabilities.c" |
| 1289 | "$(OBJDIR)\translate$E" $** > $@ |
| 1290 | |
| 1291 | "$(OX)\captcha$O" : "$(OX)\captcha_.c" "$(OX)\captcha.h" |
| 1292 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\captcha_.c" |
| 1293 | |
| 1294 | "$(OX)\captcha_.c" : "$(SRCDIR)\captcha.c" |
| 1295 | "$(OBJDIR)\translate$E" $** > $@ |
| 1296 | |
| 1297 | "$(OX)\cgi$O" : "$(OX)\cgi_.c" "$(OX)\cgi.h" |
| 1298 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\cgi_.c" |
| 1299 | |
| 1300 | "$(OX)\cgi_.c" : "$(SRCDIR)\cgi.c" |
| 1301 | "$(OBJDIR)\translate$E" $** > $@ |
| 1302 | |
| 1303 | "$(OX)\checkin$O" : "$(OX)\checkin_.c" "$(OX)\checkin.h" |
| 1304 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\checkin_.c" |
| 1305 | |
| 1306 | "$(OX)\checkin_.c" : "$(SRCDIR)\checkin.c" |
| 1307 | "$(OBJDIR)\translate$E" $** > $@ |
| 1308 | |
| 1309 | "$(OX)\checkout$O" : "$(OX)\checkout_.c" "$(OX)\checkout.h" |
| 1310 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\checkout_.c" |
| 1311 | |
| 1312 | "$(OX)\checkout_.c" : "$(SRCDIR)\checkout.c" |
| 1313 | "$(OBJDIR)\translate$E" $** > $@ |
| 1314 | |
| 1315 | "$(OX)\clearsign$O" : "$(OX)\clearsign_.c" "$(OX)\clearsign.h" |
| 1316 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\clearsign_.c" |
| 1317 | |
| 1318 | "$(OX)\clearsign_.c" : "$(SRCDIR)\clearsign.c" |
| 1319 | "$(OBJDIR)\translate$E" $** > $@ |
| 1320 | |
| 1321 | "$(OX)\clone$O" : "$(OX)\clone_.c" "$(OX)\clone.h" |
| 1322 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\clone_.c" |
| 1323 | |
| 1324 | "$(OX)\clone_.c" : "$(SRCDIR)\clone.c" |
| 1325 | "$(OBJDIR)\translate$E" $** > $@ |
| 1326 | |
| 1327 | "$(OX)\comformat$O" : "$(OX)\comformat_.c" "$(OX)\comformat.h" |
| 1328 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\comformat_.c" |
| 1329 | |
| 1330 | "$(OX)\comformat_.c" : "$(SRCDIR)\comformat.c" |
| 1331 | "$(OBJDIR)\translate$E" $** > $@ |
| 1332 | |
| 1333 | "$(OX)\configure$O" : "$(OX)\configure_.c" "$(OX)\configure.h" |
| 1334 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\configure_.c" |
| 1335 | |
| 1336 | "$(OX)\configure_.c" : "$(SRCDIR)\configure.c" |
| 1337 | "$(OBJDIR)\translate$E" $** > $@ |
| 1338 | |
| 1339 | "$(OX)\content$O" : "$(OX)\content_.c" "$(OX)\content.h" |
| 1340 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\content_.c" |
| 1341 | |
| 1342 | "$(OX)\content_.c" : "$(SRCDIR)\content.c" |
| 1343 | "$(OBJDIR)\translate$E" $** > $@ |
| 1344 | |
| 1345 | "$(OX)\cookies$O" : "$(OX)\cookies_.c" "$(OX)\cookies.h" |
| 1346 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\cookies_.c" |
| 1347 | |
| 1348 | "$(OX)\cookies_.c" : "$(SRCDIR)\cookies.c" |
| 1349 | "$(OBJDIR)\translate$E" $** > $@ |
| 1350 | |
| 1351 | "$(OX)\db$O" : "$(OX)\db_.c" "$(OX)\db.h" |
| 1352 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\db_.c" |
| 1353 | |
| 1354 | "$(OX)\db_.c" : "$(SRCDIR)\db.c" |
| 1355 | "$(OBJDIR)\translate$E" $** > $@ |
| 1356 | |
| 1357 | "$(OX)\delta$O" : "$(OX)\delta_.c" "$(OX)\delta.h" |
| 1358 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\delta_.c" |
| 1359 | |
| 1360 | "$(OX)\delta_.c" : "$(SRCDIR)\delta.c" |
| 1361 | "$(OBJDIR)\translate$E" $** > $@ |
| 1362 | |
| 1363 | "$(OX)\deltacmd$O" : "$(OX)\deltacmd_.c" "$(OX)\deltacmd.h" |
| 1364 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\deltacmd_.c" |
| 1365 | |
| 1366 | "$(OX)\deltacmd_.c" : "$(SRCDIR)\deltacmd.c" |
| 1367 | "$(OBJDIR)\translate$E" $** > $@ |
| 1368 | |
| 1369 | "$(OX)\deltafunc$O" : "$(OX)\deltafunc_.c" "$(OX)\deltafunc.h" |
| 1370 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\deltafunc_.c" |
| 1371 | |
| 1372 | "$(OX)\deltafunc_.c" : "$(SRCDIR)\deltafunc.c" |
| 1373 | "$(OBJDIR)\translate$E" $** > $@ |
| 1374 | |
| 1375 | "$(OX)\descendants$O" : "$(OX)\descendants_.c" "$(OX)\descendants.h" |
| 1376 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\descendants_.c" |
| 1377 | |
| 1378 | "$(OX)\descendants_.c" : "$(SRCDIR)\descendants.c" |
| 1379 | "$(OBJDIR)\translate$E" $** > $@ |
| 1380 | |
| 1381 | "$(OX)\diff$O" : "$(OX)\diff_.c" "$(OX)\diff.h" |
| 1382 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\diff_.c" |
| 1383 | |
| 1384 | "$(OX)\diff_.c" : "$(SRCDIR)\diff.c" |
| 1385 | "$(OBJDIR)\translate$E" $** > $@ |
| 1386 | |
| 1387 | "$(OX)\diffcmd$O" : "$(OX)\diffcmd_.c" "$(OX)\diffcmd.h" |
| 1388 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\diffcmd_.c" |
| 1389 | |
| 1390 | "$(OX)\diffcmd_.c" : "$(SRCDIR)\diffcmd.c" |
| 1391 | "$(OBJDIR)\translate$E" $** > $@ |
| 1392 | |
| 1393 | "$(OX)\dispatch$O" : "$(OX)\dispatch_.c" "$(OX)\dispatch.h" |
| 1394 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\dispatch_.c" |
| 1395 | |
| 1396 | "$(OX)\dispatch_.c" : "$(SRCDIR)\dispatch.c" |
| 1397 | "$(OBJDIR)\translate$E" $** > $@ |
| 1398 | |
| 1399 | "$(OX)\doc$O" : "$(OX)\doc_.c" "$(OX)\doc.h" |
| 1400 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\doc_.c" |
| 1401 | |
| 1402 | "$(OX)\doc_.c" : "$(SRCDIR)\doc.c" |
| 1403 | "$(OBJDIR)\translate$E" $** > $@ |
| 1404 | |
| 1405 | "$(OX)\encode$O" : "$(OX)\encode_.c" "$(OX)\encode.h" |
| 1406 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\encode_.c" |
| 1407 | |
| 1408 | "$(OX)\encode_.c" : "$(SRCDIR)\encode.c" |
| 1409 | "$(OBJDIR)\translate$E" $** > $@ |
| 1410 | |
| 1411 | "$(OX)\etag$O" : "$(OX)\etag_.c" "$(OX)\etag.h" |
| 1412 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\etag_.c" |
| 1413 | |
| 1414 | "$(OX)\etag_.c" : "$(SRCDIR)\etag.c" |
| 1415 | "$(OBJDIR)\translate$E" $** > $@ |
| 1416 | |
| 1417 | "$(OX)\event$O" : "$(OX)\event_.c" "$(OX)\event.h" |
| 1418 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\event_.c" |
| 1419 | |
| 1420 | "$(OX)\event_.c" : "$(SRCDIR)\event.c" |
| 1421 | "$(OBJDIR)\translate$E" $** > $@ |
| 1422 | |
| 1423 | "$(OX)\export$O" : "$(OX)\export_.c" "$(OX)\export.h" |
| 1424 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\export_.c" |
| 1425 | |
| 1426 | "$(OX)\export_.c" : "$(SRCDIR)\export.c" |
| 1427 | "$(OBJDIR)\translate$E" $** > $@ |
| 1428 | |
| 1429 | "$(OX)\extcgi$O" : "$(OX)\extcgi_.c" "$(OX)\extcgi.h" |
| 1430 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\extcgi_.c" |
| 1431 | |
| 1432 | "$(OX)\extcgi_.c" : "$(SRCDIR)\extcgi.c" |
| 1433 | "$(OBJDIR)\translate$E" $** > $@ |
| 1434 | |
| 1435 | "$(OX)\file$O" : "$(OX)\file_.c" "$(OX)\file.h" |
| 1436 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\file_.c" |
| 1437 | |
| 1438 | "$(OX)\file_.c" : "$(SRCDIR)\file.c" |
| 1439 | "$(OBJDIR)\translate$E" $** > $@ |
| 1440 | |
| 1441 | "$(OX)\fileedit$O" : "$(OX)\fileedit_.c" "$(OX)\fileedit.h" |
| 1442 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\fileedit_.c" |
| 1443 | |
| 1444 | "$(OX)\fileedit_.c" : "$(SRCDIR)\fileedit.c" |
| 1445 | "$(OBJDIR)\translate$E" $** > $@ |
| 1446 | |
| 1447 | "$(OX)\finfo$O" : "$(OX)\finfo_.c" "$(OX)\finfo.h" |
| 1448 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\finfo_.c" |
| 1449 | |
| 1450 | "$(OX)\finfo_.c" : "$(SRCDIR)\finfo.c" |
| 1451 | "$(OBJDIR)\translate$E" $** > $@ |
| 1452 | |
| 1453 | "$(OX)\foci$O" : "$(OX)\foci_.c" "$(OX)\foci.h" |
| 1454 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\foci_.c" |
| 1455 | |
| 1456 | "$(OX)\foci_.c" : "$(SRCDIR)\foci.c" |
| 1457 | "$(OBJDIR)\translate$E" $** > $@ |
| 1458 | |
| 1459 | "$(OX)\forum$O" : "$(OX)\forum_.c" "$(OX)\forum.h" |
| 1460 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\forum_.c" |
| 1461 | |
| 1462 | "$(OX)\forum_.c" : "$(SRCDIR)\forum.c" |
| 1463 | "$(OBJDIR)\translate$E" $** > $@ |
| 1464 | |
| 1465 | "$(OX)\fshell$O" : "$(OX)\fshell_.c" "$(OX)\fshell.h" |
| 1466 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\fshell_.c" |
| 1467 | |
| 1468 | "$(OX)\fshell_.c" : "$(SRCDIR)\fshell.c" |
| 1469 | "$(OBJDIR)\translate$E" $** > $@ |
| 1470 | |
| 1471 | "$(OX)\fusefs$O" : "$(OX)\fusefs_.c" "$(OX)\fusefs.h" |
| 1472 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\fusefs_.c" |
| 1473 | |
| 1474 | "$(OX)\fusefs_.c" : "$(SRCDIR)\fusefs.c" |
| 1475 | "$(OBJDIR)\translate$E" $** > $@ |
| 1476 | |
| 1477 | "$(OX)\fuzz$O" : "$(OX)\fuzz_.c" "$(OX)\fuzz.h" |
| 1478 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\fuzz_.c" |
| 1479 | |
| 1480 | "$(OX)\fuzz_.c" : "$(SRCDIR)\fuzz.c" |
| 1481 | "$(OBJDIR)\translate$E" $** > $@ |
| 1482 | |
| 1483 | "$(OX)\glob$O" : "$(OX)\glob_.c" "$(OX)\glob.h" |
| 1484 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\glob_.c" |
| 1485 | |
| 1486 | "$(OX)\glob_.c" : "$(SRCDIR)\glob.c" |
| 1487 | "$(OBJDIR)\translate$E" $** > $@ |
| 1488 | |
| 1489 | "$(OX)\graph$O" : "$(OX)\graph_.c" "$(OX)\graph.h" |
| 1490 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\graph_.c" |
| 1491 | |
| 1492 | "$(OX)\graph_.c" : "$(SRCDIR)\graph.c" |
| 1493 | "$(OBJDIR)\translate$E" $** > $@ |
| 1494 | |
| 1495 | "$(OX)\gzip$O" : "$(OX)\gzip_.c" "$(OX)\gzip.h" |
| 1496 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\gzip_.c" |
| 1497 | |
| 1498 | "$(OX)\gzip_.c" : "$(SRCDIR)\gzip.c" |
| 1499 | "$(OBJDIR)\translate$E" $** > $@ |
| 1500 | |
| 1501 | "$(OX)\hname$O" : "$(OX)\hname_.c" "$(OX)\hname.h" |
| 1502 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\hname_.c" |
| 1503 | |
| 1504 | "$(OX)\hname_.c" : "$(SRCDIR)\hname.c" |
| 1505 | "$(OBJDIR)\translate$E" $** > $@ |
| 1506 | |
| 1507 | "$(OX)\http$O" : "$(OX)\http_.c" "$(OX)\http.h" |
| 1508 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\http_.c" |
| 1509 | |
| 1510 | "$(OX)\http_.c" : "$(SRCDIR)\http.c" |
| 1511 | "$(OBJDIR)\translate$E" $** > $@ |
| 1512 | |
| 1513 | "$(OX)\http_socket$O" : "$(OX)\http_socket_.c" "$(OX)\http_socket.h" |
| 1514 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\http_socket_.c" |
| 1515 | |
| 1516 | "$(OX)\http_socket_.c" : "$(SRCDIR)\http_socket.c" |
| 1517 | "$(OBJDIR)\translate$E" $** > $@ |
| 1518 | |
| 1519 | "$(OX)\http_ssl$O" : "$(OX)\http_ssl_.c" "$(OX)\http_ssl.h" |
| 1520 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\http_ssl_.c" |
| 1521 | |
| 1522 | "$(OX)\http_ssl_.c" : "$(SRCDIR)\http_ssl.c" |
| 1523 | "$(OBJDIR)\translate$E" $** > $@ |
| 1524 | |
| 1525 | "$(OX)\http_transport$O" : "$(OX)\http_transport_.c" "$(OX)\http_transport.h" |
| 1526 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\http_transport_.c" |
| 1527 | |
| 1528 | "$(OX)\http_transport_.c" : "$(SRCDIR)\http_transport.c" |
| 1529 | "$(OBJDIR)\translate$E" $** > $@ |
| 1530 | |
| 1531 | "$(OX)\import$O" : "$(OX)\import_.c" "$(OX)\import.h" |
| 1532 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\import_.c" |
| 1533 | |
| 1534 | "$(OX)\import_.c" : "$(SRCDIR)\import.c" |
| 1535 | "$(OBJDIR)\translate$E" $** > $@ |
| 1536 | |
| 1537 | "$(OX)\info$O" : "$(OX)\info_.c" "$(OX)\info.h" |
| 1538 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\info_.c" |
| 1539 | |
| 1540 | "$(OX)\info_.c" : "$(SRCDIR)\info.c" |
| 1541 | "$(OBJDIR)\translate$E" $** > $@ |
| 1542 | |
| 1543 | "$(OX)\json$O" : "$(OX)\json_.c" "$(OX)\json.h" |
| 1544 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\json_.c" |
| 1545 | |
| 1546 | "$(OX)\json_.c" : "$(SRCDIR)\json.c" |
| 1547 | "$(OBJDIR)\translate$E" $** > $@ |
| 1548 | |
| 1549 | "$(OX)\json_artifact$O" : "$(OX)\json_artifact_.c" "$(OX)\json_artifact.h" |
| 1550 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\json_artifact_.c" |
| 1551 | |
| 1552 | "$(OX)\json_artifact_.c" : "$(SRCDIR)\json_artifact.c" |
| 1553 | "$(OBJDIR)\translate$E" $** > $@ |
| 1554 | |
| 1555 | "$(OX)\json_branch$O" : "$(OX)\json_branch_.c" "$(OX)\json_branch.h" |
| 1556 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\json_branch_.c" |
| 1557 | |
| 1558 | "$(OX)\json_branch_.c" : "$(SRCDIR)\json_branch.c" |
| 1559 | "$(OBJDIR)\translate$E" $** > $@ |
| 1560 | |
| 1561 | "$(OX)\json_config$O" : "$(OX)\json_config_.c" "$(OX)\json_config.h" |
| 1562 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\json_config_.c" |
| 1563 | |
| 1564 | "$(OX)\json_config_.c" : "$(SRCDIR)\json_config.c" |
| 1565 | "$(OBJDIR)\translate$E" $** > $@ |
| 1566 | |
| 1567 | "$(OX)\json_diff$O" : "$(OX)\json_diff_.c" "$(OX)\json_diff.h" |
| 1568 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\json_diff_.c" |
| 1569 | |
| 1570 | "$(OX)\json_diff_.c" : "$(SRCDIR)\json_diff.c" |
| 1571 | "$(OBJDIR)\translate$E" $** > $@ |
| 1572 | |
| 1573 | "$(OX)\json_dir$O" : "$(OX)\json_dir_.c" "$(OX)\json_dir.h" |
| 1574 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\json_dir_.c" |
| 1575 | |
| 1576 | "$(OX)\json_dir_.c" : "$(SRCDIR)\json_dir.c" |
| 1577 | "$(OBJDIR)\translate$E" $** > $@ |
| 1578 | |
| 1579 | "$(OX)\json_finfo$O" : "$(OX)\json_finfo_.c" "$(OX)\json_finfo.h" |
| 1580 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\json_finfo_.c" |
| 1581 | |
| 1582 | "$(OX)\json_finfo_.c" : "$(SRCDIR)\json_finfo.c" |
| 1583 | "$(OBJDIR)\translate$E" $** > $@ |
| 1584 | |
| 1585 | "$(OX)\json_login$O" : "$(OX)\json_login_.c" "$(OX)\json_login.h" |
| 1586 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\json_login_.c" |
| 1587 | |
| 1588 | "$(OX)\json_login_.c" : "$(SRCDIR)\json_login.c" |
| 1589 | "$(OBJDIR)\translate$E" $** > $@ |
| 1590 | |
| 1591 | "$(OX)\json_query$O" : "$(OX)\json_query_.c" "$(OX)\json_query.h" |
| 1592 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\json_query_.c" |
| 1593 | |
| 1594 | "$(OX)\json_query_.c" : "$(SRCDIR)\json_query.c" |
| 1595 | "$(OBJDIR)\translate$E" $** > $@ |
| 1596 | |
| 1597 | "$(OX)\json_report$O" : "$(OX)\json_report_.c" "$(OX)\json_report.h" |
| 1598 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\json_report_.c" |
| 1599 | |
| 1600 | "$(OX)\json_report_.c" : "$(SRCDIR)\json_report.c" |
| 1601 | "$(OBJDIR)\translate$E" $** > $@ |
| 1602 | |
| 1603 | "$(OX)\json_status$O" : "$(OX)\json_status_.c" "$(OX)\json_status.h" |
| 1604 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\json_status_.c" |
| 1605 | |
| 1606 | "$(OX)\json_status_.c" : "$(SRCDIR)\json_status.c" |
| 1607 | "$(OBJDIR)\translate$E" $** > $@ |
| 1608 | |
| 1609 | "$(OX)\json_tag$O" : "$(OX)\json_tag_.c" "$(OX)\json_tag.h" |
| 1610 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\json_tag_.c" |
| 1611 | |
| 1612 | "$(OX)\json_tag_.c" : "$(SRCDIR)\json_tag.c" |
| 1613 | "$(OBJDIR)\translate$E" $** > $@ |
| 1614 | |
| 1615 | "$(OX)\json_timeline$O" : "$(OX)\json_timeline_.c" "$(OX)\json_timeline.h" |
| 1616 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\json_timeline_.c" |
| 1617 | |
| 1618 | "$(OX)\json_timeline_.c" : "$(SRCDIR)\json_timeline.c" |
| 1619 | "$(OBJDIR)\translate$E" $** > $@ |
| 1620 | |
| 1621 | "$(OX)\json_user$O" : "$(OX)\json_user_.c" "$(OX)\json_user.h" |
| 1622 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\json_user_.c" |
| 1623 | |
| 1624 | "$(OX)\json_user_.c" : "$(SRCDIR)\json_user.c" |
| 1625 | "$(OBJDIR)\translate$E" $** > $@ |
| 1626 | |
| 1627 | "$(OX)\json_wiki$O" : "$(OX)\json_wiki_.c" "$(OX)\json_wiki.h" |
| 1628 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\json_wiki_.c" |
| 1629 | |
| 1630 | "$(OX)\json_wiki_.c" : "$(SRCDIR)\json_wiki.c" |
| 1631 | "$(OBJDIR)\translate$E" $** > $@ |
| 1632 | |
| 1633 | "$(OX)\leaf$O" : "$(OX)\leaf_.c" "$(OX)\leaf.h" |
| 1634 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\leaf_.c" |
| 1635 | |
| 1636 | "$(OX)\leaf_.c" : "$(SRCDIR)\leaf.c" |
| 1637 | "$(OBJDIR)\translate$E" $** > $@ |
| 1638 | |
| 1639 | "$(OX)\loadctrl$O" : "$(OX)\loadctrl_.c" "$(OX)\loadctrl.h" |
| 1640 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\loadctrl_.c" |
| 1641 | |
| 1642 | "$(OX)\loadctrl_.c" : "$(SRCDIR)\loadctrl.c" |
| 1643 | "$(OBJDIR)\translate$E" $** > $@ |
| 1644 | |
| 1645 | "$(OX)\login$O" : "$(OX)\login_.c" "$(OX)\login.h" |
| 1646 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\login_.c" |
| 1647 | |
| 1648 | "$(OX)\login_.c" : "$(SRCDIR)\login.c" |
| 1649 | "$(OBJDIR)\translate$E" $** > $@ |
| 1650 | |
| 1651 | "$(OX)\lookslike$O" : "$(OX)\lookslike_.c" "$(OX)\lookslike.h" |
| 1652 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\lookslike_.c" |
| 1653 | |
| 1654 | "$(OX)\lookslike_.c" : "$(SRCDIR)\lookslike.c" |
| 1655 | "$(OBJDIR)\translate$E" $** > $@ |
| 1656 | |
| 1657 | "$(OX)\main$O" : "$(OX)\main_.c" "$(OX)\main.h" |
| 1658 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\main_.c" |
| 1659 | |
| 1660 | "$(OX)\main_.c" : "$(SRCDIR)\main.c" |
| 1661 | "$(OBJDIR)\translate$E" $** > $@ |
| 1662 | |
| 1663 | "$(OX)\manifest$O" : "$(OX)\manifest_.c" "$(OX)\manifest.h" |
| 1664 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\manifest_.c" |
| 1665 | |
| 1666 | "$(OX)\manifest_.c" : "$(SRCDIR)\manifest.c" |
| 1667 | "$(OBJDIR)\translate$E" $** > $@ |
| 1668 | |
| 1669 | "$(OX)\markdown$O" : "$(OX)\markdown_.c" "$(OX)\markdown.h" |
| 1670 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\markdown_.c" |
| 1671 | |
| 1672 | "$(OX)\markdown_.c" : "$(SRCDIR)\markdown.c" |
| 1673 | "$(OBJDIR)\translate$E" $** > $@ |
| 1674 | |
| 1675 | "$(OX)\markdown_html$O" : "$(OX)\markdown_html_.c" "$(OX)\markdown_html.h" |
| 1676 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\markdown_html_.c" |
| 1677 | |
| 1678 | "$(OX)\markdown_html_.c" : "$(SRCDIR)\markdown_html.c" |
| 1679 | "$(OBJDIR)\translate$E" $** > $@ |
| 1680 | |
| 1681 | "$(OX)\md5$O" : "$(OX)\md5_.c" "$(OX)\md5.h" |
| 1682 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\md5_.c" |
| 1683 | |
| 1684 | "$(OX)\md5_.c" : "$(SRCDIR)\md5.c" |
| 1685 | "$(OBJDIR)\translate$E" $** > $@ |
| 1686 | |
| 1687 | "$(OX)\merge$O" : "$(OX)\merge_.c" "$(OX)\merge.h" |
| 1688 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\merge_.c" |
| 1689 | |
| 1690 | "$(OX)\merge_.c" : "$(SRCDIR)\merge.c" |
| 1691 | "$(OBJDIR)\translate$E" $** > $@ |
| 1692 | |
| 1693 | "$(OX)\merge3$O" : "$(OX)\merge3_.c" "$(OX)\merge3.h" |
| 1694 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\merge3_.c" |
| 1695 | |
| 1696 | "$(OX)\merge3_.c" : "$(SRCDIR)\merge3.c" |
| 1697 | "$(OBJDIR)\translate$E" $** > $@ |
| 1698 | |
| 1699 | "$(OX)\moderate$O" : "$(OX)\moderate_.c" "$(OX)\moderate.h" |
| 1700 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\moderate_.c" |
| 1701 | |
| 1702 | "$(OX)\moderate_.c" : "$(SRCDIR)\moderate.c" |
| 1703 | "$(OBJDIR)\translate$E" $** > $@ |
| 1704 | |
| 1705 | "$(OX)\name$O" : "$(OX)\name_.c" "$(OX)\name.h" |
| 1706 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\name_.c" |
| 1707 | |
| 1708 | "$(OX)\name_.c" : "$(SRCDIR)\name.c" |
| 1709 | "$(OBJDIR)\translate$E" $** > $@ |
| 1710 | |
| 1711 | "$(OX)\path$O" : "$(OX)\path_.c" "$(OX)\path.h" |
| 1712 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\path_.c" |
| 1713 | |
| 1714 | "$(OX)\path_.c" : "$(SRCDIR)\path.c" |
| 1715 | "$(OBJDIR)\translate$E" $** > $@ |
| 1716 | |
| 1717 | "$(OX)\piechart$O" : "$(OX)\piechart_.c" "$(OX)\piechart.h" |
| 1718 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\piechart_.c" |
| 1719 | |
| 1720 | "$(OX)\piechart_.c" : "$(SRCDIR)\piechart.c" |
| 1721 | "$(OBJDIR)\translate$E" $** > $@ |
| 1722 | |
| 1723 | "$(OX)\pivot$O" : "$(OX)\pivot_.c" "$(OX)\pivot.h" |
| 1724 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\pivot_.c" |
| 1725 | |
| 1726 | "$(OX)\pivot_.c" : "$(SRCDIR)\pivot.c" |
| 1727 | "$(OBJDIR)\translate$E" $** > $@ |
| 1728 | |
| 1729 | "$(OX)\popen$O" : "$(OX)\popen_.c" "$(OX)\popen.h" |
| 1730 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\popen_.c" |
| 1731 | |
| 1732 | "$(OX)\popen_.c" : "$(SRCDIR)\popen.c" |
| 1733 | "$(OBJDIR)\translate$E" $** > $@ |
| 1734 | |
| 1735 | "$(OX)\pqueue$O" : "$(OX)\pqueue_.c" "$(OX)\pqueue.h" |
| 1736 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\pqueue_.c" |
| 1737 | |
| 1738 | "$(OX)\pqueue_.c" : "$(SRCDIR)\pqueue.c" |
| 1739 | "$(OBJDIR)\translate$E" $** > $@ |
| 1740 | |
| 1741 | "$(OX)\printf$O" : "$(OX)\printf_.c" "$(OX)\printf.h" |
| 1742 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\printf_.c" |
| 1743 | |
| 1744 | "$(OX)\printf_.c" : "$(SRCDIR)\printf.c" |
| 1745 | "$(OBJDIR)\translate$E" $** > $@ |
| 1746 | |
| 1747 | "$(OX)\publish$O" : "$(OX)\publish_.c" "$(OX)\publish.h" |
| 1748 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\publish_.c" |
| 1749 | |
| 1750 | "$(OX)\publish_.c" : "$(SRCDIR)\publish.c" |
| 1751 | "$(OBJDIR)\translate$E" $** > $@ |
| 1752 | |
| 1753 | "$(OX)\purge$O" : "$(OX)\purge_.c" "$(OX)\purge.h" |
| 1754 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\purge_.c" |
| 1755 | |
| 1756 | "$(OX)\purge_.c" : "$(SRCDIR)\purge.c" |
| 1757 | "$(OBJDIR)\translate$E" $** > $@ |
| 1758 | |
| 1759 | "$(OX)\rebuild$O" : "$(OX)\rebuild_.c" "$(OX)\rebuild.h" |
| 1760 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\rebuild_.c" |
| 1761 | |
| 1762 | "$(OX)\rebuild_.c" : "$(SRCDIR)\rebuild.c" |
| 1763 | "$(OBJDIR)\translate$E" $** > $@ |
| 1764 | |
| 1765 | "$(OX)\regexp$O" : "$(OX)\regexp_.c" "$(OX)\regexp.h" |
| 1766 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\regexp_.c" |
| 1767 | |
| 1768 | "$(OX)\regexp_.c" : "$(SRCDIR)\regexp.c" |
| 1769 | "$(OBJDIR)\translate$E" $** > $@ |
| 1770 | |
| 1771 | "$(OX)\repolist$O" : "$(OX)\repolist_.c" "$(OX)\repolist.h" |
| 1772 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\repolist_.c" |
| 1773 | |
| 1774 | "$(OX)\repolist_.c" : "$(SRCDIR)\repolist.c" |
| 1775 | "$(OBJDIR)\translate$E" $** > $@ |
| 1776 | |
| 1777 | "$(OX)\report$O" : "$(OX)\report_.c" "$(OX)\report.h" |
| 1778 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\report_.c" |
| 1779 | |
| 1780 | "$(OX)\report_.c" : "$(SRCDIR)\report.c" |
| 1781 | "$(OBJDIR)\translate$E" $** > $@ |
| 1782 | |
| 1783 | "$(OX)\rss$O" : "$(OX)\rss_.c" "$(OX)\rss.h" |
| 1784 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\rss_.c" |
| 1785 | |
| 1786 | "$(OX)\rss_.c" : "$(SRCDIR)\rss.c" |
| 1787 | "$(OBJDIR)\translate$E" $** > $@ |
| 1788 | |
| 1789 | "$(OX)\schema$O" : "$(OX)\schema_.c" "$(OX)\schema.h" |
| 1790 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\schema_.c" |
| 1791 | |
| 1792 | "$(OX)\schema_.c" : "$(SRCDIR)\schema.c" |
| 1793 | "$(OBJDIR)\translate$E" $** > $@ |
| 1794 | |
| 1795 | "$(OX)\search$O" : "$(OX)\search_.c" "$(OX)\search.h" |
| 1796 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\search_.c" |
| 1797 | |
| 1798 | "$(OX)\search_.c" : "$(SRCDIR)\search.c" |
| 1799 | "$(OBJDIR)\translate$E" $** > $@ |
| 1800 | |
| 1801 | "$(OX)\security_audit$O" : "$(OX)\security_audit_.c" "$(OX)\security_audit.h" |
| 1802 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\security_audit_.c" |
| 1803 | |
| 1804 | "$(OX)\security_audit_.c" : "$(SRCDIR)\security_audit.c" |
| 1805 | "$(OBJDIR)\translate$E" $** > $@ |
| 1806 | |
| 1807 | "$(OX)\setup$O" : "$(OX)\setup_.c" "$(OX)\setup.h" |
| 1808 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\setup_.c" |
| 1809 | |
| 1810 | "$(OX)\setup_.c" : "$(SRCDIR)\setup.c" |
| 1811 | "$(OBJDIR)\translate$E" $** > $@ |
| 1812 | |
| 1813 | "$(OX)\setupuser$O" : "$(OX)\setupuser_.c" "$(OX)\setupuser.h" |
| 1814 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\setupuser_.c" |
| 1815 | |
| 1816 | "$(OX)\setupuser_.c" : "$(SRCDIR)\setupuser.c" |
| 1817 | "$(OBJDIR)\translate$E" $** > $@ |
| 1818 | |
| 1819 | "$(OX)\sha1$O" : "$(OX)\sha1_.c" "$(OX)\sha1.h" |
| 1820 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\sha1_.c" |
| 1821 | |
| 1822 | "$(OX)\sha1_.c" : "$(SRCDIR)\sha1.c" |
| 1823 | "$(OBJDIR)\translate$E" $** > $@ |
| 1824 | |
| 1825 | "$(OX)\sha1hard$O" : "$(OX)\sha1hard_.c" "$(OX)\sha1hard.h" |
| 1826 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\sha1hard_.c" |
| 1827 | |
| 1828 | "$(OX)\sha1hard_.c" : "$(SRCDIR)\sha1hard.c" |
| 1829 | "$(OBJDIR)\translate$E" $** > $@ |
| 1830 | |
| 1831 | "$(OX)\sha3$O" : "$(OX)\sha3_.c" "$(OX)\sha3.h" |
| 1832 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\sha3_.c" |
| 1833 | |
| 1834 | "$(OX)\sha3_.c" : "$(SRCDIR)\sha3.c" |
| 1835 | "$(OBJDIR)\translate$E" $** > $@ |
| 1836 | |
| 1837 | "$(OX)\shun$O" : "$(OX)\shun_.c" "$(OX)\shun.h" |
| 1838 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\shun_.c" |
| 1839 | |
| 1840 | "$(OX)\shun_.c" : "$(SRCDIR)\shun.c" |
| 1841 | "$(OBJDIR)\translate$E" $** > $@ |
| 1842 | |
| 1843 | "$(OX)\sitemap$O" : "$(OX)\sitemap_.c" "$(OX)\sitemap.h" |
| 1844 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\sitemap_.c" |
| 1845 | |
| 1846 | "$(OX)\sitemap_.c" : "$(SRCDIR)\sitemap.c" |
| 1847 | "$(OBJDIR)\translate$E" $** > $@ |
| 1848 | |
| 1849 | "$(OX)\skins$O" : "$(OX)\skins_.c" "$(OX)\skins.h" |
| 1850 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\skins_.c" |
| 1851 | |
| 1852 | "$(OX)\skins_.c" : "$(SRCDIR)\skins.c" |
| 1853 | "$(OBJDIR)\translate$E" $** > $@ |
| 1854 | |
| 1855 | "$(OX)\smtp$O" : "$(OX)\smtp_.c" "$(OX)\smtp.h" |
| 1856 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\smtp_.c" |
| 1857 | |
| 1858 | "$(OX)\smtp_.c" : "$(SRCDIR)\smtp.c" |
| 1859 | "$(OBJDIR)\translate$E" $** > $@ |
| 1860 | |
| 1861 | "$(OX)\sqlcmd$O" : "$(OX)\sqlcmd_.c" "$(OX)\sqlcmd.h" |
| 1862 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\sqlcmd_.c" |
| 1863 | |
| 1864 | "$(OX)\sqlcmd_.c" : "$(SRCDIR)\sqlcmd.c" |
| 1865 | "$(OBJDIR)\translate$E" $** > $@ |
| 1866 | |
| 1867 | "$(OX)\stash$O" : "$(OX)\stash_.c" "$(OX)\stash.h" |
| 1868 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\stash_.c" |
| 1869 | |
| 1870 | "$(OX)\stash_.c" : "$(SRCDIR)\stash.c" |
| 1871 | "$(OBJDIR)\translate$E" $** > $@ |
| 1872 | |
| 1873 | "$(OX)\stat$O" : "$(OX)\stat_.c" "$(OX)\stat.h" |
| 1874 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\stat_.c" |
| 1875 | |
| 1876 | "$(OX)\stat_.c" : "$(SRCDIR)\stat.c" |
| 1877 | "$(OBJDIR)\translate$E" $** > $@ |
| 1878 | |
| 1879 | "$(OX)\statrep$O" : "$(OX)\statrep_.c" "$(OX)\statrep.h" |
| 1880 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\statrep_.c" |
| 1881 | |
| 1882 | "$(OX)\statrep_.c" : "$(SRCDIR)\statrep.c" |
| 1883 | "$(OBJDIR)\translate$E" $** > $@ |
| 1884 | |
| 1885 | "$(OX)\style$O" : "$(OX)\style_.c" "$(OX)\style.h" |
| 1886 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\style_.c" |
| 1887 | |
| 1888 | "$(OX)\style_.c" : "$(SRCDIR)\style.c" |
| 1889 | "$(OBJDIR)\translate$E" $** > $@ |
| 1890 | |
| 1891 | "$(OX)\sync$O" : "$(OX)\sync_.c" "$(OX)\sync.h" |
| 1892 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\sync_.c" |
| 1893 | |
| 1894 | "$(OX)\sync_.c" : "$(SRCDIR)\sync.c" |
| 1895 | "$(OBJDIR)\translate$E" $** > $@ |
| 1896 | |
| 1897 | "$(OX)\tag$O" : "$(OX)\tag_.c" "$(OX)\tag.h" |
| 1898 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\tag_.c" |
| 1899 | |
| 1900 | "$(OX)\tag_.c" : "$(SRCDIR)\tag.c" |
| 1901 | "$(OBJDIR)\translate$E" $** > $@ |
| 1902 | |
| 1903 | "$(OX)\tar$O" : "$(OX)\tar_.c" "$(OX)\tar.h" |
| 1904 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\tar_.c" |
| 1905 | |
| 1906 | "$(OX)\tar_.c" : "$(SRCDIR)\tar.c" |
| 1907 | "$(OBJDIR)\translate$E" $** > $@ |
| 1908 | |
| 1909 | "$(OX)\terminal$O" : "$(OX)\terminal_.c" "$(OX)\terminal.h" |
| 1910 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\terminal_.c" |
| 1911 | |
| 1912 | "$(OX)\terminal_.c" : "$(SRCDIR)\terminal.c" |
| 1913 | "$(OBJDIR)\translate$E" $** > $@ |
| 1914 | |
| 1915 | "$(OX)\th_main$O" : "$(OX)\th_main_.c" "$(OX)\th_main.h" |
| 1916 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\th_main_.c" |
| 1917 | |
| 1918 | "$(OX)\th_main_.c" : "$(SRCDIR)\th_main.c" |
| 1919 | "$(OBJDIR)\translate$E" $** > $@ |
| 1920 | |
| 1921 | "$(OX)\timeline$O" : "$(OX)\timeline_.c" "$(OX)\timeline.h" |
| 1922 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\timeline_.c" |
| 1923 | |
| 1924 | "$(OX)\timeline_.c" : "$(SRCDIR)\timeline.c" |
| 1925 | "$(OBJDIR)\translate$E" $** > $@ |
| 1926 | |
| 1927 | "$(OX)\tkt$O" : "$(OX)\tkt_.c" "$(OX)\tkt.h" |
| 1928 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\tkt_.c" |
| 1929 | |
| 1930 | "$(OX)\tkt_.c" : "$(SRCDIR)\tkt.c" |
| 1931 | "$(OBJDIR)\translate$E" $** > $@ |
| 1932 | |
| 1933 | "$(OX)\tktsetup$O" : "$(OX)\tktsetup_.c" "$(OX)\tktsetup.h" |
| 1934 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\tktsetup_.c" |
| 1935 | |
| 1936 | "$(OX)\tktsetup_.c" : "$(SRCDIR)\tktsetup.c" |
| 1937 | "$(OBJDIR)\translate$E" $** > $@ |
| 1938 | |
| 1939 | "$(OX)\undo$O" : "$(OX)\undo_.c" "$(OX)\undo.h" |
| 1940 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\undo_.c" |
| 1941 | |
| 1942 | "$(OX)\undo_.c" : "$(SRCDIR)\undo.c" |
| 1943 | "$(OBJDIR)\translate$E" $** > $@ |
| 1944 | |
| 1945 | "$(OX)\unicode$O" : "$(OX)\unicode_.c" "$(OX)\unicode.h" |
| 1946 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\unicode_.c" |
| 1947 | |
| 1948 | "$(OX)\unicode_.c" : "$(SRCDIR)\unicode.c" |
| 1949 | "$(OBJDIR)\translate$E" $** > $@ |
| 1950 | |
| 1951 | "$(OX)\unversioned$O" : "$(OX)\unversioned_.c" "$(OX)\unversioned.h" |
| 1952 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\unversioned_.c" |
| 1953 | |
| 1954 | "$(OX)\unversioned_.c" : "$(SRCDIR)\unversioned.c" |
| 1955 | "$(OBJDIR)\translate$E" $** > $@ |
| 1956 | |
| 1957 | "$(OX)\update$O" : "$(OX)\update_.c" "$(OX)\update.h" |
| 1958 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\update_.c" |
| 1959 | |
| 1960 | "$(OX)\update_.c" : "$(SRCDIR)\update.c" |
| 1961 | "$(OBJDIR)\translate$E" $** > $@ |
| 1962 | |
| 1963 | "$(OX)\url$O" : "$(OX)\url_.c" "$(OX)\url.h" |
| 1964 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\url_.c" |
| 1965 | |
| 1966 | "$(OX)\url_.c" : "$(SRCDIR)\url.c" |
| 1967 | "$(OBJDIR)\translate$E" $** > $@ |
| 1968 | |
| 1969 | "$(OX)\user$O" : "$(OX)\user_.c" "$(OX)\user.h" |
| 1970 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\user_.c" |
| 1971 | |
| 1972 | "$(OX)\user_.c" : "$(SRCDIR)\user.c" |
| 1973 | "$(OBJDIR)\translate$E" $** > $@ |
| 1974 | |
| 1975 | "$(OX)\utf8$O" : "$(OX)\utf8_.c" "$(OX)\utf8.h" |
| 1976 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\utf8_.c" |
| 1977 | |
| 1978 | "$(OX)\utf8_.c" : "$(SRCDIR)\utf8.c" |
| 1979 | "$(OBJDIR)\translate$E" $** > $@ |
| 1980 | |
| 1981 | "$(OX)\util$O" : "$(OX)\util_.c" "$(OX)\util.h" |
| 1982 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\util_.c" |
| 1983 | |
| 1984 | "$(OX)\util_.c" : "$(SRCDIR)\util.c" |
| 1985 | "$(OBJDIR)\translate$E" $** > $@ |
| 1986 | |
| 1987 | "$(OX)\verify$O" : "$(OX)\verify_.c" "$(OX)\verify.h" |
| 1988 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\verify_.c" |
| 1989 | |
| 1990 | "$(OX)\verify_.c" : "$(SRCDIR)\verify.c" |
| 1991 | "$(OBJDIR)\translate$E" $** > $@ |
| 1992 | |
| 1993 | "$(OX)\vfile$O" : "$(OX)\vfile_.c" "$(OX)\vfile.h" |
| 1994 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\vfile_.c" |
| 1995 | |
| 1996 | "$(OX)\vfile_.c" : "$(SRCDIR)\vfile.c" |
| 1997 | "$(OBJDIR)\translate$E" $** > $@ |
| 1998 | |
| 1999 | "$(OX)\webmail$O" : "$(OX)\webmail_.c" "$(OX)\webmail.h" |
| 2000 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\webmail_.c" |
| 2001 | |
| 2002 | "$(OX)\webmail_.c" : "$(SRCDIR)\webmail.c" |
| 2003 | "$(OBJDIR)\translate$E" $** > $@ |
| 2004 | |
| 2005 | "$(OX)\wiki$O" : "$(OX)\wiki_.c" "$(OX)\wiki.h" |
| 2006 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\wiki_.c" |
| 2007 | |
| 2008 | "$(OX)\wiki_.c" : "$(SRCDIR)\wiki.c" |
| 2009 | "$(OBJDIR)\translate$E" $** > $@ |
| 2010 | |
| 2011 | "$(OX)\wikiformat$O" : "$(OX)\wikiformat_.c" "$(OX)\wikiformat.h" |
| 2012 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\wikiformat_.c" |
| 2013 | |
| 2014 | "$(OX)\wikiformat_.c" : "$(SRCDIR)\wikiformat.c" |
| 2015 | "$(OBJDIR)\translate$E" $** > $@ |
| 2016 | |
| 2017 | "$(OX)\winfile$O" : "$(OX)\winfile_.c" "$(OX)\winfile.h" |
| 2018 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\winfile_.c" |
| 2019 | |
| 2020 | "$(OX)\winfile_.c" : "$(SRCDIR)\winfile.c" |
| 2021 | "$(OBJDIR)\translate$E" $** > $@ |
| 2022 | |
| 2023 | "$(OX)\winhttp$O" : "$(OX)\winhttp_.c" "$(OX)\winhttp.h" |
| 2024 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\winhttp_.c" |
| 2025 | |
| 2026 | "$(OX)\winhttp_.c" : "$(SRCDIR)\winhttp.c" |
| 2027 | "$(OBJDIR)\translate$E" $** > $@ |
| 2028 | |
| 2029 | "$(OX)\wysiwyg$O" : "$(OX)\wysiwyg_.c" "$(OX)\wysiwyg.h" |
| 2030 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\wysiwyg_.c" |
| 2031 | |
| 2032 | "$(OX)\wysiwyg_.c" : "$(SRCDIR)\wysiwyg.c" |
| 2033 | "$(OBJDIR)\translate$E" $** > $@ |
| 2034 | |
| 2035 | "$(OX)\xfer$O" : "$(OX)\xfer_.c" "$(OX)\xfer.h" |
| 2036 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\xfer_.c" |
| 2037 | |
| 2038 | "$(OX)\xfer_.c" : "$(SRCDIR)\xfer.c" |
| 2039 | "$(OBJDIR)\translate$E" $** > $@ |
| 2040 | |
| 2041 | "$(OX)\xfersetup$O" : "$(OX)\xfersetup_.c" "$(OX)\xfersetup.h" |
| 2042 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\xfersetup_.c" |
| 2043 | |
| 2044 | "$(OX)\xfersetup_.c" : "$(SRCDIR)\xfersetup.c" |
| 2045 | "$(OBJDIR)\translate$E" $** > $@ |
| 2046 | |
| 2047 | "$(OX)\zip$O" : "$(OX)\zip_.c" "$(OX)\zip.h" |
| 2048 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\zip_.c" |
| 2049 | |
| 2050 | "$(OX)\zip_.c" : "$(SRCDIR)\zip.c" |
| 2051 | "$(OBJDIR)\translate$E" $** > $@ |
| 2052 | |
| 2053 | "$(OX)\fossil.res" : "$(B)\win\fossil.rc" |
| 2054 | $(RCC) /fo $@ $** |
| 2055 | |
| 2056 | "$(OX)\headers": "$(OBJDIR)\makeheaders$E" "$(OX)\page_index.h" "$(OX)\builtin_data.h" "$(OX)\default_css.h" "$(OX)\VERSION.h" |
| 2057 | "$(OBJDIR)\makeheaders$E" "$(OX)\add_.c":"$(OX)\add.h" \ |
| 2058 | "$(OX)\ajax_.c":"$(OX)\ajax.h" \ |
| 2059 | "$(OX)\alerts_.c":"$(OX)\alerts.h" \ |
| 2060 | "$(OX)\allrepo_.c":"$(OX)\allrepo.h" \ |
| 2061 | "$(OX)\attach_.c":"$(OX)\attach.h" \ |
| 2062 | "$(OX)\backlink_.c":"$(OX)\backlink.h" \ |
| 2063 | "$(OX)\backoffice_.c":"$(OX)\backoffice.h" \ |
| 2064 | "$(OX)\bag_.c":"$(OX)\bag.h" \ |
| 2065 | "$(OX)\bisect_.c":"$(OX)\bisect.h" \ |
| 2066 | "$(OX)\blob_.c":"$(OX)\blob.h" \ |
| 2067 | "$(OX)\branch_.c":"$(OX)\branch.h" \ |
| 2068 | "$(OX)\browse_.c":"$(OX)\browse.h" \ |
| 2069 | "$(OX)\builtin_.c":"$(OX)\builtin.h" \ |
| 2070 | "$(OX)\bundle_.c":"$(OX)\bundle.h" \ |
| 2071 | "$(OX)\cache_.c":"$(OX)\cache.h" \ |
| 2072 | "$(OX)\capabilities_.c":"$(OX)\capabilities.h" \ |
| 2073 | "$(OX)\captcha_.c":"$(OX)\captcha.h" \ |
| 2074 | "$(OX)\cgi_.c":"$(OX)\cgi.h" \ |
| 2075 | "$(OX)\checkin_.c":"$(OX)\checkin.h" \ |
| 2076 | "$(OX)\checkout_.c":"$(OX)\checkout.h" \ |
| 2077 | "$(OX)\clearsign_.c":"$(OX)\clearsign.h" \ |
| 2078 | "$(OX)\clone_.c":"$(OX)\clone.h" \ |
| 2079 | "$(OX)\comformat_.c":"$(OX)\comformat.h" \ |
| 2080 | "$(OX)\configure_.c":"$(OX)\configure.h" \ |
| 2081 | "$(OX)\content_.c":"$(OX)\content.h" \ |
| 2082 | "$(OX)\cookies_.c":"$(OX)\cookies.h" \ |
| 2083 | "$(OX)\db_.c":"$(OX)\db.h" \ |
| 2084 | "$(OX)\delta_.c":"$(OX)\delta.h" \ |
| 2085 | "$(OX)\deltacmd_.c":"$(OX)\deltacmd.h" \ |
| 2086 | "$(OX)\deltafunc_.c":"$(OX)\deltafunc.h" \ |
| 2087 | "$(OX)\descendants_.c":"$(OX)\descendants.h" \ |
| 2088 | "$(OX)\diff_.c":"$(OX)\diff.h" \ |
| 2089 | "$(OX)\diffcmd_.c":"$(OX)\diffcmd.h" \ |
| 2090 | "$(OX)\dispatch_.c":"$(OX)\dispatch.h" \ |
| 2091 | "$(OX)\doc_.c":"$(OX)\doc.h" \ |
| 2092 | "$(OX)\encode_.c":"$(OX)\encode.h" \ |
| 2093 | "$(OX)\etag_.c":"$(OX)\etag.h" \ |
| 2094 | "$(OX)\event_.c":"$(OX)\event.h" \ |
| 2095 | "$(OX)\export_.c":"$(OX)\export.h" \ |
| 2096 | "$(OX)\extcgi_.c":"$(OX)\extcgi.h" \ |
| 2097 | "$(OX)\file_.c":"$(OX)\file.h" \ |
| 2098 | "$(OX)\fileedit_.c":"$(OX)\fileedit.h" \ |
| 2099 | "$(OX)\finfo_.c":"$(OX)\finfo.h" \ |
| 2100 | "$(OX)\foci_.c":"$(OX)\foci.h" \ |
| 2101 | "$(OX)\forum_.c":"$(OX)\forum.h" \ |
| 2102 | "$(OX)\fshell_.c":"$(OX)\fshell.h" \ |
| 2103 | "$(OX)\fusefs_.c":"$(OX)\fusefs.h" \ |
| 2104 | "$(OX)\fuzz_.c":"$(OX)\fuzz.h" \ |
| 2105 | "$(OX)\glob_.c":"$(OX)\glob.h" \ |
| 2106 | "$(OX)\graph_.c":"$(OX)\graph.h" \ |
| 2107 | "$(OX)\gzip_.c":"$(OX)\gzip.h" \ |
| 2108 | "$(OX)\hname_.c":"$(OX)\hname.h" \ |
| 2109 | "$(OX)\http_.c":"$(OX)\http.h" \ |
| 2110 | "$(OX)\http_socket_.c":"$(OX)\http_socket.h" \ |
| 2111 | "$(OX)\http_ssl_.c":"$(OX)\http_ssl.h" \ |
| 2112 | "$(OX)\http_transport_.c":"$(OX)\http_transport.h" \ |
| 2113 | "$(OX)\import_.c":"$(OX)\import.h" \ |
| 2114 | "$(OX)\info_.c":"$(OX)\info.h" \ |
| 2115 | "$(OX)\json_.c":"$(OX)\json.h" \ |
| 2116 | "$(OX)\json_artifact_.c":"$(OX)\json_artifact.h" \ |
| 2117 | "$(OX)\json_branch_.c":"$(OX)\json_branch.h" \ |
| 2118 | "$(OX)\json_config_.c":"$(OX)\json_config.h" \ |
| 2119 | "$(OX)\json_diff_.c":"$(OX)\json_diff.h" \ |
| 2120 | "$(OX)\json_dir_.c":"$(OX)\json_dir.h" \ |
| 2121 | "$(OX)\json_finfo_.c":"$(OX)\json_finfo.h" \ |
| 2122 | "$(OX)\json_login_.c":"$(OX)\json_login.h" \ |
| 2123 | "$(OX)\json_query_.c":"$(OX)\json_query.h" \ |
| 2124 | "$(OX)\json_report_.c":"$(OX)\json_report.h" \ |
| 2125 | "$(OX)\json_status_.c":"$(OX)\json_status.h" \ |
| 2126 | "$(OX)\json_tag_.c":"$(OX)\json_tag.h" \ |
| 2127 | "$(OX)\json_timeline_.c":"$(OX)\json_timeline.h" \ |
| 2128 | "$(OX)\json_user_.c":"$(OX)\json_user.h" \ |
| 2129 | "$(OX)\json_wiki_.c":"$(OX)\json_wiki.h" \ |
| 2130 | "$(OX)\leaf_.c":"$(OX)\leaf.h" \ |
| 2131 | "$(OX)\loadctrl_.c":"$(OX)\loadctrl.h" \ |
| 2132 | "$(OX)\login_.c":"$(OX)\login.h" \ |
| 2133 | "$(OX)\lookslike_.c":"$(OX)\lookslike.h" \ |
| 2134 | "$(OX)\main_.c":"$(OX)\main.h" \ |
| 2135 | "$(OX)\manifest_.c":"$(OX)\manifest.h" \ |
| 2136 | "$(OX)\markdown_.c":"$(OX)\markdown.h" \ |
| 2137 | "$(OX)\markdown_html_.c":"$(OX)\markdown_html.h" \ |
| 2138 | "$(OX)\md5_.c":"$(OX)\md5.h" \ |
| 2139 | "$(OX)\merge_.c":"$(OX)\merge.h" \ |
| 2140 | "$(OX)\merge3_.c":"$(OX)\merge3.h" \ |
| 2141 | "$(OX)\moderate_.c":"$(OX)\moderate.h" \ |
| 2142 | "$(OX)\name_.c":"$(OX)\name.h" \ |
| 2143 | "$(OX)\path_.c":"$(OX)\path.h" \ |
| 2144 | "$(OX)\piechart_.c":"$(OX)\piechart.h" \ |
| 2145 | "$(OX)\pivot_.c":"$(OX)\pivot.h" \ |
| 2146 | "$(OX)\popen_.c":"$(OX)\popen.h" \ |
| 2147 | "$(OX)\pqueue_.c":"$(OX)\pqueue.h" \ |
| 2148 | "$(OX)\printf_.c":"$(OX)\printf.h" \ |
| 2149 | "$(OX)\publish_.c":"$(OX)\publish.h" \ |
| 2150 | "$(OX)\purge_.c":"$(OX)\purge.h" \ |
| 2151 | "$(OX)\rebuild_.c":"$(OX)\rebuild.h" \ |
| 2152 | "$(OX)\regexp_.c":"$(OX)\regexp.h" \ |
| 2153 | "$(OX)\repolist_.c":"$(OX)\repolist.h" \ |
| 2154 | "$(OX)\report_.c":"$(OX)\report.h" \ |
| 2155 | "$(OX)\rss_.c":"$(OX)\rss.h" \ |
| 2156 | "$(OX)\schema_.c":"$(OX)\schema.h" \ |
| 2157 | "$(OX)\search_.c":"$(OX)\search.h" \ |
| 2158 | "$(OX)\security_audit_.c":"$(OX)\security_audit.h" \ |
| 2159 | "$(OX)\setup_.c":"$(OX)\setup.h" \ |
| 2160 | "$(OX)\setupuser_.c":"$(OX)\setupuser.h" \ |
| 2161 | "$(OX)\sha1_.c":"$(OX)\sha1.h" \ |
| 2162 | "$(OX)\sha1hard_.c":"$(OX)\sha1hard.h" \ |
| 2163 | "$(OX)\sha3_.c":"$(OX)\sha3.h" \ |
| 2164 | "$(OX)\shun_.c":"$(OX)\shun.h" \ |
| 2165 | "$(OX)\sitemap_.c":"$(OX)\sitemap.h" \ |
| 2166 | "$(OX)\skins_.c":"$(OX)\skins.h" \ |
| 2167 | "$(OX)\smtp_.c":"$(OX)\smtp.h" \ |
| 2168 | "$(OX)\sqlcmd_.c":"$(OX)\sqlcmd.h" \ |
| 2169 | "$(OX)\stash_.c":"$(OX)\stash.h" \ |
| 2170 | "$(OX)\stat_.c":"$(OX)\stat.h" \ |
| 2171 | "$(OX)\statrep_.c":"$(OX)\statrep.h" \ |
| 2172 | "$(OX)\style_.c":"$(OX)\style.h" \ |
| 2173 | "$(OX)\sync_.c":"$(OX)\sync.h" \ |
| 2174 | "$(OX)\tag_.c":"$(OX)\tag.h" \ |
| 2175 | "$(OX)\tar_.c":"$(OX)\tar.h" \ |
| 2176 | "$(OX)\terminal_.c":"$(OX)\terminal.h" \ |
| 2177 | "$(OX)\th_main_.c":"$(OX)\th_main.h" \ |
| 2178 | "$(OX)\timeline_.c":"$(OX)\timeline.h" \ |
| 2179 | "$(OX)\tkt_.c":"$(OX)\tkt.h" \ |
| 2180 | "$(OX)\tktsetup_.c":"$(OX)\tktsetup.h" \ |
| 2181 | "$(OX)\undo_.c":"$(OX)\undo.h" \ |
| 2182 | "$(OX)\unicode_.c":"$(OX)\unicode.h" \ |
| 2183 | "$(OX)\unversioned_.c":"$(OX)\unversioned.h" \ |
| 2184 | "$(OX)\update_.c":"$(OX)\update.h" \ |
| 2185 | "$(OX)\url_.c":"$(OX)\url.h" \ |
| 2186 | "$(OX)\user_.c":"$(OX)\user.h" \ |
| 2187 | "$(OX)\utf8_.c":"$(OX)\utf8.h" \ |
| 2188 | "$(OX)\util_.c":"$(OX)\util.h" \ |
| 2189 | "$(OX)\verify_.c":"$(OX)\verify.h" \ |
| 2190 | "$(OX)\vfile_.c":"$(OX)\vfile.h" \ |
| 2191 | "$(OX)\webmail_.c":"$(OX)\webmail.h" \ |
| 2192 | "$(OX)\wiki_.c":"$(OX)\wiki.h" \ |
| 2193 | "$(OX)\wikiformat_.c":"$(OX)\wikiformat.h" \ |
| 2194 | "$(OX)\winfile_.c":"$(OX)\winfile.h" \ |
| 2195 | "$(OX)\winhttp_.c":"$(OX)\winhttp.h" \ |
| 2196 | "$(OX)\wysiwyg_.c":"$(OX)\wysiwyg.h" \ |
| 2197 | "$(OX)\xfer_.c":"$(OX)\xfer.h" \ |
| 2198 | "$(OX)\xfersetup_.c":"$(OX)\xfersetup.h" \ |
| 2199 | "$(OX)\zip_.c":"$(OX)\zip.h" \ |
| 2200 | "$(SRCDIR)\sqlite3.h" \ |
| 2201 | "$(SRCDIR)\th.h" \ |
| 2202 | "$(OX)\VERSION.h" \ |
| 2203 | "$(SRCDIR)\cson_amalgamation.h" |
| 2204 | @copy /Y nul: $@ |
| 2205 |
+58
-13
| --- win/buildmsvc.bat | ||
| +++ win/buildmsvc.bat | ||
| @@ -183,11 +183,28 @@ | ||
| 183 | 183 | %_VECHO% VcInstallDir = '%VCINSTALLDIR%' |
| 184 | 184 | |
| 185 | 185 | REM |
| 186 | 186 | REM NOTE: Attempt to create the build output directory, if necessary. |
| 187 | 187 | REM |
| 188 | -IF NOT DEFINED BUILDDIR ( | |
| 188 | +IF DEFINED BUILDDIR ( | |
| 189 | + IF DEFINED BUILDSUFFIX ( | |
| 190 | + CALL :fn_FindVarInVar BUILDSUFFIX BUILDDIR | |
| 191 | + | |
| 192 | + IF ERRORLEVEL 1 ( | |
| 193 | + REM | |
| 194 | + REM NOTE: The build suffix is already present, do nothing. | |
| 195 | + REM | |
| 196 | + ) ELSE ( | |
| 197 | + REM | |
| 198 | + REM NOTE: The build suffix is not present, add it now. | |
| 199 | + REM | |
| 200 | + SET BUILDDIR=%BUILDDIR%%BUILDSUFFIX% | |
| 201 | + ) | |
| 202 | + | |
| 203 | + CALL :fn_ResetErrorLevel | |
| 204 | + ) | |
| 205 | +) ELSE ( | |
| 189 | 206 | SET BUILDDIR=%ROOT%\msvcbld%BUILDSUFFIX% |
| 190 | 207 | ) |
| 191 | 208 | |
| 192 | 209 | %_VECHO% BuildSuffix = '%BUILDSUFFIX%' |
| 193 | 210 | %_VECHO% BuildDir = '%BUILDDIR%' |
| @@ -201,18 +218,20 @@ | ||
| 201 | 218 | ) |
| 202 | 219 | ) |
| 203 | 220 | |
| 204 | 221 | REM |
| 205 | 222 | REM NOTE: Attempt to change to the created build output directory so that |
| 206 | -REM the generated files will be placed there. | |
| 223 | +REM the generated files will be placed there, if needed. | |
| 207 | 224 | REM |
| 208 | 225 | %__ECHO2% PUSHD "%BUILDDIR%" |
| 209 | 226 | |
| 210 | 227 | IF ERRORLEVEL 1 ( |
| 211 | 228 | ECHO Could not change to directory "%BUILDDIR%". |
| 212 | 229 | GOTO errors |
| 213 | 230 | ) |
| 231 | + | |
| 232 | +SET NEED_POPD=1 | |
| 214 | 233 | |
| 215 | 234 | REM |
| 216 | 235 | REM NOTE: If requested, setup the build environment to refer to the Windows |
| 217 | 236 | REM SDK v7.1A, which is required if the binaries are being built with |
| 218 | 237 | REM Visual Studio 201x and need to work on Windows XP. |
| @@ -223,30 +242,38 @@ | ||
| 223 | 242 | ) |
| 224 | 243 | |
| 225 | 244 | %_VECHO% Path = '%PATH%' |
| 226 | 245 | %_VECHO% Include = '%INCLUDE%' |
| 227 | 246 | %_VECHO% Lib = '%LIB%' |
| 247 | +%_VECHO% Tools = '%TOOLS%' | |
| 248 | +%_VECHO% Root = '%ROOT%' | |
| 228 | 249 | %_VECHO% NmakeArgs = '%NMAKE_ARGS%' |
| 229 | 250 | |
| 230 | 251 | REM |
| 231 | 252 | REM NOTE: Attempt to execute NMAKE for the Fossil MSVC makefile, passing |
| 232 | 253 | REM anything extra from our command line along (e.g. extra options). |
| 254 | +REM Also, pass the base directory of the Fossil source tree as this | |
| 255 | +REM allows an out-of-source-tree build. | |
| 233 | 256 | REM |
| 234 | -%__ECHO% nmake /f "%TOOLS%\Makefile.msc" %NMAKE_ARGS% %* | |
| 257 | +%__ECHO% nmake /f "%TOOLS%\Makefile.msc" B="%ROOT%" %NMAKE_ARGS% %* | |
| 235 | 258 | |
| 236 | 259 | IF ERRORLEVEL 1 ( |
| 237 | 260 | GOTO errors |
| 238 | 261 | ) |
| 239 | 262 | |
| 240 | 263 | REM |
| 241 | -REM NOTE: Attempt to restore the previously saved directory. | |
| 264 | +REM NOTE: Attempt to restore the previously saved directory, if needed. | |
| 242 | 265 | REM |
| 243 | -%__ECHO2% POPD | |
| 266 | +IF DEFINED NEED_POPD ( | |
| 267 | + %__ECHO2% POPD | |
| 268 | + | |
| 269 | + IF ERRORLEVEL 1 ( | |
| 270 | + ECHO Could not restore directory. | |
| 271 | + GOTO errors | |
| 272 | + ) | |
| 244 | 273 | |
| 245 | -IF ERRORLEVEL 1 ( | |
| 246 | - ECHO Could not restore directory. | |
| 247 | - GOTO errors | |
| 274 | + CALL :fn_UnsetVariable NEED_POPD | |
| 248 | 275 | ) |
| 249 | 276 | |
| 250 | 277 | GOTO no_errors |
| 251 | 278 | |
| 252 | 279 | :fn_UseV110Sdk71A |
| @@ -256,18 +283,36 @@ | ||
| 256 | 283 | :set_v110Sdk71A_x86 |
| 257 | 284 | SET PFILES_SDK71A=%ProgramFiles% |
| 258 | 285 | :set_v110Sdk71A_done |
| 259 | 286 | SET PATH=%PFILES_SDK71A%\Microsoft SDKs\Windows\7.1A\Bin;%PATH% |
| 260 | 287 | SET INCLUDE=%PFILES_SDK71A%\Microsoft SDKs\Windows\7.1A\Include;%INCLUDE% |
| 261 | - IF "%PLATFORM%" == "x64" ( | |
| 262 | - SET LIB=%PFILES_SDK71A%\Microsoft SDKs\Windows\7.1A\Lib\x64;%LIB% | |
| 263 | - ) ELSE ( | |
| 264 | - SET LIB=%PFILES_SDK71A%\Microsoft SDKs\Windows\7.1A\Lib;%LIB% | |
| 265 | - ) | |
| 288 | + IF "%PLATFORM%" == "x64" GOTO set_v110Sdk71A_lib_x64 | |
| 289 | + SET LIB=%PFILES_SDK71A%\Microsoft SDKs\Windows\7.1A\Lib;%LIB% | |
| 290 | + GOTO set_v110Sdk71A_lib_done | |
| 291 | + :set_v110Sdk71A_lib_x64 | |
| 292 | + SET LIB=%PFILES_SDK71A%\Microsoft SDKs\Windows\7.1A\Lib\x64;%LIB% | |
| 293 | + :set_v110Sdk71A_lib_done | |
| 266 | 294 | CALL :fn_UnsetVariable PFILES_SDK71A |
| 267 | 295 | SET NMAKE_ARGS=%NMAKE_ARGS% FOSSIL_ENABLE_WINXP=1 |
| 268 | 296 | GOTO :EOF |
| 297 | + | |
| 298 | +:fn_FindVarInVar | |
| 299 | + IF NOT DEFINED %1 GOTO :EOF | |
| 300 | + IF NOT DEFINED %2 GOTO :EOF | |
| 301 | + SETLOCAL | |
| 302 | + CALL :fn_UnsetVariable VALUE | |
| 303 | + SET __ECHO_CMD=ECHO %%%2%% ^^^| FIND /I "%%%1%%" | |
| 304 | + FOR /F "delims=" %%V IN ('%__ECHO_CMD%') DO ( | |
| 305 | + SET VALUE=%%V | |
| 306 | + ) | |
| 307 | + IF DEFINED VALUE ( | |
| 308 | + CALL :fn_SetErrorLevel | |
| 309 | + ) ELSE ( | |
| 310 | + CALL :fn_ResetErrorLevel | |
| 311 | + ) | |
| 312 | + ENDLOCAL | |
| 313 | + GOTO :EOF | |
| 269 | 314 | |
| 270 | 315 | :fn_UnsetVariable |
| 271 | 316 | SETLOCAL |
| 272 | 317 | SET VALUE=%1 |
| 273 | 318 | IF DEFINED VALUE ( |
| 274 | 319 |
| --- win/buildmsvc.bat | |
| +++ win/buildmsvc.bat | |
| @@ -183,11 +183,28 @@ | |
| 183 | %_VECHO% VcInstallDir = '%VCINSTALLDIR%' |
| 184 | |
| 185 | REM |
| 186 | REM NOTE: Attempt to create the build output directory, if necessary. |
| 187 | REM |
| 188 | IF NOT DEFINED BUILDDIR ( |
| 189 | SET BUILDDIR=%ROOT%\msvcbld%BUILDSUFFIX% |
| 190 | ) |
| 191 | |
| 192 | %_VECHO% BuildSuffix = '%BUILDSUFFIX%' |
| 193 | %_VECHO% BuildDir = '%BUILDDIR%' |
| @@ -201,18 +218,20 @@ | |
| 201 | ) |
| 202 | ) |
| 203 | |
| 204 | REM |
| 205 | REM NOTE: Attempt to change to the created build output directory so that |
| 206 | REM the generated files will be placed there. |
| 207 | REM |
| 208 | %__ECHO2% PUSHD "%BUILDDIR%" |
| 209 | |
| 210 | IF ERRORLEVEL 1 ( |
| 211 | ECHO Could not change to directory "%BUILDDIR%". |
| 212 | GOTO errors |
| 213 | ) |
| 214 | |
| 215 | REM |
| 216 | REM NOTE: If requested, setup the build environment to refer to the Windows |
| 217 | REM SDK v7.1A, which is required if the binaries are being built with |
| 218 | REM Visual Studio 201x and need to work on Windows XP. |
| @@ -223,30 +242,38 @@ | |
| 223 | ) |
| 224 | |
| 225 | %_VECHO% Path = '%PATH%' |
| 226 | %_VECHO% Include = '%INCLUDE%' |
| 227 | %_VECHO% Lib = '%LIB%' |
| 228 | %_VECHO% NmakeArgs = '%NMAKE_ARGS%' |
| 229 | |
| 230 | REM |
| 231 | REM NOTE: Attempt to execute NMAKE for the Fossil MSVC makefile, passing |
| 232 | REM anything extra from our command line along (e.g. extra options). |
| 233 | REM |
| 234 | %__ECHO% nmake /f "%TOOLS%\Makefile.msc" %NMAKE_ARGS% %* |
| 235 | |
| 236 | IF ERRORLEVEL 1 ( |
| 237 | GOTO errors |
| 238 | ) |
| 239 | |
| 240 | REM |
| 241 | REM NOTE: Attempt to restore the previously saved directory. |
| 242 | REM |
| 243 | %__ECHO2% POPD |
| 244 | |
| 245 | IF ERRORLEVEL 1 ( |
| 246 | ECHO Could not restore directory. |
| 247 | GOTO errors |
| 248 | ) |
| 249 | |
| 250 | GOTO no_errors |
| 251 | |
| 252 | :fn_UseV110Sdk71A |
| @@ -256,18 +283,36 @@ | |
| 256 | :set_v110Sdk71A_x86 |
| 257 | SET PFILES_SDK71A=%ProgramFiles% |
| 258 | :set_v110Sdk71A_done |
| 259 | SET PATH=%PFILES_SDK71A%\Microsoft SDKs\Windows\7.1A\Bin;%PATH% |
| 260 | SET INCLUDE=%PFILES_SDK71A%\Microsoft SDKs\Windows\7.1A\Include;%INCLUDE% |
| 261 | IF "%PLATFORM%" == "x64" ( |
| 262 | SET LIB=%PFILES_SDK71A%\Microsoft SDKs\Windows\7.1A\Lib\x64;%LIB% |
| 263 | ) ELSE ( |
| 264 | SET LIB=%PFILES_SDK71A%\Microsoft SDKs\Windows\7.1A\Lib;%LIB% |
| 265 | ) |
| 266 | CALL :fn_UnsetVariable PFILES_SDK71A |
| 267 | SET NMAKE_ARGS=%NMAKE_ARGS% FOSSIL_ENABLE_WINXP=1 |
| 268 | GOTO :EOF |
| 269 | |
| 270 | :fn_UnsetVariable |
| 271 | SETLOCAL |
| 272 | SET VALUE=%1 |
| 273 | IF DEFINED VALUE ( |
| 274 |
| --- win/buildmsvc.bat | |
| +++ win/buildmsvc.bat | |
| @@ -183,11 +183,28 @@ | |
| 183 | %_VECHO% VcInstallDir = '%VCINSTALLDIR%' |
| 184 | |
| 185 | REM |
| 186 | REM NOTE: Attempt to create the build output directory, if necessary. |
| 187 | REM |
| 188 | IF DEFINED BUILDDIR ( |
| 189 | IF DEFINED BUILDSUFFIX ( |
| 190 | CALL :fn_FindVarInVar BUILDSUFFIX BUILDDIR |
| 191 | |
| 192 | IF ERRORLEVEL 1 ( |
| 193 | REM |
| 194 | REM NOTE: The build suffix is already present, do nothing. |
| 195 | REM |
| 196 | ) ELSE ( |
| 197 | REM |
| 198 | REM NOTE: The build suffix is not present, add it now. |
| 199 | REM |
| 200 | SET BUILDDIR=%BUILDDIR%%BUILDSUFFIX% |
| 201 | ) |
| 202 | |
| 203 | CALL :fn_ResetErrorLevel |
| 204 | ) |
| 205 | ) ELSE ( |
| 206 | SET BUILDDIR=%ROOT%\msvcbld%BUILDSUFFIX% |
| 207 | ) |
| 208 | |
| 209 | %_VECHO% BuildSuffix = '%BUILDSUFFIX%' |
| 210 | %_VECHO% BuildDir = '%BUILDDIR%' |
| @@ -201,18 +218,20 @@ | |
| 218 | ) |
| 219 | ) |
| 220 | |
| 221 | REM |
| 222 | REM NOTE: Attempt to change to the created build output directory so that |
| 223 | REM the generated files will be placed there, if needed. |
| 224 | REM |
| 225 | %__ECHO2% PUSHD "%BUILDDIR%" |
| 226 | |
| 227 | IF ERRORLEVEL 1 ( |
| 228 | ECHO Could not change to directory "%BUILDDIR%". |
| 229 | GOTO errors |
| 230 | ) |
| 231 | |
| 232 | SET NEED_POPD=1 |
| 233 | |
| 234 | REM |
| 235 | REM NOTE: If requested, setup the build environment to refer to the Windows |
| 236 | REM SDK v7.1A, which is required if the binaries are being built with |
| 237 | REM Visual Studio 201x and need to work on Windows XP. |
| @@ -223,30 +242,38 @@ | |
| 242 | ) |
| 243 | |
| 244 | %_VECHO% Path = '%PATH%' |
| 245 | %_VECHO% Include = '%INCLUDE%' |
| 246 | %_VECHO% Lib = '%LIB%' |
| 247 | %_VECHO% Tools = '%TOOLS%' |
| 248 | %_VECHO% Root = '%ROOT%' |
| 249 | %_VECHO% NmakeArgs = '%NMAKE_ARGS%' |
| 250 | |
| 251 | REM |
| 252 | REM NOTE: Attempt to execute NMAKE for the Fossil MSVC makefile, passing |
| 253 | REM anything extra from our command line along (e.g. extra options). |
| 254 | REM Also, pass the base directory of the Fossil source tree as this |
| 255 | REM allows an out-of-source-tree build. |
| 256 | REM |
| 257 | %__ECHO% nmake /f "%TOOLS%\Makefile.msc" B="%ROOT%" %NMAKE_ARGS% %* |
| 258 | |
| 259 | IF ERRORLEVEL 1 ( |
| 260 | GOTO errors |
| 261 | ) |
| 262 | |
| 263 | REM |
| 264 | REM NOTE: Attempt to restore the previously saved directory, if needed. |
| 265 | REM |
| 266 | IF DEFINED NEED_POPD ( |
| 267 | %__ECHO2% POPD |
| 268 | |
| 269 | IF ERRORLEVEL 1 ( |
| 270 | ECHO Could not restore directory. |
| 271 | GOTO errors |
| 272 | ) |
| 273 | |
| 274 | CALL :fn_UnsetVariable NEED_POPD |
| 275 | ) |
| 276 | |
| 277 | GOTO no_errors |
| 278 | |
| 279 | :fn_UseV110Sdk71A |
| @@ -256,18 +283,36 @@ | |
| 283 | :set_v110Sdk71A_x86 |
| 284 | SET PFILES_SDK71A=%ProgramFiles% |
| 285 | :set_v110Sdk71A_done |
| 286 | SET PATH=%PFILES_SDK71A%\Microsoft SDKs\Windows\7.1A\Bin;%PATH% |
| 287 | SET INCLUDE=%PFILES_SDK71A%\Microsoft SDKs\Windows\7.1A\Include;%INCLUDE% |
| 288 | IF "%PLATFORM%" == "x64" GOTO set_v110Sdk71A_lib_x64 |
| 289 | SET LIB=%PFILES_SDK71A%\Microsoft SDKs\Windows\7.1A\Lib;%LIB% |
| 290 | GOTO set_v110Sdk71A_lib_done |
| 291 | :set_v110Sdk71A_lib_x64 |
| 292 | SET LIB=%PFILES_SDK71A%\Microsoft SDKs\Windows\7.1A\Lib\x64;%LIB% |
| 293 | :set_v110Sdk71A_lib_done |
| 294 | CALL :fn_UnsetVariable PFILES_SDK71A |
| 295 | SET NMAKE_ARGS=%NMAKE_ARGS% FOSSIL_ENABLE_WINXP=1 |
| 296 | GOTO :EOF |
| 297 | |
| 298 | :fn_FindVarInVar |
| 299 | IF NOT DEFINED %1 GOTO :EOF |
| 300 | IF NOT DEFINED %2 GOTO :EOF |
| 301 | SETLOCAL |
| 302 | CALL :fn_UnsetVariable VALUE |
| 303 | SET __ECHO_CMD=ECHO %%%2%% ^^^| FIND /I "%%%1%%" |
| 304 | FOR /F "delims=" %%V IN ('%__ECHO_CMD%') DO ( |
| 305 | SET VALUE=%%V |
| 306 | ) |
| 307 | IF DEFINED VALUE ( |
| 308 | CALL :fn_SetErrorLevel |
| 309 | ) ELSE ( |
| 310 | CALL :fn_ResetErrorLevel |
| 311 | ) |
| 312 | ENDLOCAL |
| 313 | GOTO :EOF |
| 314 | |
| 315 | :fn_UnsetVariable |
| 316 | SETLOCAL |
| 317 | SET VALUE=%1 |
| 318 | IF DEFINED VALUE ( |
| 319 |
+16
| --- www/changes.wiki | ||
| +++ www/changes.wiki | ||
| @@ -1,17 +1,33 @@ | ||
| 1 | 1 | <title>Change Log</title> |
| 2 | 2 | |
| 3 | 3 | <a name='v2_12'></a> |
| 4 | 4 | <h2>Changes for Version 2.12 (pending)</h2> |
| 5 | 5 | |
| 6 | + * Security fix in the "fossil git export" command. New "safety-nets" | |
| 7 | + added to prevent future problems. | |
| 8 | + * Enhancements to the graph display for cases when there are | |
| 9 | + many merges into a single check-in. | |
| 10 | + [/info/2d75e87b760c0a9?diff=0|Example] | |
| 11 | + * The markdown-to-html translator can prevent unsafe HTML | |
| 12 | + (for example: <script>) on user pages like forum and | |
| 13 | + tickets and wiki, at the administrators option. On by | |
| 14 | + default. | |
| 15 | + [https://www.fossil-scm.org/forum/forumpost/3714e6568f|Example]. | |
| 16 | + * Enhance the [/help?cmd=revert|fossil revert] command so that it | |
| 17 | + is able to revert all files beneath a directory. | |
| 6 | 18 | * Added <tt>--reset</tt> flag to the "[/help?cmd=add|fossil add]", |
| 7 | 19 | "[/help?cmd=rm|fossil rm]", and |
| 8 | 20 | "[/help?cmd=addremove|fossil addremove]" commands. |
| 9 | 21 | * Editing forum posts now applies delta compression to the edits. |
| 10 | 22 | * Added the [/help?cmd=/fileedit|/fileedit page], which allows |
| 11 | 23 | editing of text files online. Requires explicit activation by |
| 12 | 24 | a setup user. |
| 25 | + * Update the built-in SQLite so that the | |
| 26 | + "[/help?cmd=sql|fossil sql]" command supports new output | |
| 27 | + modes ".mode box" and ".mode json". | |
| 28 | + * Delta compression now applied to forum edits. | |
| 13 | 29 | |
| 14 | 30 | <a name='v2_11'></a> |
| 15 | 31 | <h2>Changes for Version 2.11 (2020-05-25)</h2> |
| 16 | 32 | |
| 17 | 33 | * Support [/md_rules|Markdown] in the default ticket configuration. |
| 18 | 34 |
| --- www/changes.wiki | |
| +++ www/changes.wiki | |
| @@ -1,17 +1,33 @@ | |
| 1 | <title>Change Log</title> |
| 2 | |
| 3 | <a name='v2_12'></a> |
| 4 | <h2>Changes for Version 2.12 (pending)</h2> |
| 5 | |
| 6 | * Added <tt>--reset</tt> flag to the "[/help?cmd=add|fossil add]", |
| 7 | "[/help?cmd=rm|fossil rm]", and |
| 8 | "[/help?cmd=addremove|fossil addremove]" commands. |
| 9 | * Editing forum posts now applies delta compression to the edits. |
| 10 | * Added the [/help?cmd=/fileedit|/fileedit page], which allows |
| 11 | editing of text files online. Requires explicit activation by |
| 12 | a setup user. |
| 13 | |
| 14 | <a name='v2_11'></a> |
| 15 | <h2>Changes for Version 2.11 (2020-05-25)</h2> |
| 16 | |
| 17 | * Support [/md_rules|Markdown] in the default ticket configuration. |
| 18 |
| --- www/changes.wiki | |
| +++ www/changes.wiki | |
| @@ -1,17 +1,33 @@ | |
| 1 | <title>Change Log</title> |
| 2 | |
| 3 | <a name='v2_12'></a> |
| 4 | <h2>Changes for Version 2.12 (pending)</h2> |
| 5 | |
| 6 | * Security fix in the "fossil git export" command. New "safety-nets" |
| 7 | added to prevent future problems. |
| 8 | * Enhancements to the graph display for cases when there are |
| 9 | many merges into a single check-in. |
| 10 | [/info/2d75e87b760c0a9?diff=0|Example] |
| 11 | * The markdown-to-html translator can prevent unsafe HTML |
| 12 | (for example: <script>) on user pages like forum and |
| 13 | tickets and wiki, at the administrators option. On by |
| 14 | default. |
| 15 | [https://www.fossil-scm.org/forum/forumpost/3714e6568f|Example]. |
| 16 | * Enhance the [/help?cmd=revert|fossil revert] command so that it |
| 17 | is able to revert all files beneath a directory. |
| 18 | * Added <tt>--reset</tt> flag to the "[/help?cmd=add|fossil add]", |
| 19 | "[/help?cmd=rm|fossil rm]", and |
| 20 | "[/help?cmd=addremove|fossil addremove]" commands. |
| 21 | * Editing forum posts now applies delta compression to the edits. |
| 22 | * Added the [/help?cmd=/fileedit|/fileedit page], which allows |
| 23 | editing of text files online. Requires explicit activation by |
| 24 | a setup user. |
| 25 | * Update the built-in SQLite so that the |
| 26 | "[/help?cmd=sql|fossil sql]" command supports new output |
| 27 | modes ".mode box" and ".mode json". |
| 28 | * Delta compression now applied to forum edits. |
| 29 | |
| 30 | <a name='v2_11'></a> |
| 31 | <h2>Changes for Version 2.11 (2020-05-25)</h2> |
| 32 | |
| 33 | * Support [/md_rules|Markdown] in the default ticket configuration. |
| 34 |
+4
-4
| --- www/fossil-v-git.wiki | ||
| +++ www/fossil-v-git.wiki | ||
| @@ -40,22 +40,22 @@ | ||
| 40 | 40 | <td>VCS, tickets, wiki, docs, notes, forum, UI, |
| 41 | 41 | [https://en.wikipedia.org/wiki/Role-based_access_control|RBAC]</td> |
| 42 | 42 | <td><a href="#features">2.1 ↓</a></td> |
| 43 | 43 | </tr> |
| 44 | 44 | <tr> |
| 45 | - <td>Sprawling, incoherent, and inefficient</td> | |
| 45 | + <td>Sprawling and inefficient</td> | |
| 46 | 46 | <td>Self-contained and efficient</td> |
| 47 | 47 | <td><a href="#efficient">2.2 ↓</a></td> |
| 48 | 48 | </tr> |
| 49 | 49 | <tr> |
| 50 | - <td>Ad-hoc pile-of-files key/value database</td> | |
| 50 | + <td>One-off custom pile-of-files data store</td> | |
| 51 | 51 | <td>[https://sqlite.org/famous.html|The most popular database in the world]</td> |
| 52 | 52 | <td><a href="#durable">2.3 ↓</a></td> |
| 53 | 53 | </tr> |
| 54 | 54 | <tr> |
| 55 | - <td>Portable to POSIX systems only</td> | |
| 56 | - <td>Runs just about anywhere</td> | |
| 55 | + <td>Runs natively on POSIX systems only</td> | |
| 56 | + <td>Native on common desktop & server platforms</td> | |
| 57 | 57 | <td><a href="#portable">2.4 ↓</a></td> |
| 58 | 58 | </tr> |
| 59 | 59 | <tr> |
| 60 | 60 | <td>Bazaar-style development</td> |
| 61 | 61 | <td>Cathedral-style development</td> |
| 62 | 62 |
| --- www/fossil-v-git.wiki | |
| +++ www/fossil-v-git.wiki | |
| @@ -40,22 +40,22 @@ | |
| 40 | <td>VCS, tickets, wiki, docs, notes, forum, UI, |
| 41 | [https://en.wikipedia.org/wiki/Role-based_access_control|RBAC]</td> |
| 42 | <td><a href="#features">2.1 ↓</a></td> |
| 43 | </tr> |
| 44 | <tr> |
| 45 | <td>Sprawling, incoherent, and inefficient</td> |
| 46 | <td>Self-contained and efficient</td> |
| 47 | <td><a href="#efficient">2.2 ↓</a></td> |
| 48 | </tr> |
| 49 | <tr> |
| 50 | <td>Ad-hoc pile-of-files key/value database</td> |
| 51 | <td>[https://sqlite.org/famous.html|The most popular database in the world]</td> |
| 52 | <td><a href="#durable">2.3 ↓</a></td> |
| 53 | </tr> |
| 54 | <tr> |
| 55 | <td>Portable to POSIX systems only</td> |
| 56 | <td>Runs just about anywhere</td> |
| 57 | <td><a href="#portable">2.4 ↓</a></td> |
| 58 | </tr> |
| 59 | <tr> |
| 60 | <td>Bazaar-style development</td> |
| 61 | <td>Cathedral-style development</td> |
| 62 |
| --- www/fossil-v-git.wiki | |
| +++ www/fossil-v-git.wiki | |
| @@ -40,22 +40,22 @@ | |
| 40 | <td>VCS, tickets, wiki, docs, notes, forum, UI, |
| 41 | [https://en.wikipedia.org/wiki/Role-based_access_control|RBAC]</td> |
| 42 | <td><a href="#features">2.1 ↓</a></td> |
| 43 | </tr> |
| 44 | <tr> |
| 45 | <td>Sprawling and inefficient</td> |
| 46 | <td>Self-contained and efficient</td> |
| 47 | <td><a href="#efficient">2.2 ↓</a></td> |
| 48 | </tr> |
| 49 | <tr> |
| 50 | <td>One-off custom pile-of-files data store</td> |
| 51 | <td>[https://sqlite.org/famous.html|The most popular database in the world]</td> |
| 52 | <td><a href="#durable">2.3 ↓</a></td> |
| 53 | </tr> |
| 54 | <tr> |
| 55 | <td>Runs natively on POSIX systems only</td> |
| 56 | <td>Native on common desktop & server platforms</td> |
| 57 | <td><a href="#portable">2.4 ↓</a></td> |
| 58 | </tr> |
| 59 | <tr> |
| 60 | <td>Bazaar-style development</td> |
| 61 | <td>Cathedral-style development</td> |
| 62 |
+2
-2
| --- www/index.wiki | ||
| +++ www/index.wiki | ||
| @@ -83,14 +83,14 @@ | ||
| 83 | 83 | the repository are consistent prior to each commit. |
| 84 | 84 | |
| 85 | 85 | 8. <b>Free and Open-Source</b> - Uses the [../COPYRIGHT-BSD2.txt|2-clause BSD license]. |
| 86 | 86 | |
| 87 | 87 | <hr> |
| 88 | -<h3>[/timeline?t=release|Latest Release]: 2.11 (2020-05-26)</h3> | |
| 88 | +<h3>[/timeline?t=release|Latest Release]: 2.11.1 (2020-06-08)</h3> | |
| 89 | 89 | |
| 90 | 90 | * [/uv/download.html|Download] |
| 91 | - * [./changes.wiki#v2_10|Change Summary] | |
| 91 | + * [./changes.wiki#v2_11|Change Summary] | |
| 92 | 92 | |
| 93 | 93 | <hr> |
| 94 | 94 | <h3>Quick Start</h3> |
| 95 | 95 | |
| 96 | 96 | 1. [/uv/download.html|Download] or install using a package manager or |
| 97 | 97 |
| --- www/index.wiki | |
| +++ www/index.wiki | |
| @@ -83,14 +83,14 @@ | |
| 83 | the repository are consistent prior to each commit. |
| 84 | |
| 85 | 8. <b>Free and Open-Source</b> - Uses the [../COPYRIGHT-BSD2.txt|2-clause BSD license]. |
| 86 | |
| 87 | <hr> |
| 88 | <h3>[/timeline?t=release|Latest Release]: 2.11 (2020-05-26)</h3> |
| 89 | |
| 90 | * [/uv/download.html|Download] |
| 91 | * [./changes.wiki#v2_10|Change Summary] |
| 92 | |
| 93 | <hr> |
| 94 | <h3>Quick Start</h3> |
| 95 | |
| 96 | 1. [/uv/download.html|Download] or install using a package manager or |
| 97 |
| --- www/index.wiki | |
| +++ www/index.wiki | |
| @@ -83,14 +83,14 @@ | |
| 83 | the repository are consistent prior to each commit. |
| 84 | |
| 85 | 8. <b>Free and Open-Source</b> - Uses the [../COPYRIGHT-BSD2.txt|2-clause BSD license]. |
| 86 | |
| 87 | <hr> |
| 88 | <h3>[/timeline?t=release|Latest Release]: 2.11.1 (2020-06-08)</h3> |
| 89 | |
| 90 | * [/uv/download.html|Download] |
| 91 | * [./changes.wiki#v2_11|Change Summary] |
| 92 | |
| 93 | <hr> |
| 94 | <h3>Quick Start</h3> |
| 95 | |
| 96 | 1. [/uv/download.html|Download] or install using a package manager or |
| 97 |
+27
-1
| --- www/makefile.wiki | ||
| +++ www/makefile.wiki | ||
| @@ -297,9 +297,35 @@ | ||
| 297 | 297 | dependences are used. |
| 298 | 298 | |
| 299 | 299 | Fossil includes a copy of [https://github.com/richgel999/miniz | miniz] |
| 300 | 300 | which can be used as an alternative to zlib. |
| 301 | 301 | |
| 302 | -<h1>7.0 See Also</h1> | |
| 302 | +<h1>7.0 Debugging</h1> | |
| 303 | + | |
| 304 | +Debug mode is controlled via FOSSIL_DEBUG preprocessor macro which could be | |
| 305 | +set explicitly at the make command for the target platform. | |
| 306 | + | |
| 307 | +However, in practice it is instead recommended to add a respective configure | |
| 308 | +option for the target platform and then perform a clean build. This way the | |
| 309 | +Debug flags are consistently applied across the whole build process. For | |
| 310 | +example, use these Debug flags in addition to other flags passed to the | |
| 311 | +configure scripts: | |
| 312 | + | |
| 313 | +On Linux, *NIX and similar platforms: | |
| 314 | +<blockquote><pre> | |
| 315 | +./configure --fossil-debug | |
| 316 | +</pre></blockquote> | |
| 317 | + | |
| 318 | +On Windows: | |
| 319 | +<blockquote><pre> | |
| 320 | +win\buildmsvc.bat FOSSIL_DEBUG=1 | |
| 321 | +</pre></blockquote> | |
| 322 | + | |
| 323 | +The resulting fossil binary could then be loaded into a platform-specific | |
| 324 | +debugger. Source files displayed in the debugger correspond to the ones | |
| 325 | +generated from the translation stage of the build process, that is what was | |
| 326 | +actually compiled into the object files. | |
| 327 | + | |
| 328 | +<h1>8.0 See Also</h1> | |
| 303 | 329 | |
| 304 | 330 | * [./tech_overview.wiki | A Technical Overview Of Fossil] |
| 305 | 331 | * [./adding_code.wiki | How To Add Features To Fossil] |
| 306 | 332 |
| --- www/makefile.wiki | |
| +++ www/makefile.wiki | |
| @@ -297,9 +297,35 @@ | |
| 297 | dependences are used. |
| 298 | |
| 299 | Fossil includes a copy of [https://github.com/richgel999/miniz | miniz] |
| 300 | which can be used as an alternative to zlib. |
| 301 | |
| 302 | <h1>7.0 See Also</h1> |
| 303 | |
| 304 | * [./tech_overview.wiki | A Technical Overview Of Fossil] |
| 305 | * [./adding_code.wiki | How To Add Features To Fossil] |
| 306 |
| --- www/makefile.wiki | |
| +++ www/makefile.wiki | |
| @@ -297,9 +297,35 @@ | |
| 297 | dependences are used. |
| 298 | |
| 299 | Fossil includes a copy of [https://github.com/richgel999/miniz | miniz] |
| 300 | which can be used as an alternative to zlib. |
| 301 | |
| 302 | <h1>7.0 Debugging</h1> |
| 303 | |
| 304 | Debug mode is controlled via FOSSIL_DEBUG preprocessor macro which could be |
| 305 | set explicitly at the make command for the target platform. |
| 306 | |
| 307 | However, in practice it is instead recommended to add a respective configure |
| 308 | option for the target platform and then perform a clean build. This way the |
| 309 | Debug flags are consistently applied across the whole build process. For |
| 310 | example, use these Debug flags in addition to other flags passed to the |
| 311 | configure scripts: |
| 312 | |
| 313 | On Linux, *NIX and similar platforms: |
| 314 | <blockquote><pre> |
| 315 | ./configure --fossil-debug |
| 316 | </pre></blockquote> |
| 317 | |
| 318 | On Windows: |
| 319 | <blockquote><pre> |
| 320 | win\buildmsvc.bat FOSSIL_DEBUG=1 |
| 321 | </pre></blockquote> |
| 322 | |
| 323 | The resulting fossil binary could then be loaded into a platform-specific |
| 324 | debugger. Source files displayed in the debugger correspond to the ones |
| 325 | generated from the translation stage of the build process, that is what was |
| 326 | actually compiled into the object files. |
| 327 | |
| 328 | <h1>8.0 See Also</h1> |
| 329 | |
| 330 | * [./tech_overview.wiki | A Technical Overview Of Fossil] |
| 331 | * [./adding_code.wiki | How To Add Features To Fossil] |
| 332 |
+15
-15
| --- www/selfcheck.wiki | ||
| +++ www/selfcheck.wiki | ||
| @@ -13,11 +13,11 @@ | ||
| 13 | 13 | part to the defensive measures described here, no data has been |
| 14 | 14 | lost. The integrity checks are doing their job well.</p> |
| 15 | 15 | |
| 16 | 16 | <h2>Atomic Check-ins With Rollback</h2> |
| 17 | 17 | |
| 18 | -The fossil repository is stored in an | |
| 18 | +The Fossil repository is stored in an | |
| 19 | 19 | <a href="http://www.sqlite.org/">SQLite</a> database file. |
| 20 | 20 | ([./tech_overview.wiki | Addition information] about the repository |
| 21 | 21 | file format.) |
| 22 | 22 | SQLite is very mature and stable and has been in wide-spread use for many |
| 23 | 23 | years, so we are confident it will not cause repository |
| @@ -25,46 +25,46 @@ | ||
| 25 | 25 | databases do not corrupt even if a program or system crash or power |
| 26 | 26 | failure occurs in the middle of the update. If some kind of crash |
| 27 | 27 | does occur in the middle of a change, then all the changes are rolled |
| 28 | 28 | back the next time that the database is accessed. |
| 29 | 29 | |
| 30 | -A check-in operation in fossil makes many changes to the repository | |
| 30 | +A check-in operation in Fossil makes many changes to the repository | |
| 31 | 31 | database. But all these changes happen within a single transaction. |
| 32 | 32 | If something goes wrong in the middle of the commit, even if that something |
| 33 | 33 | is a power failure or OS crash, then the transaction |
| 34 | 34 | is rolled back and the database is unchanged. |
| 35 | 35 | |
| 36 | 36 | <h2>Verification Of Delta Encodings Prior To Transaction Commit</h2> |
| 37 | 37 | |
| 38 | -The content files that comprise the global state of a fossil repository | |
| 38 | +The content files that comprise the global state of a Fossil repository | |
| 39 | 39 | are stored in the repository as a tree. The leaves of the tree are |
| 40 | 40 | stored as zlib-compressed BLOBs. Interior nodes are deltas from their |
| 41 | 41 | descendants. A lot of encoding is going on. There is |
| 42 | 42 | zlib-compression which is relatively well-tested but still might |
| 43 | 43 | cause corruption if used improperly. And there is the relatively |
| 44 | -new delta-encoding mechanism designed expressly for fossil. We want | |
| 44 | +new [./delta_encoder_algorithm.wiki | delta-encoding mechanism] designed expressly for Fossil. We want | |
| 45 | 45 | to make sure that bugs in these encoding mechanisms do not lead to |
| 46 | 46 | loss of data. |
| 47 | 47 | |
| 48 | 48 | To increase our confidence that everything in the repository is |
| 49 | -recoverable, fossil makes sure it can extract an exact replica | |
| 49 | +recoverable, Fossil makes sure it can extract an exact replica | |
| 50 | 50 | of every content file that it changes just prior to transaction |
| 51 | 51 | commit. So during the course of check-in (or other repository |
| 52 | 52 | operation) many different files |
| 53 | 53 | in the repository might be modified. Some files are simply |
| 54 | 54 | compressed. Other files are delta encoded and then compressed. |
| 55 | -While all this is going on, fossil makes a record of every file | |
| 55 | +While all this is going on, Fossil makes a record of every file | |
| 56 | 56 | and the SHA1 or SHA3-256 hash of the original content of that |
| 57 | -file. Then just before transaction commit, fossil re-extracts | |
| 57 | +file. Then just before transaction commit, Fossil re-extracts | |
| 58 | 58 | the original content of all files that were written, recomputes |
| 59 | 59 | the hash, and verifies that the recomputed hash still matches. |
| 60 | 60 | If anything does not match up, an error |
| 61 | 61 | message is printed and the transaction rolls back. |
| 62 | 62 | |
| 63 | -So, in other words, fossil always checks to make sure it can | |
| 63 | +So, in other words, Fossil always checks to make sure it can | |
| 64 | 64 | re-extract a file before it commits a change to that file. |
| 65 | -Hence bugs in fossil are unlikely to corrupt the repository in | |
| 65 | +Hence bugs in Fossil are unlikely to corrupt the repository in | |
| 66 | 66 | a way that prevents us from extracting historical versions of |
| 67 | 67 | files. |
| 68 | 68 | |
| 69 | 69 | <h2>Checksum Over All Files In A Check-in</h2> |
| 70 | 70 | |
| @@ -80,11 +80,11 @@ | ||
| 80 | 80 | algorithm implementation. |
| 81 | 81 | |
| 82 | 82 | |
| 83 | 83 | <h2>Checksums On Structural Artifacts And Deltas</h2> |
| 84 | 84 | |
| 85 | -Every [./fileformat.wiki | structural artifact] in a fossil repository | |
| 85 | +Every [./fileformat.wiki | structural artifact] in a Fossil repository | |
| 86 | 86 | contains a "Z-card" bearing an MD5 checksum over the rest of the |
| 87 | 87 | artifact. Any mismatch causes the structural artifact to be ignored. |
| 88 | 88 | |
| 89 | 89 | The [./delta_format.wiki | file delta format] includes a 32-bit |
| 90 | 90 | checksum of the target file. Whenever a file is reconstructed from |
| @@ -93,17 +93,17 @@ | ||
| 93 | 93 | |
| 94 | 94 | <h2>Reliability Versus Performance</h2> |
| 95 | 95 | |
| 96 | 96 | Some version control systems make a big deal out of being "high performance" |
| 97 | 97 | or the "fastest version control system". Fossil makes no such claims and has |
| 98 | -no such ambition. Indeed, profiling indicates that fossil bears a | |
| 98 | +no such ambition. Indeed, profiling indicates that Fossil bears a | |
| 99 | 99 | substantial performance cost for |
| 100 | 100 | doing all of the checksumming and verification outlined above. |
| 101 | 101 | Fossil takes the philosophy of the |
| 102 | 102 | <a href="http://en.wikipedia.org/wiki/The_Tortoise_and_the_Hare">tortoise</a>: |
| 103 | 103 | reliability is more important than raw speed. The developers of |
| 104 | -fossil see no merit in getting the wrong answer quickly. | |
| 104 | +Fossil see no merit in getting the wrong answer quickly. | |
| 105 | 105 | |
| 106 | -Fossil may not be the fastest versioning system, but it is "fast enough". | |
| 107 | -Fossil runs quickly enough to stay out of the developers way. | |
| 108 | -Most operations complete in milliseconds, faster that you can press | |
| 106 | +Fossil may not be the fastest versioning system, but it is <i>fast enough</i>. | |
| 107 | +Fossil runs quickly enough to stay out of the developer's way. | |
| 108 | +Most operations complete in milliseconds, faster than you can press | |
| 109 | 109 | the "Enter" key. |
| 110 | 110 |
| --- www/selfcheck.wiki | |
| +++ www/selfcheck.wiki | |
| @@ -13,11 +13,11 @@ | |
| 13 | part to the defensive measures described here, no data has been |
| 14 | lost. The integrity checks are doing their job well.</p> |
| 15 | |
| 16 | <h2>Atomic Check-ins With Rollback</h2> |
| 17 | |
| 18 | The fossil repository is stored in an |
| 19 | <a href="http://www.sqlite.org/">SQLite</a> database file. |
| 20 | ([./tech_overview.wiki | Addition information] about the repository |
| 21 | file format.) |
| 22 | SQLite is very mature and stable and has been in wide-spread use for many |
| 23 | years, so we are confident it will not cause repository |
| @@ -25,46 +25,46 @@ | |
| 25 | databases do not corrupt even if a program or system crash or power |
| 26 | failure occurs in the middle of the update. If some kind of crash |
| 27 | does occur in the middle of a change, then all the changes are rolled |
| 28 | back the next time that the database is accessed. |
| 29 | |
| 30 | A check-in operation in fossil makes many changes to the repository |
| 31 | database. But all these changes happen within a single transaction. |
| 32 | If something goes wrong in the middle of the commit, even if that something |
| 33 | is a power failure or OS crash, then the transaction |
| 34 | is rolled back and the database is unchanged. |
| 35 | |
| 36 | <h2>Verification Of Delta Encodings Prior To Transaction Commit</h2> |
| 37 | |
| 38 | The content files that comprise the global state of a fossil repository |
| 39 | are stored in the repository as a tree. The leaves of the tree are |
| 40 | stored as zlib-compressed BLOBs. Interior nodes are deltas from their |
| 41 | descendants. A lot of encoding is going on. There is |
| 42 | zlib-compression which is relatively well-tested but still might |
| 43 | cause corruption if used improperly. And there is the relatively |
| 44 | new delta-encoding mechanism designed expressly for fossil. We want |
| 45 | to make sure that bugs in these encoding mechanisms do not lead to |
| 46 | loss of data. |
| 47 | |
| 48 | To increase our confidence that everything in the repository is |
| 49 | recoverable, fossil makes sure it can extract an exact replica |
| 50 | of every content file that it changes just prior to transaction |
| 51 | commit. So during the course of check-in (or other repository |
| 52 | operation) many different files |
| 53 | in the repository might be modified. Some files are simply |
| 54 | compressed. Other files are delta encoded and then compressed. |
| 55 | While all this is going on, fossil makes a record of every file |
| 56 | and the SHA1 or SHA3-256 hash of the original content of that |
| 57 | file. Then just before transaction commit, fossil re-extracts |
| 58 | the original content of all files that were written, recomputes |
| 59 | the hash, and verifies that the recomputed hash still matches. |
| 60 | If anything does not match up, an error |
| 61 | message is printed and the transaction rolls back. |
| 62 | |
| 63 | So, in other words, fossil always checks to make sure it can |
| 64 | re-extract a file before it commits a change to that file. |
| 65 | Hence bugs in fossil are unlikely to corrupt the repository in |
| 66 | a way that prevents us from extracting historical versions of |
| 67 | files. |
| 68 | |
| 69 | <h2>Checksum Over All Files In A Check-in</h2> |
| 70 | |
| @@ -80,11 +80,11 @@ | |
| 80 | algorithm implementation. |
| 81 | |
| 82 | |
| 83 | <h2>Checksums On Structural Artifacts And Deltas</h2> |
| 84 | |
| 85 | Every [./fileformat.wiki | structural artifact] in a fossil repository |
| 86 | contains a "Z-card" bearing an MD5 checksum over the rest of the |
| 87 | artifact. Any mismatch causes the structural artifact to be ignored. |
| 88 | |
| 89 | The [./delta_format.wiki | file delta format] includes a 32-bit |
| 90 | checksum of the target file. Whenever a file is reconstructed from |
| @@ -93,17 +93,17 @@ | |
| 93 | |
| 94 | <h2>Reliability Versus Performance</h2> |
| 95 | |
| 96 | Some version control systems make a big deal out of being "high performance" |
| 97 | or the "fastest version control system". Fossil makes no such claims and has |
| 98 | no such ambition. Indeed, profiling indicates that fossil bears a |
| 99 | substantial performance cost for |
| 100 | doing all of the checksumming and verification outlined above. |
| 101 | Fossil takes the philosophy of the |
| 102 | <a href="http://en.wikipedia.org/wiki/The_Tortoise_and_the_Hare">tortoise</a>: |
| 103 | reliability is more important than raw speed. The developers of |
| 104 | fossil see no merit in getting the wrong answer quickly. |
| 105 | |
| 106 | Fossil may not be the fastest versioning system, but it is "fast enough". |
| 107 | Fossil runs quickly enough to stay out of the developers way. |
| 108 | Most operations complete in milliseconds, faster that you can press |
| 109 | the "Enter" key. |
| 110 |
| --- www/selfcheck.wiki | |
| +++ www/selfcheck.wiki | |
| @@ -13,11 +13,11 @@ | |
| 13 | part to the defensive measures described here, no data has been |
| 14 | lost. The integrity checks are doing their job well.</p> |
| 15 | |
| 16 | <h2>Atomic Check-ins With Rollback</h2> |
| 17 | |
| 18 | The Fossil repository is stored in an |
| 19 | <a href="http://www.sqlite.org/">SQLite</a> database file. |
| 20 | ([./tech_overview.wiki | Addition information] about the repository |
| 21 | file format.) |
| 22 | SQLite is very mature and stable and has been in wide-spread use for many |
| 23 | years, so we are confident it will not cause repository |
| @@ -25,46 +25,46 @@ | |
| 25 | databases do not corrupt even if a program or system crash or power |
| 26 | failure occurs in the middle of the update. If some kind of crash |
| 27 | does occur in the middle of a change, then all the changes are rolled |
| 28 | back the next time that the database is accessed. |
| 29 | |
| 30 | A check-in operation in Fossil makes many changes to the repository |
| 31 | database. But all these changes happen within a single transaction. |
| 32 | If something goes wrong in the middle of the commit, even if that something |
| 33 | is a power failure or OS crash, then the transaction |
| 34 | is rolled back and the database is unchanged. |
| 35 | |
| 36 | <h2>Verification Of Delta Encodings Prior To Transaction Commit</h2> |
| 37 | |
| 38 | The content files that comprise the global state of a Fossil repository |
| 39 | are stored in the repository as a tree. The leaves of the tree are |
| 40 | stored as zlib-compressed BLOBs. Interior nodes are deltas from their |
| 41 | descendants. A lot of encoding is going on. There is |
| 42 | zlib-compression which is relatively well-tested but still might |
| 43 | cause corruption if used improperly. And there is the relatively |
| 44 | new [./delta_encoder_algorithm.wiki | delta-encoding mechanism] designed expressly for Fossil. We want |
| 45 | to make sure that bugs in these encoding mechanisms do not lead to |
| 46 | loss of data. |
| 47 | |
| 48 | To increase our confidence that everything in the repository is |
| 49 | recoverable, Fossil makes sure it can extract an exact replica |
| 50 | of every content file that it changes just prior to transaction |
| 51 | commit. So during the course of check-in (or other repository |
| 52 | operation) many different files |
| 53 | in the repository might be modified. Some files are simply |
| 54 | compressed. Other files are delta encoded and then compressed. |
| 55 | While all this is going on, Fossil makes a record of every file |
| 56 | and the SHA1 or SHA3-256 hash of the original content of that |
| 57 | file. Then just before transaction commit, Fossil re-extracts |
| 58 | the original content of all files that were written, recomputes |
| 59 | the hash, and verifies that the recomputed hash still matches. |
| 60 | If anything does not match up, an error |
| 61 | message is printed and the transaction rolls back. |
| 62 | |
| 63 | So, in other words, Fossil always checks to make sure it can |
| 64 | re-extract a file before it commits a change to that file. |
| 65 | Hence bugs in Fossil are unlikely to corrupt the repository in |
| 66 | a way that prevents us from extracting historical versions of |
| 67 | files. |
| 68 | |
| 69 | <h2>Checksum Over All Files In A Check-in</h2> |
| 70 | |
| @@ -80,11 +80,11 @@ | |
| 80 | algorithm implementation. |
| 81 | |
| 82 | |
| 83 | <h2>Checksums On Structural Artifacts And Deltas</h2> |
| 84 | |
| 85 | Every [./fileformat.wiki | structural artifact] in a Fossil repository |
| 86 | contains a "Z-card" bearing an MD5 checksum over the rest of the |
| 87 | artifact. Any mismatch causes the structural artifact to be ignored. |
| 88 | |
| 89 | The [./delta_format.wiki | file delta format] includes a 32-bit |
| 90 | checksum of the target file. Whenever a file is reconstructed from |
| @@ -93,17 +93,17 @@ | |
| 93 | |
| 94 | <h2>Reliability Versus Performance</h2> |
| 95 | |
| 96 | Some version control systems make a big deal out of being "high performance" |
| 97 | or the "fastest version control system". Fossil makes no such claims and has |
| 98 | no such ambition. Indeed, profiling indicates that Fossil bears a |
| 99 | substantial performance cost for |
| 100 | doing all of the checksumming and verification outlined above. |
| 101 | Fossil takes the philosophy of the |
| 102 | <a href="http://en.wikipedia.org/wiki/The_Tortoise_and_the_Hare">tortoise</a>: |
| 103 | reliability is more important than raw speed. The developers of |
| 104 | Fossil see no merit in getting the wrong answer quickly. |
| 105 | |
| 106 | Fossil may not be the fastest versioning system, but it is <i>fast enough</i>. |
| 107 | Fossil runs quickly enough to stay out of the developer's way. |
| 108 | Most operations complete in milliseconds, faster than you can press |
| 109 | the "Enter" key. |
| 110 |
+5
-9
| --- www/server/debian/nginx.md | ||
| +++ www/server/debian/nginx.md | ||
| @@ -109,19 +109,15 @@ | ||
| 109 | 109 | |
| 110 | 110 | ## <a name="scgi"></a>Running Fossil in SCGI Mode |
| 111 | 111 | |
| 112 | 112 | For the following nginx configuration to work, it needs to contact a |
| 113 | 113 | Fossil instance speaking the SCGI protocol. There are [many ways](../) |
| 114 | -to set that up. For Debian type systems, we primarily recommend | |
| 115 | -following [our systemd user service guide](service.md). | |
| 116 | - | |
| 117 | -Another option would be to customize [the `fslsrv` shell | |
| 118 | -script](/file/tools/fslsrv) that ships with Fossil as an example of | |
| 119 | -launching multiple Fossil instances in the background to serve multiple | |
| 120 | -URLs. | |
| 121 | - | |
| 122 | -However you do it, you need to match up the TCP port numbers between it | |
| 114 | +to set that up. For Debian type systems, we recommend | |
| 115 | +following [our systemd system service guide](service.md). | |
| 116 | + | |
| 117 | +There are other ways to arrange for Fossil to run as a service backing | |
| 118 | +nginx, but however you do it, you need to match up the TCP port numbers between it | |
| 123 | 119 | and those in the nginx configuration below. |
| 124 | 120 | |
| 125 | 121 | |
| 126 | 122 | ## <a name="config"></a>Configuration |
| 127 | 123 | |
| 128 | 124 |
| --- www/server/debian/nginx.md | |
| +++ www/server/debian/nginx.md | |
| @@ -109,19 +109,15 @@ | |
| 109 | |
| 110 | ## <a name="scgi"></a>Running Fossil in SCGI Mode |
| 111 | |
| 112 | For the following nginx configuration to work, it needs to contact a |
| 113 | Fossil instance speaking the SCGI protocol. There are [many ways](../) |
| 114 | to set that up. For Debian type systems, we primarily recommend |
| 115 | following [our systemd user service guide](service.md). |
| 116 | |
| 117 | Another option would be to customize [the `fslsrv` shell |
| 118 | script](/file/tools/fslsrv) that ships with Fossil as an example of |
| 119 | launching multiple Fossil instances in the background to serve multiple |
| 120 | URLs. |
| 121 | |
| 122 | However you do it, you need to match up the TCP port numbers between it |
| 123 | and those in the nginx configuration below. |
| 124 | |
| 125 | |
| 126 | ## <a name="config"></a>Configuration |
| 127 | |
| 128 |
| --- www/server/debian/nginx.md | |
| +++ www/server/debian/nginx.md | |
| @@ -109,19 +109,15 @@ | |
| 109 | |
| 110 | ## <a name="scgi"></a>Running Fossil in SCGI Mode |
| 111 | |
| 112 | For the following nginx configuration to work, it needs to contact a |
| 113 | Fossil instance speaking the SCGI protocol. There are [many ways](../) |
| 114 | to set that up. For Debian type systems, we recommend |
| 115 | following [our systemd system service guide](service.md). |
| 116 | |
| 117 | There are other ways to arrange for Fossil to run as a service backing |
| 118 | nginx, but however you do it, you need to match up the TCP port numbers between it |
| 119 | and those in the nginx configuration below. |
| 120 | |
| 121 | |
| 122 | ## <a name="config"></a>Configuration |
| 123 | |
| 124 |
+38
-6
| --- www/server/debian/service.md | ||
| +++ www/server/debian/service.md | ||
| @@ -43,17 +43,23 @@ | ||
| 43 | 43 | WantedBy=sockets.target |
| 44 | 44 | WantedBy=multi-user.target |
| 45 | 45 | ``` |
| 46 | 46 | |
| 47 | 47 | Unlike with `inetd` and `xinetd`, we don’t need to tell `systemd` which |
| 48 | -user and group to run this service as, because we’ve installed it as a | |
| 49 | -user service under the account we’re logged into. | |
| 48 | +user and group to run this service as, because we’ve installed it | |
| 49 | +under the account we’re logged into, which `systemd` will use as the | |
| 50 | +service’s owner. | |
| 50 | 51 | |
| 51 | 52 | We’ve told `systemd` that we want automatic service restarts with |
| 52 | 53 | back-off logic, making this much more robust than the by-hand launches |
| 53 | 54 | of `fossil` in the platform-independent Fossil server instructions. The |
| 54 | 55 | service will stay up until we explicitly tell it to shut down. |
| 56 | + | |
| 57 | +A simple and useful modification to the above scheme is to add the | |
| 58 | +`--scgi` and `--localhost` flags to the `ExecStart` line to replace the | |
| 59 | +use of `fslsrv` in [the generic SCGI instructions](../any/scgi.md), | |
| 60 | +giving a much more robust configuration. | |
| 55 | 61 | |
| 56 | 62 | Because we’ve set this up as a user service, the commands you give to |
| 57 | 63 | manipulate the service vary somewhat from the sort you’re more likely to |
| 58 | 64 | find online: |
| 59 | 65 | |
| @@ -69,14 +75,40 @@ | ||
| 69 | 75 | |
| 70 | 76 | This scheme isolates the permissions needed by the Fossil server, which |
| 71 | 77 | reduces the amount of damage it can do if there is ever a |
| 72 | 78 | remotely-triggerable security flaw found in Fossil. |
| 73 | 79 | |
| 74 | -A simple and useful modification to the above scheme is to add the | |
| 75 | -`--scgi` and `--localhost` flags to the `ExecStart` line to replace the | |
| 76 | -use of `fslsrv` in [the generic SCGI instructions](../any/scgi.md), | |
| 77 | -giving a much more robust configuration. | |
| 80 | +On some `systemd` based OSes, user services only run while that user is | |
| 81 | +logged in interactively. This is common on systems aiming to provide | |
| 82 | +desktop environments, where this is the behavior you often want. To | |
| 83 | +allow background services to continue to run after logout, say: | |
| 84 | + | |
| 85 | + $ sudo loginctl enable-linger $USER | |
| 86 | + | |
| 87 | +You can paste the command just like that into your terminal, since | |
| 88 | +`$USER` will expand to your login name. | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
| 92 | +### System Service Alternative | |
| 93 | + | |
| 94 | +Another workaround for the problem with user services above is to | |
| 95 | +install the service as a system service instead. This is a better path | |
| 96 | +when you are proxying Fossil with a system-level service, such as | |
| 97 | +[nginx](./nginx.md). | |
| 98 | + | |
| 99 | +There are just a small set of changes required: | |
| 100 | + | |
| 101 | +1. Install the unit file to one of the persistent system-level unit | |
| 102 | + file directories. Typically, these are: | |
| 103 | + | |
| 104 | + /etc/systemd/system | |
| 105 | + /lib/systemd/system | |
| 106 | + | |
| 107 | +2. Add `User` and `Group` directives to the `[Service]` section so | |
| 108 | + Fossil runs as a normal user, preferrably one with access only to | |
| 109 | + the Fossil repo files, rather than running as `root`. | |
| 78 | 110 | |
| 79 | 111 | |
| 80 | 112 | ## Socket Activation |
| 81 | 113 | |
| 82 | 114 | Another useful method to serve a Fossil repo via `systemd` is via a |
| 83 | 115 |
| --- www/server/debian/service.md | |
| +++ www/server/debian/service.md | |
| @@ -43,17 +43,23 @@ | |
| 43 | WantedBy=sockets.target |
| 44 | WantedBy=multi-user.target |
| 45 | ``` |
| 46 | |
| 47 | Unlike with `inetd` and `xinetd`, we don’t need to tell `systemd` which |
| 48 | user and group to run this service as, because we’ve installed it as a |
| 49 | user service under the account we’re logged into. |
| 50 | |
| 51 | We’ve told `systemd` that we want automatic service restarts with |
| 52 | back-off logic, making this much more robust than the by-hand launches |
| 53 | of `fossil` in the platform-independent Fossil server instructions. The |
| 54 | service will stay up until we explicitly tell it to shut down. |
| 55 | |
| 56 | Because we’ve set this up as a user service, the commands you give to |
| 57 | manipulate the service vary somewhat from the sort you’re more likely to |
| 58 | find online: |
| 59 | |
| @@ -69,14 +75,40 @@ | |
| 69 | |
| 70 | This scheme isolates the permissions needed by the Fossil server, which |
| 71 | reduces the amount of damage it can do if there is ever a |
| 72 | remotely-triggerable security flaw found in Fossil. |
| 73 | |
| 74 | A simple and useful modification to the above scheme is to add the |
| 75 | `--scgi` and `--localhost` flags to the `ExecStart` line to replace the |
| 76 | use of `fslsrv` in [the generic SCGI instructions](../any/scgi.md), |
| 77 | giving a much more robust configuration. |
| 78 | |
| 79 | |
| 80 | ## Socket Activation |
| 81 | |
| 82 | Another useful method to serve a Fossil repo via `systemd` is via a |
| 83 |
| --- www/server/debian/service.md | |
| +++ www/server/debian/service.md | |
| @@ -43,17 +43,23 @@ | |
| 43 | WantedBy=sockets.target |
| 44 | WantedBy=multi-user.target |
| 45 | ``` |
| 46 | |
| 47 | Unlike with `inetd` and `xinetd`, we don’t need to tell `systemd` which |
| 48 | user and group to run this service as, because we’ve installed it |
| 49 | under the account we’re logged into, which `systemd` will use as the |
| 50 | service’s owner. |
| 51 | |
| 52 | We’ve told `systemd` that we want automatic service restarts with |
| 53 | back-off logic, making this much more robust than the by-hand launches |
| 54 | of `fossil` in the platform-independent Fossil server instructions. The |
| 55 | service will stay up until we explicitly tell it to shut down. |
| 56 | |
| 57 | A simple and useful modification to the above scheme is to add the |
| 58 | `--scgi` and `--localhost` flags to the `ExecStart` line to replace the |
| 59 | use of `fslsrv` in [the generic SCGI instructions](../any/scgi.md), |
| 60 | giving a much more robust configuration. |
| 61 | |
| 62 | Because we’ve set this up as a user service, the commands you give to |
| 63 | manipulate the service vary somewhat from the sort you’re more likely to |
| 64 | find online: |
| 65 | |
| @@ -69,14 +75,40 @@ | |
| 75 | |
| 76 | This scheme isolates the permissions needed by the Fossil server, which |
| 77 | reduces the amount of damage it can do if there is ever a |
| 78 | remotely-triggerable security flaw found in Fossil. |
| 79 | |
| 80 | On some `systemd` based OSes, user services only run while that user is |
| 81 | logged in interactively. This is common on systems aiming to provide |
| 82 | desktop environments, where this is the behavior you often want. To |
| 83 | allow background services to continue to run after logout, say: |
| 84 | |
| 85 | $ sudo loginctl enable-linger $USER |
| 86 | |
| 87 | You can paste the command just like that into your terminal, since |
| 88 | `$USER` will expand to your login name. |
| 89 | |
| 90 | |
| 91 | |
| 92 | ### System Service Alternative |
| 93 | |
| 94 | Another workaround for the problem with user services above is to |
| 95 | install the service as a system service instead. This is a better path |
| 96 | when you are proxying Fossil with a system-level service, such as |
| 97 | [nginx](./nginx.md). |
| 98 | |
| 99 | There are just a small set of changes required: |
| 100 | |
| 101 | 1. Install the unit file to one of the persistent system-level unit |
| 102 | file directories. Typically, these are: |
| 103 | |
| 104 | /etc/systemd/system |
| 105 | /lib/systemd/system |
| 106 | |
| 107 | 2. Add `User` and `Group` directives to the `[Service]` section so |
| 108 | Fossil runs as a normal user, preferrably one with access only to |
| 109 | the Fossil repo files, rather than running as `root`. |
| 110 | |
| 111 | |
| 112 | ## Socket Activation |
| 113 | |
| 114 | Another useful method to serve a Fossil repo via `systemd` is via a |
| 115 |
+25
-34
| --- www/webpage-ex.md | ||
| +++ www/webpage-ex.md | ||
| @@ -2,112 +2,103 @@ | ||
| 2 | 2 | ================= |
| 3 | 3 | |
| 4 | 4 | Here are just a few examples of the many web pages supported |
| 5 | 5 | by Fossil. Follow hyperlinks on the examples below to see many |
| 6 | 6 | other examples. |
| 7 | -<style> | |
| 8 | -.exbtn { | |
| 9 | - border: 1px solid #000; | |
| 10 | - margin: 1ex; | |
| 11 | - border-radius: 1ex; | |
| 12 | - padding: 0 1ex; | |
| 13 | - background-color: #eee; | |
| 14 | -} | |
| 15 | -</style> | |
| 16 | 7 | |
| 17 | 8 | * <a target='_blank' class='exbtn' |
| 18 | - href='$ROOT/timeline?y=ci&n=100'>Example</a> | |
| 9 | + href='$ROOT/timeline?y=ci&n=100'>(Example)</a> → | |
| 19 | 10 | 100 most recent check-ins. |
| 20 | 11 | |
| 21 | 12 | * <a target='_blank' class='exbtn' |
| 22 | - href='$ROOT/finfo?name=src/file.c'>Example</a> | |
| 13 | + href='$ROOT/finfo?name=src/file.c'>(Example)</a> → | |
| 23 | 14 | All changes to the <b>src/file.c</b> source file. |
| 24 | 15 | |
| 25 | 16 | * <a target='_blank' class='exbtn' |
| 26 | - href='$ROOT/timeline?n=200&uf=0c3c2d086a'>Example</a> | |
| 17 | + href='$ROOT/timeline?n=200&uf=0c3c2d086a'>(Example)</a> → | |
| 27 | 18 | All check-ins using a particular version of the <b>src/file.c</b> |
| 28 | 19 | source file. |
| 29 | 20 | |
| 30 | 21 | * <a target='_blank' class='exbtn' |
| 31 | - href='$ROOT/timeline?n=11&y=ci&c=2014-01-01'>Example</a> | |
| 22 | + href='$ROOT/timeline?n=11&y=ci&c=2014-01-01'>(Example)</a> → | |
| 32 | 23 | Check-ins proximate to an historical point in time (2014-01-01). |
| 33 | 24 | |
| 34 | 25 | * <a target='_blank' class='exbtn' |
| 35 | - href='$ROOT/timeline?n=11&y=ci&c=2014-01-01&v=1'>Example</a> | |
| 26 | + href='$ROOT/timeline?n=11&y=ci&c=2014-01-01&v=1'>(Example)</a> → | |
| 36 | 27 | The previous example augmented with file changes. |
| 37 | 28 | |
| 38 | 29 | * <a target='_blank' class='exbtn' |
| 39 | - href='$ROOT/timeline?n=25&y=ci&a=1970-01-01'>Example</a> | |
| 30 | + href='$ROOT/timeline?n=25&y=ci&a=1970-01-01'>(Example)</a> → | |
| 40 | 31 | First 25 check-ins after 1970-01-01. (The first 25 check-ins of |
| 41 | 32 | the project.) |
| 42 | 33 | |
| 43 | 34 | * <a target='_blank' class='exbtn' |
| 44 | - href='$ROOT/timeline?n=200&r=svn-import'>Example</a> | |
| 35 | + href='$ROOT/timeline?n=200&r=svn-import'>(Example)</a> → | |
| 45 | 36 | All check-ins of the "svn-import" branch together with check-ins |
| 46 | 37 | that merge with that branch. |
| 47 | 38 | |
| 48 | 39 | * <a target='_blank' class='exbtn' |
| 49 | - href='$ROOT/timeline?n=200&t=svn-import'>Example</a> | |
| 40 | + href='$ROOT/timeline?n=200&t=svn-import'>(Example)</a> → | |
| 50 | 41 | All check-ins of the "svn-import" branch only. |
| 51 | 42 | |
| 52 | 43 | * <a target='_blank' class='exbtn' |
| 53 | - href='$ROOT/timeline?n=100&y=ci&ubg'>Example</a> | |
| 44 | + href='$ROOT/timeline?n=100&y=ci&ubg'>(Example)</a> → | |
| 54 | 45 | 100 most recent check-ins color coded by committer rather than by branch. |
| 55 | 46 | |
| 56 | 47 | * <a target='_blank' class='exbtn' |
| 57 | - href='$ROOT/timeline?from=version-1.27&to=version-1.28'>Example</a> | |
| 48 | + href='$ROOT/timeline?from=version-1.27&to=version-1.28'>(Example)</a> → | |
| 58 | 49 | All check-ins on the most direct path from |
| 59 | 50 | version-1.27 to version-1.28 |
| 60 | 51 | |
| 61 | 52 | * <a target='_blank' class='exbtn' |
| 62 | - href='$ROOT/timeline?namechng'>Example</a> | |
| 53 | + href='$ROOT/timeline?namechng'>(Example)</a> → | |
| 63 | 54 | Show check-ins that contain file name changes |
| 64 | 55 | |
| 65 | 56 | * <a target='_blank' class='exbtn' |
| 66 | - href='$ROOT/timeline?u=drh&c=2014-01-08&y=ci'>Example</a> | |
| 57 | + href='$ROOT/timeline?u=drh&c=2014-01-08&y=ci'>(Example)</a> → | |
| 67 | 58 | Show check-ins circa 2014-01-08 by user "drh". |
| 68 | 59 | |
| 69 | 60 | * <a target='_blank' class='exbtn' |
| 70 | - href='$ROOT/timeline?from=version-1.34&to=version-1.35&chng=src/timeline.c,src/doc.c'>Example</a> | |
| 61 | + href='$ROOT/timeline?from=version-1.34&to=version-1.35&chng=src/timeline.c,src/doc.c'>(Example)</a> → | |
| 71 | 62 | Show all check-ins between version-1.34 and version-1.35 that make |
| 72 | 63 | changes to either of the files src/timeline.c or src/doc.c. |
| 73 | 64 | |
| 74 | 65 | <big><b>→</b></big> (Hint: In the pages above, click the graph nodes |
| 75 | 66 | for any two check-ins or files to see a diff.) |
| 76 | 67 | <big><b>←</b></big> |
| 77 | 68 | |
| 78 | 69 | * <a target='_blank' class='exbtn' |
| 79 | - href='$ROOT/search?s=interesting+pages'>Example</a> | |
| 70 | + href='$ROOT/search?s=interesting+pages'>(Example)</a> → | |
| 80 | 71 | Full-text search for "interesting pages". |
| 81 | 72 | |
| 82 | 73 | * <a target='_blank' class='exbtn' |
| 83 | - href='$ROOT/tree?ci=daff9d20621&type=tree'>Example</a> | |
| 74 | + href='$ROOT/tree?ci=daff9d20621&type=tree'>(Example)</a> → | |
| 84 | 75 | All files for a particular check-in (daff9d20621480) |
| 85 | 76 | |
| 86 | 77 | * <a target='_blank' class='exbtn' |
| 87 | - href='$ROOT/tree?ci=trunk&type=tree&mtime=1'>Example</a> | |
| 78 | + href='$ROOT/tree?ci=trunk&type=tree&mtime=1'>(Example)</a> → | |
| 88 | 79 | All files for the latest check-in on a branch (trunk) sorted by |
| 89 | 80 | last modification time. |
| 90 | 81 | |
| 91 | 82 | * <a target='_blank' class='exbtn' |
| 92 | - href='$ROOT/fileage?name=svn-import'>Example</a> | |
| 83 | + href='$ROOT/fileage?name=svn-import'>(Example)</a> → | |
| 93 | 84 | Age of all files in the latest checking for branch "svn-import". |
| 94 | 85 | |
| 95 | 86 | * <a target='_blank' class='exbtn' |
| 96 | - href='$ROOT/brlist'>Example</a> | |
| 87 | + href='$ROOT/brlist'>(Example)</a> → | |
| 97 | 88 | Table of branches. (Click on column headers to sort.) |
| 98 | 89 | |
| 99 | 90 | * <a target='_blank' class='exbtn' |
| 100 | - href='$ROOT/stat'>Example</a> | |
| 91 | + href='$ROOT/stat'>(Example)</a> → | |
| 101 | 92 | Overall repository status. |
| 102 | 93 | |
| 103 | 94 | * <a target='_blank' class='exbtn' |
| 104 | - href='$ROOT/reports?type=ci&view=byuser'>Example</a> | |
| 95 | + href='$ROOT/reports?type=ci&view=byuser'>(Example)</a> → | |
| 105 | 96 | Number of check-ins per committer. |
| 106 | 97 | |
| 107 | 98 | * <a target='_blank' class='exbtn' |
| 108 | - href='$ROOT/reports?view=byfile'>Example</a> | |
| 99 | + href='$ROOT/reports?view=byfile'>(Example)</a> → | |
| 109 | 100 | Number of check-ins for each source file. |
| 110 | 101 | (Click on column headers to sort.) |
| 111 | 102 | |
| 112 | 103 | * <a target='_blank' class='exbtn' |
| 113 | 104 | href='$ROOT/blame?checkin=5260fbf63287&filename=src/rss.c&limit=-1'> |
| @@ -114,19 +105,19 @@ | ||
| 114 | 105 | Example</a> |
| 115 | 106 | Most recent change to each line of a particular source file in a |
| 116 | 107 | particular check-in. |
| 117 | 108 | |
| 118 | 109 | * <a target='_blank' class='exbtn' |
| 119 | - href='$ROOT/taglist'>Example</a> | |
| 110 | + href='$ROOT/taglist'>(Example)</a> → | |
| 120 | 111 | List of tags on check-ins. |
| 121 | 112 | |
| 122 | 113 | * <a target='_blank' class='exbtn' |
| 123 | - href='$ROOT/bigbloblist'>Example</a> | |
| 114 | + href='$ROOT/bigbloblist'>(Example)</a> → | |
| 124 | 115 | The largest objects in the repository. |
| 125 | 116 | |
| 126 | 117 | * <a target='_blank' class='exbtn' |
| 127 | - href='$ROOT/hash-collisions'>Example</a> | |
| 118 | + href='$ROOT/hash-collisions'>(Example)</a> → | |
| 128 | 119 | Hash prefix collisions |
| 129 | 120 | |
| 130 | 121 | * <a target='_blank' class='exbtn' |
| 131 | - href='$ROOT/sitemap'>Example</a> | |
| 122 | + href='$ROOT/sitemap'>(Example)</a> → | |
| 132 | 123 | The "sitemap" containing links to many other pages |
| 133 | 124 |
| --- www/webpage-ex.md | |
| +++ www/webpage-ex.md | |
| @@ -2,112 +2,103 @@ | |
| 2 | ================= |
| 3 | |
| 4 | Here are just a few examples of the many web pages supported |
| 5 | by Fossil. Follow hyperlinks on the examples below to see many |
| 6 | other examples. |
| 7 | <style> |
| 8 | .exbtn { |
| 9 | border: 1px solid #000; |
| 10 | margin: 1ex; |
| 11 | border-radius: 1ex; |
| 12 | padding: 0 1ex; |
| 13 | background-color: #eee; |
| 14 | } |
| 15 | </style> |
| 16 | |
| 17 | * <a target='_blank' class='exbtn' |
| 18 | href='$ROOT/timeline?y=ci&n=100'>Example</a> |
| 19 | 100 most recent check-ins. |
| 20 | |
| 21 | * <a target='_blank' class='exbtn' |
| 22 | href='$ROOT/finfo?name=src/file.c'>Example</a> |
| 23 | All changes to the <b>src/file.c</b> source file. |
| 24 | |
| 25 | * <a target='_blank' class='exbtn' |
| 26 | href='$ROOT/timeline?n=200&uf=0c3c2d086a'>Example</a> |
| 27 | All check-ins using a particular version of the <b>src/file.c</b> |
| 28 | source file. |
| 29 | |
| 30 | * <a target='_blank' class='exbtn' |
| 31 | href='$ROOT/timeline?n=11&y=ci&c=2014-01-01'>Example</a> |
| 32 | Check-ins proximate to an historical point in time (2014-01-01). |
| 33 | |
| 34 | * <a target='_blank' class='exbtn' |
| 35 | href='$ROOT/timeline?n=11&y=ci&c=2014-01-01&v=1'>Example</a> |
| 36 | The previous example augmented with file changes. |
| 37 | |
| 38 | * <a target='_blank' class='exbtn' |
| 39 | href='$ROOT/timeline?n=25&y=ci&a=1970-01-01'>Example</a> |
| 40 | First 25 check-ins after 1970-01-01. (The first 25 check-ins of |
| 41 | the project.) |
| 42 | |
| 43 | * <a target='_blank' class='exbtn' |
| 44 | href='$ROOT/timeline?n=200&r=svn-import'>Example</a> |
| 45 | All check-ins of the "svn-import" branch together with check-ins |
| 46 | that merge with that branch. |
| 47 | |
| 48 | * <a target='_blank' class='exbtn' |
| 49 | href='$ROOT/timeline?n=200&t=svn-import'>Example</a> |
| 50 | All check-ins of the "svn-import" branch only. |
| 51 | |
| 52 | * <a target='_blank' class='exbtn' |
| 53 | href='$ROOT/timeline?n=100&y=ci&ubg'>Example</a> |
| 54 | 100 most recent check-ins color coded by committer rather than by branch. |
| 55 | |
| 56 | * <a target='_blank' class='exbtn' |
| 57 | href='$ROOT/timeline?from=version-1.27&to=version-1.28'>Example</a> |
| 58 | All check-ins on the most direct path from |
| 59 | version-1.27 to version-1.28 |
| 60 | |
| 61 | * <a target='_blank' class='exbtn' |
| 62 | href='$ROOT/timeline?namechng'>Example</a> |
| 63 | Show check-ins that contain file name changes |
| 64 | |
| 65 | * <a target='_blank' class='exbtn' |
| 66 | href='$ROOT/timeline?u=drh&c=2014-01-08&y=ci'>Example</a> |
| 67 | Show check-ins circa 2014-01-08 by user "drh". |
| 68 | |
| 69 | * <a target='_blank' class='exbtn' |
| 70 | href='$ROOT/timeline?from=version-1.34&to=version-1.35&chng=src/timeline.c,src/doc.c'>Example</a> |
| 71 | Show all check-ins between version-1.34 and version-1.35 that make |
| 72 | changes to either of the files src/timeline.c or src/doc.c. |
| 73 | |
| 74 | <big><b>→</b></big> (Hint: In the pages above, click the graph nodes |
| 75 | for any two check-ins or files to see a diff.) |
| 76 | <big><b>←</b></big> |
| 77 | |
| 78 | * <a target='_blank' class='exbtn' |
| 79 | href='$ROOT/search?s=interesting+pages'>Example</a> |
| 80 | Full-text search for "interesting pages". |
| 81 | |
| 82 | * <a target='_blank' class='exbtn' |
| 83 | href='$ROOT/tree?ci=daff9d20621&type=tree'>Example</a> |
| 84 | All files for a particular check-in (daff9d20621480) |
| 85 | |
| 86 | * <a target='_blank' class='exbtn' |
| 87 | href='$ROOT/tree?ci=trunk&type=tree&mtime=1'>Example</a> |
| 88 | All files for the latest check-in on a branch (trunk) sorted by |
| 89 | last modification time. |
| 90 | |
| 91 | * <a target='_blank' class='exbtn' |
| 92 | href='$ROOT/fileage?name=svn-import'>Example</a> |
| 93 | Age of all files in the latest checking for branch "svn-import". |
| 94 | |
| 95 | * <a target='_blank' class='exbtn' |
| 96 | href='$ROOT/brlist'>Example</a> |
| 97 | Table of branches. (Click on column headers to sort.) |
| 98 | |
| 99 | * <a target='_blank' class='exbtn' |
| 100 | href='$ROOT/stat'>Example</a> |
| 101 | Overall repository status. |
| 102 | |
| 103 | * <a target='_blank' class='exbtn' |
| 104 | href='$ROOT/reports?type=ci&view=byuser'>Example</a> |
| 105 | Number of check-ins per committer. |
| 106 | |
| 107 | * <a target='_blank' class='exbtn' |
| 108 | href='$ROOT/reports?view=byfile'>Example</a> |
| 109 | Number of check-ins for each source file. |
| 110 | (Click on column headers to sort.) |
| 111 | |
| 112 | * <a target='_blank' class='exbtn' |
| 113 | href='$ROOT/blame?checkin=5260fbf63287&filename=src/rss.c&limit=-1'> |
| @@ -114,19 +105,19 @@ | |
| 114 | Example</a> |
| 115 | Most recent change to each line of a particular source file in a |
| 116 | particular check-in. |
| 117 | |
| 118 | * <a target='_blank' class='exbtn' |
| 119 | href='$ROOT/taglist'>Example</a> |
| 120 | List of tags on check-ins. |
| 121 | |
| 122 | * <a target='_blank' class='exbtn' |
| 123 | href='$ROOT/bigbloblist'>Example</a> |
| 124 | The largest objects in the repository. |
| 125 | |
| 126 | * <a target='_blank' class='exbtn' |
| 127 | href='$ROOT/hash-collisions'>Example</a> |
| 128 | Hash prefix collisions |
| 129 | |
| 130 | * <a target='_blank' class='exbtn' |
| 131 | href='$ROOT/sitemap'>Example</a> |
| 132 | The "sitemap" containing links to many other pages |
| 133 |
| --- www/webpage-ex.md | |
| +++ www/webpage-ex.md | |
| @@ -2,112 +2,103 @@ | |
| 2 | ================= |
| 3 | |
| 4 | Here are just a few examples of the many web pages supported |
| 5 | by Fossil. Follow hyperlinks on the examples below to see many |
| 6 | other examples. |
| 7 | |
| 8 | * <a target='_blank' class='exbtn' |
| 9 | href='$ROOT/timeline?y=ci&n=100'>(Example)</a> → |
| 10 | 100 most recent check-ins. |
| 11 | |
| 12 | * <a target='_blank' class='exbtn' |
| 13 | href='$ROOT/finfo?name=src/file.c'>(Example)</a> → |
| 14 | All changes to the <b>src/file.c</b> source file. |
| 15 | |
| 16 | * <a target='_blank' class='exbtn' |
| 17 | href='$ROOT/timeline?n=200&uf=0c3c2d086a'>(Example)</a> → |
| 18 | All check-ins using a particular version of the <b>src/file.c</b> |
| 19 | source file. |
| 20 | |
| 21 | * <a target='_blank' class='exbtn' |
| 22 | href='$ROOT/timeline?n=11&y=ci&c=2014-01-01'>(Example)</a> → |
| 23 | Check-ins proximate to an historical point in time (2014-01-01). |
| 24 | |
| 25 | * <a target='_blank' class='exbtn' |
| 26 | href='$ROOT/timeline?n=11&y=ci&c=2014-01-01&v=1'>(Example)</a> → |
| 27 | The previous example augmented with file changes. |
| 28 | |
| 29 | * <a target='_blank' class='exbtn' |
| 30 | href='$ROOT/timeline?n=25&y=ci&a=1970-01-01'>(Example)</a> → |
| 31 | First 25 check-ins after 1970-01-01. (The first 25 check-ins of |
| 32 | the project.) |
| 33 | |
| 34 | * <a target='_blank' class='exbtn' |
| 35 | href='$ROOT/timeline?n=200&r=svn-import'>(Example)</a> → |
| 36 | All check-ins of the "svn-import" branch together with check-ins |
| 37 | that merge with that branch. |
| 38 | |
| 39 | * <a target='_blank' class='exbtn' |
| 40 | href='$ROOT/timeline?n=200&t=svn-import'>(Example)</a> → |
| 41 | All check-ins of the "svn-import" branch only. |
| 42 | |
| 43 | * <a target='_blank' class='exbtn' |
| 44 | href='$ROOT/timeline?n=100&y=ci&ubg'>(Example)</a> → |
| 45 | 100 most recent check-ins color coded by committer rather than by branch. |
| 46 | |
| 47 | * <a target='_blank' class='exbtn' |
| 48 | href='$ROOT/timeline?from=version-1.27&to=version-1.28'>(Example)</a> → |
| 49 | All check-ins on the most direct path from |
| 50 | version-1.27 to version-1.28 |
| 51 | |
| 52 | * <a target='_blank' class='exbtn' |
| 53 | href='$ROOT/timeline?namechng'>(Example)</a> → |
| 54 | Show check-ins that contain file name changes |
| 55 | |
| 56 | * <a target='_blank' class='exbtn' |
| 57 | href='$ROOT/timeline?u=drh&c=2014-01-08&y=ci'>(Example)</a> → |
| 58 | Show check-ins circa 2014-01-08 by user "drh". |
| 59 | |
| 60 | * <a target='_blank' class='exbtn' |
| 61 | href='$ROOT/timeline?from=version-1.34&to=version-1.35&chng=src/timeline.c,src/doc.c'>(Example)</a> → |
| 62 | Show all check-ins between version-1.34 and version-1.35 that make |
| 63 | changes to either of the files src/timeline.c or src/doc.c. |
| 64 | |
| 65 | <big><b>→</b></big> (Hint: In the pages above, click the graph nodes |
| 66 | for any two check-ins or files to see a diff.) |
| 67 | <big><b>←</b></big> |
| 68 | |
| 69 | * <a target='_blank' class='exbtn' |
| 70 | href='$ROOT/search?s=interesting+pages'>(Example)</a> → |
| 71 | Full-text search for "interesting pages". |
| 72 | |
| 73 | * <a target='_blank' class='exbtn' |
| 74 | href='$ROOT/tree?ci=daff9d20621&type=tree'>(Example)</a> → |
| 75 | All files for a particular check-in (daff9d20621480) |
| 76 | |
| 77 | * <a target='_blank' class='exbtn' |
| 78 | href='$ROOT/tree?ci=trunk&type=tree&mtime=1'>(Example)</a> → |
| 79 | All files for the latest check-in on a branch (trunk) sorted by |
| 80 | last modification time. |
| 81 | |
| 82 | * <a target='_blank' class='exbtn' |
| 83 | href='$ROOT/fileage?name=svn-import'>(Example)</a> → |
| 84 | Age of all files in the latest checking for branch "svn-import". |
| 85 | |
| 86 | * <a target='_blank' class='exbtn' |
| 87 | href='$ROOT/brlist'>(Example)</a> → |
| 88 | Table of branches. (Click on column headers to sort.) |
| 89 | |
| 90 | * <a target='_blank' class='exbtn' |
| 91 | href='$ROOT/stat'>(Example)</a> → |
| 92 | Overall repository status. |
| 93 | |
| 94 | * <a target='_blank' class='exbtn' |
| 95 | href='$ROOT/reports?type=ci&view=byuser'>(Example)</a> → |
| 96 | Number of check-ins per committer. |
| 97 | |
| 98 | * <a target='_blank' class='exbtn' |
| 99 | href='$ROOT/reports?view=byfile'>(Example)</a> → |
| 100 | Number of check-ins for each source file. |
| 101 | (Click on column headers to sort.) |
| 102 | |
| 103 | * <a target='_blank' class='exbtn' |
| 104 | href='$ROOT/blame?checkin=5260fbf63287&filename=src/rss.c&limit=-1'> |
| @@ -114,19 +105,19 @@ | |
| 105 | Example</a> |
| 106 | Most recent change to each line of a particular source file in a |
| 107 | particular check-in. |
| 108 | |
| 109 | * <a target='_blank' class='exbtn' |
| 110 | href='$ROOT/taglist'>(Example)</a> → |
| 111 | List of tags on check-ins. |
| 112 | |
| 113 | * <a target='_blank' class='exbtn' |
| 114 | href='$ROOT/bigbloblist'>(Example)</a> → |
| 115 | The largest objects in the repository. |
| 116 | |
| 117 | * <a target='_blank' class='exbtn' |
| 118 | href='$ROOT/hash-collisions'>(Example)</a> → |
| 119 | Hash prefix collisions |
| 120 | |
| 121 | * <a target='_blank' class='exbtn' |
| 122 | href='$ROOT/sitemap'>(Example)</a> → |
| 123 | The "sitemap" containing links to many other pages |
| 124 |