Fossil SCM
Translate decomposed-UTF8 filenames on MacOS into precomposed-UTF8. Fix for ticket [e399bc1edfe45b]
Commit
ca728447a69c81d98c2b8dfd7c0dd45289217179
Parent
3527aa4474e8933…
13 files changed
+1
-1
+2
-2
+15
-140
+23
-6
+11
-1
+1
+3
-3
+51
+6
-6
+1
-1
+10
-4
+12
-1
+10
M
auto.def
+1
-1
| --- auto.def | ||
| +++ auto.def | ||
| @@ -79,11 +79,10 @@ | ||
| 79 | 79 | if {[opt-bool static]} { |
| 80 | 80 | # XXX: This will not work on all systems. |
| 81 | 81 | define-append EXTRA_LDFLAGS -static |
| 82 | 82 | } |
| 83 | 83 | |
| 84 | - | |
| 85 | 84 | # Check for zlib, using the given location if specified |
| 86 | 85 | set zlibpath [opt-val with-zlib] |
| 87 | 86 | if {$zlibpath ne ""} { |
| 88 | 87 | cc-with [list -cflags "-I$zlibpath -L$zlibpath"] |
| 89 | 88 | define-append EXTRA_CFLAGS -I$zlibpath |
| @@ -221,14 +220,15 @@ | ||
| 221 | 220 | # Last resort, may be Windows |
| 222 | 221 | if {[string match *mingw* [get-define host]]} { |
| 223 | 222 | define-append LIBS -lwsock32 |
| 224 | 223 | } |
| 225 | 224 | } |
| 225 | +cc-check-function-in-lib iconv iconv | |
| 226 | 226 | |
| 227 | 227 | # Check for getpassphrase() for Solaris 10 where getpass() truncates to 10 chars |
| 228 | 228 | if {![cc-check-functions getpassphrase]} { |
| 229 | 229 | # Haiku needs this |
| 230 | 230 | cc-check-function-in-lib getpass bsd |
| 231 | 231 | } |
| 232 | 232 | |
| 233 | 233 | make-template Makefile.in |
| 234 | 234 | make-config-header autoconfig.h -auto {USE_* FOSSIL_*} |
| 235 | 235 |
| --- auto.def | |
| +++ auto.def | |
| @@ -79,11 +79,10 @@ | |
| 79 | if {[opt-bool static]} { |
| 80 | # XXX: This will not work on all systems. |
| 81 | define-append EXTRA_LDFLAGS -static |
| 82 | } |
| 83 | |
| 84 | |
| 85 | # Check for zlib, using the given location if specified |
| 86 | set zlibpath [opt-val with-zlib] |
| 87 | if {$zlibpath ne ""} { |
| 88 | cc-with [list -cflags "-I$zlibpath -L$zlibpath"] |
| 89 | define-append EXTRA_CFLAGS -I$zlibpath |
| @@ -221,14 +220,15 @@ | |
| 221 | # Last resort, may be Windows |
| 222 | if {[string match *mingw* [get-define host]]} { |
| 223 | define-append LIBS -lwsock32 |
| 224 | } |
| 225 | } |
| 226 | |
| 227 | # Check for getpassphrase() for Solaris 10 where getpass() truncates to 10 chars |
| 228 | if {![cc-check-functions getpassphrase]} { |
| 229 | # Haiku needs this |
| 230 | cc-check-function-in-lib getpass bsd |
| 231 | } |
| 232 | |
| 233 | make-template Makefile.in |
| 234 | make-config-header autoconfig.h -auto {USE_* FOSSIL_*} |
| 235 |
| --- auto.def | |
| +++ auto.def | |
| @@ -79,11 +79,10 @@ | |
| 79 | if {[opt-bool static]} { |
| 80 | # XXX: This will not work on all systems. |
| 81 | define-append EXTRA_LDFLAGS -static |
| 82 | } |
| 83 | |
| 84 | # Check for zlib, using the given location if specified |
| 85 | set zlibpath [opt-val with-zlib] |
| 86 | if {$zlibpath ne ""} { |
| 87 | cc-with [list -cflags "-I$zlibpath -L$zlibpath"] |
| 88 | define-append EXTRA_CFLAGS -I$zlibpath |
| @@ -221,14 +220,15 @@ | |
| 220 | # Last resort, may be Windows |
| 221 | if {[string match *mingw* [get-define host]]} { |
| 222 | define-append LIBS -lwsock32 |
| 223 | } |
| 224 | } |
| 225 | cc-check-function-in-lib iconv iconv |
| 226 | |
| 227 | # Check for getpassphrase() for Solaris 10 where getpass() truncates to 10 chars |
| 228 | if {![cc-check-functions getpassphrase]} { |
| 229 | # Haiku needs this |
| 230 | cc-check-function-in-lib getpass bsd |
| 231 | } |
| 232 | |
| 233 | make-template Makefile.in |
| 234 | make-config-header autoconfig.h -auto {USE_* FOSSIL_*} |
| 235 |
+2
-2
| --- src/blob.c | ||
| +++ src/blob.c | ||
| @@ -1111,11 +1111,11 @@ | ||
| 1111 | 1111 | blob_append(pBlob, "", 1); |
| 1112 | 1112 | zUtf8 = blob_str(pBlob) + bomSize; |
| 1113 | 1113 | zUtf8 = fossil_unicode_to_utf8(zUtf8); |
| 1114 | 1114 | blob_zero(pBlob); |
| 1115 | 1115 | blob_append(pBlob, zUtf8, -1); |
| 1116 | - fossil_mbcs_free(zUtf8); | |
| 1116 | + fossil_unicode_free(zUtf8); | |
| 1117 | 1117 | }else if( starts_with_utf16be_bom(pBlob, &bomSize) ){ |
| 1118 | 1118 | unsigned int i = blob_size(pBlob); |
| 1119 | 1119 | zUtf8 = blob_buffer(pBlob); |
| 1120 | 1120 | while( i > 0 ){ |
| 1121 | 1121 | /* swap bytes of unicode representation */ |
| @@ -1127,14 +1127,14 @@ | ||
| 1127 | 1127 | blob_append(pBlob, "", 1); |
| 1128 | 1128 | zUtf8 = blob_str(pBlob) + bomSize; |
| 1129 | 1129 | zUtf8 = fossil_unicode_to_utf8(zUtf8); |
| 1130 | 1130 | blob_zero(pBlob); |
| 1131 | 1131 | blob_append(pBlob, zUtf8, -1); |
| 1132 | - fossil_mbcs_free(zUtf8); | |
| 1132 | + fossil_unicode_free(zUtf8); | |
| 1133 | 1133 | }else if( useMbcs ){ |
| 1134 | 1134 | zUtf8 = fossil_mbcs_to_utf8(blob_str(pBlob)); |
| 1135 | 1135 | blob_reset(pBlob); |
| 1136 | 1136 | blob_append(pBlob, zUtf8, -1); |
| 1137 | 1137 | fossil_mbcs_free(zUtf8); |
| 1138 | 1138 | #endif /* _WIN32 */ |
| 1139 | 1139 | } |
| 1140 | 1140 | } |
| 1141 | 1141 |
| --- src/blob.c | |
| +++ src/blob.c | |
| @@ -1111,11 +1111,11 @@ | |
| 1111 | blob_append(pBlob, "", 1); |
| 1112 | zUtf8 = blob_str(pBlob) + bomSize; |
| 1113 | zUtf8 = fossil_unicode_to_utf8(zUtf8); |
| 1114 | blob_zero(pBlob); |
| 1115 | blob_append(pBlob, zUtf8, -1); |
| 1116 | fossil_mbcs_free(zUtf8); |
| 1117 | }else if( starts_with_utf16be_bom(pBlob, &bomSize) ){ |
| 1118 | unsigned int i = blob_size(pBlob); |
| 1119 | zUtf8 = blob_buffer(pBlob); |
| 1120 | while( i > 0 ){ |
| 1121 | /* swap bytes of unicode representation */ |
| @@ -1127,14 +1127,14 @@ | |
| 1127 | blob_append(pBlob, "", 1); |
| 1128 | zUtf8 = blob_str(pBlob) + bomSize; |
| 1129 | zUtf8 = fossil_unicode_to_utf8(zUtf8); |
| 1130 | blob_zero(pBlob); |
| 1131 | blob_append(pBlob, zUtf8, -1); |
| 1132 | fossil_mbcs_free(zUtf8); |
| 1133 | }else if( useMbcs ){ |
| 1134 | zUtf8 = fossil_mbcs_to_utf8(blob_str(pBlob)); |
| 1135 | blob_reset(pBlob); |
| 1136 | blob_append(pBlob, zUtf8, -1); |
| 1137 | fossil_mbcs_free(zUtf8); |
| 1138 | #endif /* _WIN32 */ |
| 1139 | } |
| 1140 | } |
| 1141 |
| --- src/blob.c | |
| +++ src/blob.c | |
| @@ -1111,11 +1111,11 @@ | |
| 1111 | blob_append(pBlob, "", 1); |
| 1112 | zUtf8 = blob_str(pBlob) + bomSize; |
| 1113 | zUtf8 = fossil_unicode_to_utf8(zUtf8); |
| 1114 | blob_zero(pBlob); |
| 1115 | blob_append(pBlob, zUtf8, -1); |
| 1116 | fossil_unicode_free(zUtf8); |
| 1117 | }else if( starts_with_utf16be_bom(pBlob, &bomSize) ){ |
| 1118 | unsigned int i = blob_size(pBlob); |
| 1119 | zUtf8 = blob_buffer(pBlob); |
| 1120 | while( i > 0 ){ |
| 1121 | /* swap bytes of unicode representation */ |
| @@ -1127,14 +1127,14 @@ | |
| 1127 | blob_append(pBlob, "", 1); |
| 1128 | zUtf8 = blob_str(pBlob) + bomSize; |
| 1129 | zUtf8 = fossil_unicode_to_utf8(zUtf8); |
| 1130 | blob_zero(pBlob); |
| 1131 | blob_append(pBlob, zUtf8, -1); |
| 1132 | fossil_unicode_free(zUtf8); |
| 1133 | }else if( useMbcs ){ |
| 1134 | zUtf8 = fossil_mbcs_to_utf8(blob_str(pBlob)); |
| 1135 | blob_reset(pBlob); |
| 1136 | blob_append(pBlob, zUtf8, -1); |
| 1137 | fossil_mbcs_free(zUtf8); |
| 1138 | #endif /* _WIN32 */ |
| 1139 | } |
| 1140 | } |
| 1141 |
+15
-140
| --- src/file.c | ||
| +++ src/file.c | ||
| @@ -75,11 +75,11 @@ | ||
| 75 | 75 | } |
| 76 | 76 | #else |
| 77 | 77 | int rc = 0; |
| 78 | 78 | wchar_t *zMbcs = fossil_utf8_to_unicode(zFilename); |
| 79 | 79 | rc = _wstati64(zMbcs, buf); |
| 80 | - fossil_mbcs_free(zMbcs); | |
| 80 | + fossil_unicode_free(zMbcs); | |
| 81 | 81 | return rc; |
| 82 | 82 | #endif |
| 83 | 83 | } |
| 84 | 84 | |
| 85 | 85 | /* |
| @@ -306,11 +306,11 @@ | ||
| 306 | 306 | */ |
| 307 | 307 | int file_access(const char *zFilename, int flags){ |
| 308 | 308 | #ifdef _WIN32 |
| 309 | 309 | wchar_t *zMbcs = fossil_utf8_to_unicode(zFilename); |
| 310 | 310 | int rc = _waccess(zMbcs, flags); |
| 311 | - fossil_mbcs_free(zMbcs); | |
| 311 | + fossil_unicode_free(zMbcs); | |
| 312 | 312 | #else |
| 313 | 313 | int rc = access(zFilename, flags); |
| 314 | 314 | #endif |
| 315 | 315 | return rc; |
| 316 | 316 | } |
| @@ -410,11 +410,11 @@ | ||
| 410 | 410 | struct _utimbuf tb; |
| 411 | 411 | wchar_t *zMbcs = fossil_utf8_to_unicode(zFilename); |
| 412 | 412 | tb.actime = newMTime; |
| 413 | 413 | tb.modtime = newMTime; |
| 414 | 414 | _wutime(zMbcs, &tb); |
| 415 | - fossil_mbcs_free(zMbcs); | |
| 415 | + fossil_unicode_free(zMbcs); | |
| 416 | 416 | #endif |
| 417 | 417 | } |
| 418 | 418 | |
| 419 | 419 | /* |
| 420 | 420 | ** COMMAND: test-set-mtime |
| @@ -444,11 +444,11 @@ | ||
| 444 | 444 | */ |
| 445 | 445 | void file_delete(const char *zFilename){ |
| 446 | 446 | #ifdef _WIN32 |
| 447 | 447 | wchar_t *z = fossil_utf8_to_unicode(zFilename); |
| 448 | 448 | _wunlink(z); |
| 449 | - fossil_mbcs_free(z); | |
| 449 | + fossil_unicode_free(z); | |
| 450 | 450 | #else |
| 451 | 451 | unlink(zFilename); |
| 452 | 452 | #endif |
| 453 | 453 | } |
| 454 | 454 | |
| @@ -468,11 +468,11 @@ | ||
| 468 | 468 | if( rc!=1 ){ |
| 469 | 469 | #if defined(_WIN32) |
| 470 | 470 | int rc; |
| 471 | 471 | wchar_t *zMbcs = fossil_utf8_to_unicode(zName); |
| 472 | 472 | rc = _wmkdir(zMbcs); |
| 473 | - fossil_mbcs_free(zMbcs); | |
| 473 | + fossil_unicode_free(zMbcs); | |
| 474 | 474 | return rc; |
| 475 | 475 | #else |
| 476 | 476 | return mkdir(zName, 0755); |
| 477 | 477 | #endif |
| 478 | 478 | } |
| @@ -655,18 +655,18 @@ | ||
| 655 | 655 | int i; |
| 656 | 656 | wchar_t zPwd[2000]; |
| 657 | 657 | if( _wgetcwd(zPwd, sizeof(zPwd)/sizeof(zPwd[0])-1)==0 ){ |
| 658 | 658 | fossil_fatal("cannot find the current working directory."); |
| 659 | 659 | } |
| 660 | - zPwdUtf8 = fossil_unicode_to_utf8(zPwd); | |
| 660 | + zPwdUtf8 = fossil_filename_to_utf8(zPwd); | |
| 661 | 661 | nPwd = strlen(zPwdUtf8); |
| 662 | 662 | if( nPwd > nBuf-1 ){ |
| 663 | 663 | fossil_fatal("pwd too big: max %d\n", nBuf-1); |
| 664 | 664 | } |
| 665 | 665 | for(i=0; zPwdUtf8[i]; i++) if( zPwdUtf8[i]=='\\' ) zPwdUtf8[i] = '/'; |
| 666 | 666 | memcpy(zBuf, zPwdUtf8, nPwd+1); |
| 667 | - fossil_mbcs_free(zPwdUtf8); | |
| 667 | + fossil_filename_free(zPwdUtf8); | |
| 668 | 668 | #else |
| 669 | 669 | if( getcwd(zBuf, nBuf-1)==0 ){ |
| 670 | 670 | if( errno==ERANGE ){ |
| 671 | 671 | fossil_fatal("pwd too big: max %d\n", nBuf-1); |
| 672 | 672 | }else{ |
| @@ -1012,11 +1012,11 @@ | ||
| 1012 | 1012 | |
| 1013 | 1013 | #if defined(_WIN32) |
| 1014 | 1014 | wchar_t zTmpPath[MAX_PATH]; |
| 1015 | 1015 | |
| 1016 | 1016 | if( GetTempPathW(MAX_PATH, zTmpPath) ){ |
| 1017 | - azDirs[0] = fossil_unicode_to_utf8(zTmpPath); | |
| 1017 | + azDirs[0] = fossil_filename_to_utf8(zTmpPath); | |
| 1018 | 1018 | } |
| 1019 | 1019 | |
| 1020 | 1020 | azDirs[1] = fossil_getenv("TEMP"); |
| 1021 | 1021 | azDirs[2] = fossil_getenv("TMP"); |
| 1022 | 1022 | #endif |
| @@ -1046,12 +1046,12 @@ | ||
| 1046 | 1046 | } |
| 1047 | 1047 | zBuf[j] = 0; |
| 1048 | 1048 | }while( file_size(zBuf)>=0 ); |
| 1049 | 1049 | |
| 1050 | 1050 | #if defined(_WIN32) |
| 1051 | - fossil_mbcs_free((char *)azDirs[1]); | |
| 1052 | - fossil_mbcs_free((char *)azDirs[2]); | |
| 1051 | + fossil_unicode_free((char *)azDirs[1]); | |
| 1052 | + fossil_unicode_free((char *)azDirs[2]); | |
| 1053 | 1053 | #endif |
| 1054 | 1054 | } |
| 1055 | 1055 | |
| 1056 | 1056 | |
| 1057 | 1057 | /* |
| @@ -1091,161 +1091,36 @@ | ||
| 1091 | 1091 | # define closedir _wclosedir |
| 1092 | 1092 | #endif /* _WIN32 */ |
| 1093 | 1093 | |
| 1094 | 1094 | #endif /* INTERFACE */ |
| 1095 | 1095 | |
| 1096 | - | |
| 1097 | - | |
| 1098 | -/************************************************************************** | |
| 1099 | -** The following routines translate between MBCS and UTF8 on windows. | |
| 1100 | -** Since everything is always UTF8 on unix, these routines are no-ops | |
| 1101 | -** there. | |
| 1102 | -*/ | |
| 1103 | - | |
| 1104 | -/* | |
| 1105 | -** Translate MBCS to UTF8. Return a pointer to the translated text. | |
| 1106 | -** Call fossil_mbcs_free() to deallocate any memory used to store the | |
| 1107 | -** returned pointer when done. | |
| 1108 | -*/ | |
| 1109 | -char *fossil_mbcs_to_utf8(const char *zMbcs){ | |
| 1110 | -#ifdef _WIN32 | |
| 1111 | - extern char *sqlite3_win32_mbcs_to_utf8(const char*); | |
| 1112 | - return sqlite3_win32_mbcs_to_utf8(zMbcs); | |
| 1113 | -#else | |
| 1114 | - return (char*)zMbcs; /* No-op on unix */ | |
| 1115 | -#endif | |
| 1116 | -} | |
| 1117 | - | |
| 1118 | -/* | |
| 1119 | -** Translate Unicode to UTF8. Return a pointer to the translated text. | |
| 1120 | -** Call fossil_mbcs_free() to deallocate any memory used to store the | |
| 1121 | -** returned pointer when done. | |
| 1122 | -*/ | |
| 1123 | -char *fossil_unicode_to_utf8(const void *zUnicode){ | |
| 1124 | -#ifdef _WIN32 | |
| 1125 | - int nByte = WideCharToMultiByte(CP_UTF8, 0, zUnicode, -1, 0, 0, 0, 0); | |
| 1126 | - char *zUtf = sqlite3_malloc( nByte ); | |
| 1127 | - if( zUtf==0 ){ | |
| 1128 | - return 0; | |
| 1129 | - } | |
| 1130 | - WideCharToMultiByte(CP_UTF8, 0, zUnicode, -1, zUtf, nByte, 0, 0); | |
| 1131 | - return zUtf; | |
| 1132 | -#else | |
| 1133 | - return (char *)zUnicode; /* No-op on unix */ | |
| 1134 | -#endif | |
| 1135 | -} | |
| 1136 | - | |
| 1137 | -/* | |
| 1138 | -** Translate UTF8 to MBCS for use in system calls. Return a pointer to the | |
| 1139 | -** translated text.. Call fossil_mbcs_free() to deallocate any memory | |
| 1140 | -** used to store the returned pointer when done. | |
| 1141 | -*/ | |
| 1142 | -char *fossil_utf8_to_mbcs(const char *zUtf8){ | |
| 1143 | -#ifdef _WIN32 | |
| 1144 | - extern char *sqlite3_win32_utf8_to_mbcs(const char*); | |
| 1145 | - return sqlite3_win32_utf8_to_mbcs(zUtf8); | |
| 1146 | -#else | |
| 1147 | - return (char*)zUtf8; /* No-op on unix */ | |
| 1148 | -#endif | |
| 1149 | -} | |
| 1150 | - | |
| 1151 | -/* | |
| 1152 | -** Translate UTF8 to unicode for use in system calls. Return a pointer to the | |
| 1153 | -** translated text.. Call fossil_mbcs_free() to deallocate any memory | |
| 1154 | -** used to store the returned pointer when done. | |
| 1155 | -*/ | |
| 1156 | -void *fossil_utf8_to_unicode(const char *zUtf8){ | |
| 1157 | -#ifdef _WIN32 | |
| 1158 | - int nByte = MultiByteToWideChar(CP_UTF8, 0, zUtf8, -1, 0, 0); | |
| 1159 | - wchar_t *zUnicode = sqlite3_malloc( nByte * 2 ); | |
| 1160 | - if( zUnicode==0 ){ | |
| 1161 | - return 0; | |
| 1162 | - } | |
| 1163 | - MultiByteToWideChar(CP_UTF8, 0, zUtf8, -1, zUnicode, nByte); | |
| 1164 | - return zUnicode; | |
| 1165 | -#else | |
| 1166 | - return (void *)zUtf8; /* No-op on unix */ | |
| 1167 | -#endif | |
| 1168 | -} | |
| 1169 | - | |
| 1170 | 1096 | /* |
| 1171 | 1097 | ** Return the value of an environment variable as UTF8. |
| 1098 | +** Use fossil_filename_free() to release resources. | |
| 1172 | 1099 | */ |
| 1173 | 1100 | char *fossil_getenv(const char *zName){ |
| 1174 | 1101 | #ifdef _WIN32 |
| 1175 | 1102 | wchar_t *uName = fossil_utf8_to_unicode(zName); |
| 1176 | 1103 | void *zValue = _wgetenv(uName); |
| 1177 | - fossil_mbcs_free(uName); | |
| 1178 | - if( zValue ) zValue = fossil_unicode_to_utf8(zValue); | |
| 1104 | + fossil_unicode_free(uName); | |
| 1179 | 1105 | #else |
| 1180 | 1106 | char *zValue = getenv(zName); |
| 1181 | 1107 | #endif |
| 1108 | + if( zValue ) zValue = fossil_filename_to_utf8(zValue); | |
| 1182 | 1109 | return zValue; |
| 1183 | 1110 | } |
| 1184 | 1111 | |
| 1185 | -/* | |
| 1186 | -** Display UTF8 on the console. Return the number of | |
| 1187 | -** Characters written. If stdout or stderr is redirected | |
| 1188 | -** to a file, -1 is returned and nothing is written | |
| 1189 | -** to the console. | |
| 1190 | -*/ | |
| 1191 | -int fossil_utf8_to_console(const char *zUtf8, int nByte, int toStdErr){ | |
| 1192 | -#ifdef _WIN32 | |
| 1193 | - int nChar; | |
| 1194 | - wchar_t *zUnicode; /* Unicode version of zUtf8 */ | |
| 1195 | - DWORD dummy; | |
| 1196 | - | |
| 1197 | - static int istty[2] = { -1, -1 }; | |
| 1198 | - if( istty[toStdErr] == -1 ){ | |
| 1199 | - istty[toStdErr] = _isatty(toStdErr + 1) != 0; | |
| 1200 | - } | |
| 1201 | - if( !istty[toStdErr] ){ | |
| 1202 | - /* stdout/stderr is not a console. */ | |
| 1203 | - return -1; | |
| 1204 | - } | |
| 1205 | - | |
| 1206 | - nChar = MultiByteToWideChar(CP_UTF8, 0, zUtf8, nByte, NULL, 0); | |
| 1207 | - zUnicode = malloc( (nChar + 1) *sizeof(zUnicode[0]) ); | |
| 1208 | - if( zUnicode==0 ){ | |
| 1209 | - return 0; | |
| 1210 | - } | |
| 1211 | - nChar = MultiByteToWideChar(CP_UTF8, 0, zUtf8, nByte, zUnicode, nChar); | |
| 1212 | - if( nChar==0 ){ | |
| 1213 | - free(zUnicode); | |
| 1214 | - return 0; | |
| 1215 | - } | |
| 1216 | - zUnicode[nChar] = '\0'; | |
| 1217 | - WriteConsoleW(GetStdHandle(STD_OUTPUT_HANDLE - toStdErr), zUnicode, nChar, &dummy, 0); | |
| 1218 | - return nChar; | |
| 1219 | -#else | |
| 1220 | - return -1; /* No-op on unix */ | |
| 1221 | -#endif | |
| 1222 | -} | |
| 1223 | - | |
| 1224 | -/* | |
| 1225 | -** Translate MBCS to UTF8. Return a pointer. Call fossil_mbcs_free() | |
| 1226 | -** to deallocate any memory used to store the returned pointer when done. | |
| 1227 | -*/ | |
| 1228 | -void fossil_mbcs_free(void *zOld){ | |
| 1229 | -#ifdef _WIN32 | |
| 1230 | - extern void sqlite3_free(void*); | |
| 1231 | - sqlite3_free(zOld); | |
| 1232 | -#else | |
| 1233 | - /* No-op on unix */ | |
| 1234 | -#endif | |
| 1235 | -} | |
| 1236 | - | |
| 1237 | 1112 | /* |
| 1238 | 1113 | ** Like fopen() but always takes a UTF8 argument. |
| 1239 | 1114 | */ |
| 1240 | 1115 | FILE *fossil_fopen(const char *zName, const char *zMode){ |
| 1241 | 1116 | #ifdef _WIN32 |
| 1242 | 1117 | wchar_t *uMode = fossil_utf8_to_unicode(zMode); |
| 1243 | 1118 | wchar_t *uName = fossil_utf8_to_unicode(zName); |
| 1244 | 1119 | FILE *f = _wfopen(uName, uMode); |
| 1245 | - fossil_mbcs_free(uName); | |
| 1246 | - fossil_mbcs_free(uMode); | |
| 1120 | + fossil_unicode_free(uName); | |
| 1121 | + fossil_unicode_free(uMode); | |
| 1247 | 1122 | #else |
| 1248 | 1123 | FILE *f = fopen(zName, zMode); |
| 1249 | 1124 | #endif |
| 1250 | 1125 | return f; |
| 1251 | 1126 | } |
| 1252 | 1127 |
| --- src/file.c | |
| +++ src/file.c | |
| @@ -75,11 +75,11 @@ | |
| 75 | } |
| 76 | #else |
| 77 | int rc = 0; |
| 78 | wchar_t *zMbcs = fossil_utf8_to_unicode(zFilename); |
| 79 | rc = _wstati64(zMbcs, buf); |
| 80 | fossil_mbcs_free(zMbcs); |
| 81 | return rc; |
| 82 | #endif |
| 83 | } |
| 84 | |
| 85 | /* |
| @@ -306,11 +306,11 @@ | |
| 306 | */ |
| 307 | int file_access(const char *zFilename, int flags){ |
| 308 | #ifdef _WIN32 |
| 309 | wchar_t *zMbcs = fossil_utf8_to_unicode(zFilename); |
| 310 | int rc = _waccess(zMbcs, flags); |
| 311 | fossil_mbcs_free(zMbcs); |
| 312 | #else |
| 313 | int rc = access(zFilename, flags); |
| 314 | #endif |
| 315 | return rc; |
| 316 | } |
| @@ -410,11 +410,11 @@ | |
| 410 | struct _utimbuf tb; |
| 411 | wchar_t *zMbcs = fossil_utf8_to_unicode(zFilename); |
| 412 | tb.actime = newMTime; |
| 413 | tb.modtime = newMTime; |
| 414 | _wutime(zMbcs, &tb); |
| 415 | fossil_mbcs_free(zMbcs); |
| 416 | #endif |
| 417 | } |
| 418 | |
| 419 | /* |
| 420 | ** COMMAND: test-set-mtime |
| @@ -444,11 +444,11 @@ | |
| 444 | */ |
| 445 | void file_delete(const char *zFilename){ |
| 446 | #ifdef _WIN32 |
| 447 | wchar_t *z = fossil_utf8_to_unicode(zFilename); |
| 448 | _wunlink(z); |
| 449 | fossil_mbcs_free(z); |
| 450 | #else |
| 451 | unlink(zFilename); |
| 452 | #endif |
| 453 | } |
| 454 | |
| @@ -468,11 +468,11 @@ | |
| 468 | if( rc!=1 ){ |
| 469 | #if defined(_WIN32) |
| 470 | int rc; |
| 471 | wchar_t *zMbcs = fossil_utf8_to_unicode(zName); |
| 472 | rc = _wmkdir(zMbcs); |
| 473 | fossil_mbcs_free(zMbcs); |
| 474 | return rc; |
| 475 | #else |
| 476 | return mkdir(zName, 0755); |
| 477 | #endif |
| 478 | } |
| @@ -655,18 +655,18 @@ | |
| 655 | int i; |
| 656 | wchar_t zPwd[2000]; |
| 657 | if( _wgetcwd(zPwd, sizeof(zPwd)/sizeof(zPwd[0])-1)==0 ){ |
| 658 | fossil_fatal("cannot find the current working directory."); |
| 659 | } |
| 660 | zPwdUtf8 = fossil_unicode_to_utf8(zPwd); |
| 661 | nPwd = strlen(zPwdUtf8); |
| 662 | if( nPwd > nBuf-1 ){ |
| 663 | fossil_fatal("pwd too big: max %d\n", nBuf-1); |
| 664 | } |
| 665 | for(i=0; zPwdUtf8[i]; i++) if( zPwdUtf8[i]=='\\' ) zPwdUtf8[i] = '/'; |
| 666 | memcpy(zBuf, zPwdUtf8, nPwd+1); |
| 667 | fossil_mbcs_free(zPwdUtf8); |
| 668 | #else |
| 669 | if( getcwd(zBuf, nBuf-1)==0 ){ |
| 670 | if( errno==ERANGE ){ |
| 671 | fossil_fatal("pwd too big: max %d\n", nBuf-1); |
| 672 | }else{ |
| @@ -1012,11 +1012,11 @@ | |
| 1012 | |
| 1013 | #if defined(_WIN32) |
| 1014 | wchar_t zTmpPath[MAX_PATH]; |
| 1015 | |
| 1016 | if( GetTempPathW(MAX_PATH, zTmpPath) ){ |
| 1017 | azDirs[0] = fossil_unicode_to_utf8(zTmpPath); |
| 1018 | } |
| 1019 | |
| 1020 | azDirs[1] = fossil_getenv("TEMP"); |
| 1021 | azDirs[2] = fossil_getenv("TMP"); |
| 1022 | #endif |
| @@ -1046,12 +1046,12 @@ | |
| 1046 | } |
| 1047 | zBuf[j] = 0; |
| 1048 | }while( file_size(zBuf)>=0 ); |
| 1049 | |
| 1050 | #if defined(_WIN32) |
| 1051 | fossil_mbcs_free((char *)azDirs[1]); |
| 1052 | fossil_mbcs_free((char *)azDirs[2]); |
| 1053 | #endif |
| 1054 | } |
| 1055 | |
| 1056 | |
| 1057 | /* |
| @@ -1091,161 +1091,36 @@ | |
| 1091 | # define closedir _wclosedir |
| 1092 | #endif /* _WIN32 */ |
| 1093 | |
| 1094 | #endif /* INTERFACE */ |
| 1095 | |
| 1096 | |
| 1097 | |
| 1098 | /************************************************************************** |
| 1099 | ** The following routines translate between MBCS and UTF8 on windows. |
| 1100 | ** Since everything is always UTF8 on unix, these routines are no-ops |
| 1101 | ** there. |
| 1102 | */ |
| 1103 | |
| 1104 | /* |
| 1105 | ** Translate MBCS to UTF8. Return a pointer to the translated text. |
| 1106 | ** Call fossil_mbcs_free() to deallocate any memory used to store the |
| 1107 | ** returned pointer when done. |
| 1108 | */ |
| 1109 | char *fossil_mbcs_to_utf8(const char *zMbcs){ |
| 1110 | #ifdef _WIN32 |
| 1111 | extern char *sqlite3_win32_mbcs_to_utf8(const char*); |
| 1112 | return sqlite3_win32_mbcs_to_utf8(zMbcs); |
| 1113 | #else |
| 1114 | return (char*)zMbcs; /* No-op on unix */ |
| 1115 | #endif |
| 1116 | } |
| 1117 | |
| 1118 | /* |
| 1119 | ** Translate Unicode to UTF8. Return a pointer to the translated text. |
| 1120 | ** Call fossil_mbcs_free() to deallocate any memory used to store the |
| 1121 | ** returned pointer when done. |
| 1122 | */ |
| 1123 | char *fossil_unicode_to_utf8(const void *zUnicode){ |
| 1124 | #ifdef _WIN32 |
| 1125 | int nByte = WideCharToMultiByte(CP_UTF8, 0, zUnicode, -1, 0, 0, 0, 0); |
| 1126 | char *zUtf = sqlite3_malloc( nByte ); |
| 1127 | if( zUtf==0 ){ |
| 1128 | return 0; |
| 1129 | } |
| 1130 | WideCharToMultiByte(CP_UTF8, 0, zUnicode, -1, zUtf, nByte, 0, 0); |
| 1131 | return zUtf; |
| 1132 | #else |
| 1133 | return (char *)zUnicode; /* No-op on unix */ |
| 1134 | #endif |
| 1135 | } |
| 1136 | |
| 1137 | /* |
| 1138 | ** Translate UTF8 to MBCS for use in system calls. Return a pointer to the |
| 1139 | ** translated text.. Call fossil_mbcs_free() to deallocate any memory |
| 1140 | ** used to store the returned pointer when done. |
| 1141 | */ |
| 1142 | char *fossil_utf8_to_mbcs(const char *zUtf8){ |
| 1143 | #ifdef _WIN32 |
| 1144 | extern char *sqlite3_win32_utf8_to_mbcs(const char*); |
| 1145 | return sqlite3_win32_utf8_to_mbcs(zUtf8); |
| 1146 | #else |
| 1147 | return (char*)zUtf8; /* No-op on unix */ |
| 1148 | #endif |
| 1149 | } |
| 1150 | |
| 1151 | /* |
| 1152 | ** Translate UTF8 to unicode for use in system calls. Return a pointer to the |
| 1153 | ** translated text.. Call fossil_mbcs_free() to deallocate any memory |
| 1154 | ** used to store the returned pointer when done. |
| 1155 | */ |
| 1156 | void *fossil_utf8_to_unicode(const char *zUtf8){ |
| 1157 | #ifdef _WIN32 |
| 1158 | int nByte = MultiByteToWideChar(CP_UTF8, 0, zUtf8, -1, 0, 0); |
| 1159 | wchar_t *zUnicode = sqlite3_malloc( nByte * 2 ); |
| 1160 | if( zUnicode==0 ){ |
| 1161 | return 0; |
| 1162 | } |
| 1163 | MultiByteToWideChar(CP_UTF8, 0, zUtf8, -1, zUnicode, nByte); |
| 1164 | return zUnicode; |
| 1165 | #else |
| 1166 | return (void *)zUtf8; /* No-op on unix */ |
| 1167 | #endif |
| 1168 | } |
| 1169 | |
| 1170 | /* |
| 1171 | ** Return the value of an environment variable as UTF8. |
| 1172 | */ |
| 1173 | char *fossil_getenv(const char *zName){ |
| 1174 | #ifdef _WIN32 |
| 1175 | wchar_t *uName = fossil_utf8_to_unicode(zName); |
| 1176 | void *zValue = _wgetenv(uName); |
| 1177 | fossil_mbcs_free(uName); |
| 1178 | if( zValue ) zValue = fossil_unicode_to_utf8(zValue); |
| 1179 | #else |
| 1180 | char *zValue = getenv(zName); |
| 1181 | #endif |
| 1182 | return zValue; |
| 1183 | } |
| 1184 | |
| 1185 | /* |
| 1186 | ** Display UTF8 on the console. Return the number of |
| 1187 | ** Characters written. If stdout or stderr is redirected |
| 1188 | ** to a file, -1 is returned and nothing is written |
| 1189 | ** to the console. |
| 1190 | */ |
| 1191 | int fossil_utf8_to_console(const char *zUtf8, int nByte, int toStdErr){ |
| 1192 | #ifdef _WIN32 |
| 1193 | int nChar; |
| 1194 | wchar_t *zUnicode; /* Unicode version of zUtf8 */ |
| 1195 | DWORD dummy; |
| 1196 | |
| 1197 | static int istty[2] = { -1, -1 }; |
| 1198 | if( istty[toStdErr] == -1 ){ |
| 1199 | istty[toStdErr] = _isatty(toStdErr + 1) != 0; |
| 1200 | } |
| 1201 | if( !istty[toStdErr] ){ |
| 1202 | /* stdout/stderr is not a console. */ |
| 1203 | return -1; |
| 1204 | } |
| 1205 | |
| 1206 | nChar = MultiByteToWideChar(CP_UTF8, 0, zUtf8, nByte, NULL, 0); |
| 1207 | zUnicode = malloc( (nChar + 1) *sizeof(zUnicode[0]) ); |
| 1208 | if( zUnicode==0 ){ |
| 1209 | return 0; |
| 1210 | } |
| 1211 | nChar = MultiByteToWideChar(CP_UTF8, 0, zUtf8, nByte, zUnicode, nChar); |
| 1212 | if( nChar==0 ){ |
| 1213 | free(zUnicode); |
| 1214 | return 0; |
| 1215 | } |
| 1216 | zUnicode[nChar] = '\0'; |
| 1217 | WriteConsoleW(GetStdHandle(STD_OUTPUT_HANDLE - toStdErr), zUnicode, nChar, &dummy, 0); |
| 1218 | return nChar; |
| 1219 | #else |
| 1220 | return -1; /* No-op on unix */ |
| 1221 | #endif |
| 1222 | } |
| 1223 | |
| 1224 | /* |
| 1225 | ** Translate MBCS to UTF8. Return a pointer. Call fossil_mbcs_free() |
| 1226 | ** to deallocate any memory used to store the returned pointer when done. |
| 1227 | */ |
| 1228 | void fossil_mbcs_free(void *zOld){ |
| 1229 | #ifdef _WIN32 |
| 1230 | extern void sqlite3_free(void*); |
| 1231 | sqlite3_free(zOld); |
| 1232 | #else |
| 1233 | /* No-op on unix */ |
| 1234 | #endif |
| 1235 | } |
| 1236 | |
| 1237 | /* |
| 1238 | ** Like fopen() but always takes a UTF8 argument. |
| 1239 | */ |
| 1240 | FILE *fossil_fopen(const char *zName, const char *zMode){ |
| 1241 | #ifdef _WIN32 |
| 1242 | wchar_t *uMode = fossil_utf8_to_unicode(zMode); |
| 1243 | wchar_t *uName = fossil_utf8_to_unicode(zName); |
| 1244 | FILE *f = _wfopen(uName, uMode); |
| 1245 | fossil_mbcs_free(uName); |
| 1246 | fossil_mbcs_free(uMode); |
| 1247 | #else |
| 1248 | FILE *f = fopen(zName, zMode); |
| 1249 | #endif |
| 1250 | return f; |
| 1251 | } |
| 1252 |
| --- src/file.c | |
| +++ src/file.c | |
| @@ -75,11 +75,11 @@ | |
| 75 | } |
| 76 | #else |
| 77 | int rc = 0; |
| 78 | wchar_t *zMbcs = fossil_utf8_to_unicode(zFilename); |
| 79 | rc = _wstati64(zMbcs, buf); |
| 80 | fossil_unicode_free(zMbcs); |
| 81 | return rc; |
| 82 | #endif |
| 83 | } |
| 84 | |
| 85 | /* |
| @@ -306,11 +306,11 @@ | |
| 306 | */ |
| 307 | int file_access(const char *zFilename, int flags){ |
| 308 | #ifdef _WIN32 |
| 309 | wchar_t *zMbcs = fossil_utf8_to_unicode(zFilename); |
| 310 | int rc = _waccess(zMbcs, flags); |
| 311 | fossil_unicode_free(zMbcs); |
| 312 | #else |
| 313 | int rc = access(zFilename, flags); |
| 314 | #endif |
| 315 | return rc; |
| 316 | } |
| @@ -410,11 +410,11 @@ | |
| 410 | struct _utimbuf tb; |
| 411 | wchar_t *zMbcs = fossil_utf8_to_unicode(zFilename); |
| 412 | tb.actime = newMTime; |
| 413 | tb.modtime = newMTime; |
| 414 | _wutime(zMbcs, &tb); |
| 415 | fossil_unicode_free(zMbcs); |
| 416 | #endif |
| 417 | } |
| 418 | |
| 419 | /* |
| 420 | ** COMMAND: test-set-mtime |
| @@ -444,11 +444,11 @@ | |
| 444 | */ |
| 445 | void file_delete(const char *zFilename){ |
| 446 | #ifdef _WIN32 |
| 447 | wchar_t *z = fossil_utf8_to_unicode(zFilename); |
| 448 | _wunlink(z); |
| 449 | fossil_unicode_free(z); |
| 450 | #else |
| 451 | unlink(zFilename); |
| 452 | #endif |
| 453 | } |
| 454 | |
| @@ -468,11 +468,11 @@ | |
| 468 | if( rc!=1 ){ |
| 469 | #if defined(_WIN32) |
| 470 | int rc; |
| 471 | wchar_t *zMbcs = fossil_utf8_to_unicode(zName); |
| 472 | rc = _wmkdir(zMbcs); |
| 473 | fossil_unicode_free(zMbcs); |
| 474 | return rc; |
| 475 | #else |
| 476 | return mkdir(zName, 0755); |
| 477 | #endif |
| 478 | } |
| @@ -655,18 +655,18 @@ | |
| 655 | int i; |
| 656 | wchar_t zPwd[2000]; |
| 657 | if( _wgetcwd(zPwd, sizeof(zPwd)/sizeof(zPwd[0])-1)==0 ){ |
| 658 | fossil_fatal("cannot find the current working directory."); |
| 659 | } |
| 660 | zPwdUtf8 = fossil_filename_to_utf8(zPwd); |
| 661 | nPwd = strlen(zPwdUtf8); |
| 662 | if( nPwd > nBuf-1 ){ |
| 663 | fossil_fatal("pwd too big: max %d\n", nBuf-1); |
| 664 | } |
| 665 | for(i=0; zPwdUtf8[i]; i++) if( zPwdUtf8[i]=='\\' ) zPwdUtf8[i] = '/'; |
| 666 | memcpy(zBuf, zPwdUtf8, nPwd+1); |
| 667 | fossil_filename_free(zPwdUtf8); |
| 668 | #else |
| 669 | if( getcwd(zBuf, nBuf-1)==0 ){ |
| 670 | if( errno==ERANGE ){ |
| 671 | fossil_fatal("pwd too big: max %d\n", nBuf-1); |
| 672 | }else{ |
| @@ -1012,11 +1012,11 @@ | |
| 1012 | |
| 1013 | #if defined(_WIN32) |
| 1014 | wchar_t zTmpPath[MAX_PATH]; |
| 1015 | |
| 1016 | if( GetTempPathW(MAX_PATH, zTmpPath) ){ |
| 1017 | azDirs[0] = fossil_filename_to_utf8(zTmpPath); |
| 1018 | } |
| 1019 | |
| 1020 | azDirs[1] = fossil_getenv("TEMP"); |
| 1021 | azDirs[2] = fossil_getenv("TMP"); |
| 1022 | #endif |
| @@ -1046,12 +1046,12 @@ | |
| 1046 | } |
| 1047 | zBuf[j] = 0; |
| 1048 | }while( file_size(zBuf)>=0 ); |
| 1049 | |
| 1050 | #if defined(_WIN32) |
| 1051 | fossil_unicode_free((char *)azDirs[1]); |
| 1052 | fossil_unicode_free((char *)azDirs[2]); |
| 1053 | #endif |
| 1054 | } |
| 1055 | |
| 1056 | |
| 1057 | /* |
| @@ -1091,161 +1091,36 @@ | |
| 1091 | # define closedir _wclosedir |
| 1092 | #endif /* _WIN32 */ |
| 1093 | |
| 1094 | #endif /* INTERFACE */ |
| 1095 | |
| 1096 | /* |
| 1097 | ** Return the value of an environment variable as UTF8. |
| 1098 | ** Use fossil_filename_free() to release resources. |
| 1099 | */ |
| 1100 | char *fossil_getenv(const char *zName){ |
| 1101 | #ifdef _WIN32 |
| 1102 | wchar_t *uName = fossil_utf8_to_unicode(zName); |
| 1103 | void *zValue = _wgetenv(uName); |
| 1104 | fossil_unicode_free(uName); |
| 1105 | #else |
| 1106 | char *zValue = getenv(zName); |
| 1107 | #endif |
| 1108 | if( zValue ) zValue = fossil_filename_to_utf8(zValue); |
| 1109 | return zValue; |
| 1110 | } |
| 1111 | |
| 1112 | /* |
| 1113 | ** Like fopen() but always takes a UTF8 argument. |
| 1114 | */ |
| 1115 | FILE *fossil_fopen(const char *zName, const char *zMode){ |
| 1116 | #ifdef _WIN32 |
| 1117 | wchar_t *uMode = fossil_utf8_to_unicode(zMode); |
| 1118 | wchar_t *uName = fossil_utf8_to_unicode(zName); |
| 1119 | FILE *f = _wfopen(uName, uMode); |
| 1120 | fossil_unicode_free(uName); |
| 1121 | fossil_unicode_free(uMode); |
| 1122 | #else |
| 1123 | FILE *f = fopen(zName, zMode); |
| 1124 | #endif |
| 1125 | return f; |
| 1126 | } |
| 1127 |
+23
-6
| --- src/main.c | ||
| +++ src/main.c | ||
| @@ -491,15 +491,15 @@ | ||
| 491 | 491 | g.argc = argc; |
| 492 | 492 | g.argv = argv; |
| 493 | 493 | #if defined(_WIN32) && !defined(__MINGW32__) |
| 494 | 494 | parse_windows_command_line(&g.argc, &g.argv); |
| 495 | 495 | GetModuleFileNameW(NULL, buf, MAX_PATH); |
| 496 | - g.nameOfExe = fossil_unicode_to_utf8(buf); | |
| 497 | - for(i=0; i<g.argc; i++) g.argv[i] = fossil_unicode_to_utf8(g.argv[i]); | |
| 496 | + g.nameOfExe = fossil_filename_to_utf8(buf); | |
| 498 | 497 | #else |
| 499 | 498 | g.nameOfExe = g.argv[0]; |
| 500 | 499 | #endif |
| 500 | + for(i=0; i<g.argc; i++) g.argv[i] = fossil_filename_to_utf8(g.argv[i]); | |
| 501 | 501 | for(i=1; i<g.argc-1; i++){ |
| 502 | 502 | z = g.argv[i]; |
| 503 | 503 | if( z[0]!='-' ) continue; |
| 504 | 504 | z++; |
| 505 | 505 | if( z[0]=='-' ) z++; |
| @@ -858,11 +858,11 @@ | ||
| 858 | 858 | char *zOut = mprintf("SYSTEM: %s\n", zNewCmd); |
| 859 | 859 | fossil_puts(zOut, 1); |
| 860 | 860 | fossil_free(zOut); |
| 861 | 861 | } |
| 862 | 862 | rc = _wsystem(zUnicode); |
| 863 | - fossil_mbcs_free(zUnicode); | |
| 863 | + fossil_unicode_free(zUnicode); | |
| 864 | 864 | free(zNewCmd); |
| 865 | 865 | #else |
| 866 | 866 | /* On unix, evaluate the command directly. |
| 867 | 867 | */ |
| 868 | 868 | if( g.fSystemTrace ) fprintf(stderr, "SYSTEM: %s\n", zOrigCmd); |
| @@ -2022,15 +2022,32 @@ | ||
| 2022 | 2022 | #endif |
| 2023 | 2023 | } |
| 2024 | 2024 | |
| 2025 | 2025 | /* |
| 2026 | 2026 | ** COMMAND: test-echo |
| 2027 | +** | |
| 2028 | +** Usage: %fossil test-echo [--hex] ARGS... | |
| 2027 | 2029 | ** |
| 2028 | 2030 | ** Echo all command-line arguments (enclosed in [...]) to the screen so that |
| 2029 | 2031 | ** wildcard expansion behavior of the host shell can be investigated. |
| 2032 | +** | |
| 2033 | +** With the --hex option, show the output as hexadecimal. This can be used | |
| 2034 | +** to verify the fossil_filename_to_utf8() routine on Windows and Mac. | |
| 2030 | 2035 | */ |
| 2031 | 2036 | void test_echo_cmd(void){ |
| 2032 | - int i; | |
| 2033 | - for(i=0; i<g.argc; i++){ | |
| 2034 | - fossil_print("argv[%d] = [%s]\n", i, g.argv[i]); | |
| 2037 | + int i, j; | |
| 2038 | + if( find_option("hex",0,0)==0 ){ | |
| 2039 | + for(i=0; i<g.argc; i++){ | |
| 2040 | + fossil_print("argv[%d] = [%s]\n", i, g.argv[i]); | |
| 2041 | + } | |
| 2042 | + }else{ | |
| 2043 | + unsigned char *z, c; | |
| 2044 | + for(i=0; i<g.argc; i++){ | |
| 2045 | + fossil_print("argv[%d] = [", i); | |
| 2046 | + z = (unsigned char*)g.argv[i]; | |
| 2047 | + for(j=0; (c = z[j])!=0; j++){ | |
| 2048 | + fossil_print("%02x", c); | |
| 2049 | + } | |
| 2050 | + fossil_print("]\n"); | |
| 2051 | + } | |
| 2035 | 2052 | } |
| 2036 | 2053 | } |
| 2037 | 2054 |
| --- src/main.c | |
| +++ src/main.c | |
| @@ -491,15 +491,15 @@ | |
| 491 | g.argc = argc; |
| 492 | g.argv = argv; |
| 493 | #if defined(_WIN32) && !defined(__MINGW32__) |
| 494 | parse_windows_command_line(&g.argc, &g.argv); |
| 495 | GetModuleFileNameW(NULL, buf, MAX_PATH); |
| 496 | g.nameOfExe = fossil_unicode_to_utf8(buf); |
| 497 | for(i=0; i<g.argc; i++) g.argv[i] = fossil_unicode_to_utf8(g.argv[i]); |
| 498 | #else |
| 499 | g.nameOfExe = g.argv[0]; |
| 500 | #endif |
| 501 | for(i=1; i<g.argc-1; i++){ |
| 502 | z = g.argv[i]; |
| 503 | if( z[0]!='-' ) continue; |
| 504 | z++; |
| 505 | if( z[0]=='-' ) z++; |
| @@ -858,11 +858,11 @@ | |
| 858 | char *zOut = mprintf("SYSTEM: %s\n", zNewCmd); |
| 859 | fossil_puts(zOut, 1); |
| 860 | fossil_free(zOut); |
| 861 | } |
| 862 | rc = _wsystem(zUnicode); |
| 863 | fossil_mbcs_free(zUnicode); |
| 864 | free(zNewCmd); |
| 865 | #else |
| 866 | /* On unix, evaluate the command directly. |
| 867 | */ |
| 868 | if( g.fSystemTrace ) fprintf(stderr, "SYSTEM: %s\n", zOrigCmd); |
| @@ -2022,15 +2022,32 @@ | |
| 2022 | #endif |
| 2023 | } |
| 2024 | |
| 2025 | /* |
| 2026 | ** COMMAND: test-echo |
| 2027 | ** |
| 2028 | ** Echo all command-line arguments (enclosed in [...]) to the screen so that |
| 2029 | ** wildcard expansion behavior of the host shell can be investigated. |
| 2030 | */ |
| 2031 | void test_echo_cmd(void){ |
| 2032 | int i; |
| 2033 | for(i=0; i<g.argc; i++){ |
| 2034 | fossil_print("argv[%d] = [%s]\n", i, g.argv[i]); |
| 2035 | } |
| 2036 | } |
| 2037 |
| --- src/main.c | |
| +++ src/main.c | |
| @@ -491,15 +491,15 @@ | |
| 491 | g.argc = argc; |
| 492 | g.argv = argv; |
| 493 | #if defined(_WIN32) && !defined(__MINGW32__) |
| 494 | parse_windows_command_line(&g.argc, &g.argv); |
| 495 | GetModuleFileNameW(NULL, buf, MAX_PATH); |
| 496 | g.nameOfExe = fossil_filename_to_utf8(buf); |
| 497 | #else |
| 498 | g.nameOfExe = g.argv[0]; |
| 499 | #endif |
| 500 | for(i=0; i<g.argc; i++) g.argv[i] = fossil_filename_to_utf8(g.argv[i]); |
| 501 | for(i=1; i<g.argc-1; i++){ |
| 502 | z = g.argv[i]; |
| 503 | if( z[0]!='-' ) continue; |
| 504 | z++; |
| 505 | if( z[0]=='-' ) z++; |
| @@ -858,11 +858,11 @@ | |
| 858 | char *zOut = mprintf("SYSTEM: %s\n", zNewCmd); |
| 859 | fossil_puts(zOut, 1); |
| 860 | fossil_free(zOut); |
| 861 | } |
| 862 | rc = _wsystem(zUnicode); |
| 863 | fossil_unicode_free(zUnicode); |
| 864 | free(zNewCmd); |
| 865 | #else |
| 866 | /* On unix, evaluate the command directly. |
| 867 | */ |
| 868 | if( g.fSystemTrace ) fprintf(stderr, "SYSTEM: %s\n", zOrigCmd); |
| @@ -2022,15 +2022,32 @@ | |
| 2022 | #endif |
| 2023 | } |
| 2024 | |
| 2025 | /* |
| 2026 | ** COMMAND: test-echo |
| 2027 | ** |
| 2028 | ** Usage: %fossil test-echo [--hex] ARGS... |
| 2029 | ** |
| 2030 | ** Echo all command-line arguments (enclosed in [...]) to the screen so that |
| 2031 | ** wildcard expansion behavior of the host shell can be investigated. |
| 2032 | ** |
| 2033 | ** With the --hex option, show the output as hexadecimal. This can be used |
| 2034 | ** to verify the fossil_filename_to_utf8() routine on Windows and Mac. |
| 2035 | */ |
| 2036 | void test_echo_cmd(void){ |
| 2037 | int i, j; |
| 2038 | if( find_option("hex",0,0)==0 ){ |
| 2039 | for(i=0; i<g.argc; i++){ |
| 2040 | fossil_print("argv[%d] = [%s]\n", i, g.argv[i]); |
| 2041 | } |
| 2042 | }else{ |
| 2043 | unsigned char *z, c; |
| 2044 | for(i=0; i<g.argc; i++){ |
| 2045 | fossil_print("argv[%d] = [", i); |
| 2046 | z = (unsigned char*)g.argv[i]; |
| 2047 | for(j=0; (c = z[j])!=0; j++){ |
| 2048 | fossil_print("%02x", c); |
| 2049 | } |
| 2050 | fossil_print("]\n"); |
| 2051 | } |
| 2052 | } |
| 2053 | } |
| 2054 |
+11
-1
| --- src/main.mk | ||
| +++ src/main.mk | ||
| @@ -102,10 +102,11 @@ | ||
| 102 | 102 | $(SRCDIR)/tktsetup.c \ |
| 103 | 103 | $(SRCDIR)/undo.c \ |
| 104 | 104 | $(SRCDIR)/update.c \ |
| 105 | 105 | $(SRCDIR)/url.c \ |
| 106 | 106 | $(SRCDIR)/user.c \ |
| 107 | + $(SRCDIR)/utf8.c \ | |
| 107 | 108 | $(SRCDIR)/verify.c \ |
| 108 | 109 | $(SRCDIR)/vfile.c \ |
| 109 | 110 | $(SRCDIR)/wiki.c \ |
| 110 | 111 | $(SRCDIR)/wikiformat.c \ |
| 111 | 112 | $(SRCDIR)/winhttp.c \ |
| @@ -203,10 +204,11 @@ | ||
| 203 | 204 | $(OBJDIR)/tktsetup_.c \ |
| 204 | 205 | $(OBJDIR)/undo_.c \ |
| 205 | 206 | $(OBJDIR)/update_.c \ |
| 206 | 207 | $(OBJDIR)/url_.c \ |
| 207 | 208 | $(OBJDIR)/user_.c \ |
| 209 | + $(OBJDIR)/utf8_.c \ | |
| 208 | 210 | $(OBJDIR)/verify_.c \ |
| 209 | 211 | $(OBJDIR)/vfile_.c \ |
| 210 | 212 | $(OBJDIR)/wiki_.c \ |
| 211 | 213 | $(OBJDIR)/wikiformat_.c \ |
| 212 | 214 | $(OBJDIR)/winhttp_.c \ |
| @@ -304,10 +306,11 @@ | ||
| 304 | 306 | $(OBJDIR)/tktsetup.o \ |
| 305 | 307 | $(OBJDIR)/undo.o \ |
| 306 | 308 | $(OBJDIR)/update.o \ |
| 307 | 309 | $(OBJDIR)/url.o \ |
| 308 | 310 | $(OBJDIR)/user.o \ |
| 311 | + $(OBJDIR)/utf8.o \ | |
| 309 | 312 | $(OBJDIR)/verify.o \ |
| 310 | 313 | $(OBJDIR)/vfile.o \ |
| 311 | 314 | $(OBJDIR)/wiki.o \ |
| 312 | 315 | $(OBJDIR)/wikiformat.o \ |
| 313 | 316 | $(OBJDIR)/winhttp.o \ |
| @@ -381,11 +384,11 @@ | ||
| 381 | 384 | |
| 382 | 385 | |
| 383 | 386 | $(OBJDIR)/page_index.h: $(TRANS_SRC) $(OBJDIR)/mkindex |
| 384 | 387 | $(OBJDIR)/mkindex $(TRANS_SRC) >$@ |
| 385 | 388 | $(OBJDIR)/headers: $(OBJDIR)/page_index.h $(OBJDIR)/makeheaders $(OBJDIR)/VERSION.h |
| 386 | - $(OBJDIR)/makeheaders $(OBJDIR)/add_.c:$(OBJDIR)/add.h $(OBJDIR)/allrepo_.c:$(OBJDIR)/allrepo.h $(OBJDIR)/attach_.c:$(OBJDIR)/attach.h $(OBJDIR)/bag_.c:$(OBJDIR)/bag.h $(OBJDIR)/bisect_.c:$(OBJDIR)/bisect.h $(OBJDIR)/blob_.c:$(OBJDIR)/blob.h $(OBJDIR)/branch_.c:$(OBJDIR)/branch.h $(OBJDIR)/browse_.c:$(OBJDIR)/browse.h $(OBJDIR)/captcha_.c:$(OBJDIR)/captcha.h $(OBJDIR)/cgi_.c:$(OBJDIR)/cgi.h $(OBJDIR)/checkin_.c:$(OBJDIR)/checkin.h $(OBJDIR)/checkout_.c:$(OBJDIR)/checkout.h $(OBJDIR)/clearsign_.c:$(OBJDIR)/clearsign.h $(OBJDIR)/clone_.c:$(OBJDIR)/clone.h $(OBJDIR)/comformat_.c:$(OBJDIR)/comformat.h $(OBJDIR)/configure_.c:$(OBJDIR)/configure.h $(OBJDIR)/content_.c:$(OBJDIR)/content.h $(OBJDIR)/db_.c:$(OBJDIR)/db.h $(OBJDIR)/delta_.c:$(OBJDIR)/delta.h $(OBJDIR)/deltacmd_.c:$(OBJDIR)/deltacmd.h $(OBJDIR)/descendants_.c:$(OBJDIR)/descendants.h $(OBJDIR)/diff_.c:$(OBJDIR)/diff.h $(OBJDIR)/diffcmd_.c:$(OBJDIR)/diffcmd.h $(OBJDIR)/doc_.c:$(OBJDIR)/doc.h $(OBJDIR)/encode_.c:$(OBJDIR)/encode.h $(OBJDIR)/event_.c:$(OBJDIR)/event.h $(OBJDIR)/export_.c:$(OBJDIR)/export.h $(OBJDIR)/file_.c:$(OBJDIR)/file.h $(OBJDIR)/finfo_.c:$(OBJDIR)/finfo.h $(OBJDIR)/glob_.c:$(OBJDIR)/glob.h $(OBJDIR)/graph_.c:$(OBJDIR)/graph.h $(OBJDIR)/gzip_.c:$(OBJDIR)/gzip.h $(OBJDIR)/http_.c:$(OBJDIR)/http.h $(OBJDIR)/http_socket_.c:$(OBJDIR)/http_socket.h $(OBJDIR)/http_ssl_.c:$(OBJDIR)/http_ssl.h $(OBJDIR)/http_transport_.c:$(OBJDIR)/http_transport.h $(OBJDIR)/import_.c:$(OBJDIR)/import.h $(OBJDIR)/info_.c:$(OBJDIR)/info.h $(OBJDIR)/json_.c:$(OBJDIR)/json.h $(OBJDIR)/json_artifact_.c:$(OBJDIR)/json_artifact.h $(OBJDIR)/json_branch_.c:$(OBJDIR)/json_branch.h $(OBJDIR)/json_config_.c:$(OBJDIR)/json_config.h $(OBJDIR)/json_diff_.c:$(OBJDIR)/json_diff.h $(OBJDIR)/json_dir_.c:$(OBJDIR)/json_dir.h $(OBJDIR)/json_finfo_.c:$(OBJDIR)/json_finfo.h $(OBJDIR)/json_login_.c:$(OBJDIR)/json_login.h $(OBJDIR)/json_query_.c:$(OBJDIR)/json_query.h $(OBJDIR)/json_report_.c:$(OBJDIR)/json_report.h $(OBJDIR)/json_tag_.c:$(OBJDIR)/json_tag.h $(OBJDIR)/json_timeline_.c:$(OBJDIR)/json_timeline.h $(OBJDIR)/json_user_.c:$(OBJDIR)/json_user.h $(OBJDIR)/json_wiki_.c:$(OBJDIR)/json_wiki.h $(OBJDIR)/leaf_.c:$(OBJDIR)/leaf.h $(OBJDIR)/login_.c:$(OBJDIR)/login.h $(OBJDIR)/main_.c:$(OBJDIR)/main.h $(OBJDIR)/manifest_.c:$(OBJDIR)/manifest.h $(OBJDIR)/md5_.c:$(OBJDIR)/md5.h $(OBJDIR)/merge_.c:$(OBJDIR)/merge.h $(OBJDIR)/merge3_.c:$(OBJDIR)/merge3.h $(OBJDIR)/moderate_.c:$(OBJDIR)/moderate.h $(OBJDIR)/name_.c:$(OBJDIR)/name.h $(OBJDIR)/path_.c:$(OBJDIR)/path.h $(OBJDIR)/pivot_.c:$(OBJDIR)/pivot.h $(OBJDIR)/popen_.c:$(OBJDIR)/popen.h $(OBJDIR)/pqueue_.c:$(OBJDIR)/pqueue.h $(OBJDIR)/printf_.c:$(OBJDIR)/printf.h $(OBJDIR)/rebuild_.c:$(OBJDIR)/rebuild.h $(OBJDIR)/report_.c:$(OBJDIR)/report.h $(OBJDIR)/rss_.c:$(OBJDIR)/rss.h $(OBJDIR)/schema_.c:$(OBJDIR)/schema.h $(OBJDIR)/search_.c:$(OBJDIR)/search.h $(OBJDIR)/setup_.c:$(OBJDIR)/setup.h $(OBJDIR)/sha1_.c:$(OBJDIR)/sha1.h $(OBJDIR)/shun_.c:$(OBJDIR)/shun.h $(OBJDIR)/skins_.c:$(OBJDIR)/skins.h $(OBJDIR)/sqlcmd_.c:$(OBJDIR)/sqlcmd.h $(OBJDIR)/stash_.c:$(OBJDIR)/stash.h $(OBJDIR)/stat_.c:$(OBJDIR)/stat.h $(OBJDIR)/style_.c:$(OBJDIR)/style.h $(OBJDIR)/sync_.c:$(OBJDIR)/sync.h $(OBJDIR)/tag_.c:$(OBJDIR)/tag.h $(OBJDIR)/tar_.c:$(OBJDIR)/tar.h $(OBJDIR)/th_main_.c:$(OBJDIR)/th_main.h $(OBJDIR)/timeline_.c:$(OBJDIR)/timeline.h $(OBJDIR)/tkt_.c:$(OBJDIR)/tkt.h $(OBJDIR)/tktsetup_.c:$(OBJDIR)/tktsetup.h $(OBJDIR)/undo_.c:$(OBJDIR)/undo.h $(OBJDIR)/update_.c:$(OBJDIR)/update.h $(OBJDIR)/url_.c:$(OBJDIR)/url.h $(OBJDIR)/user_.c:$(OBJDIR)/user.h $(OBJDIR)/verify_.c:$(OBJDIR)/verify.h $(OBJDIR)/vfile_.c:$(OBJDIR)/vfile.h $(OBJDIR)/wiki_.c:$(OBJDIR)/wiki.h $(OBJDIR)/wikiformat_.c:$(OBJDIR)/wikiformat.h $(OBJDIR)/winhttp_.c:$(OBJDIR)/winhttp.h $(OBJDIR)/wysiwyg_.c:$(OBJDIR)/wysiwyg.h $(OBJDIR)/xfer_.c:$(OBJDIR)/xfer.h $(OBJDIR)/xfersetup_.c:$(OBJDIR)/xfersetup.h $(OBJDIR)/zip_.c:$(OBJDIR)/zip.h $(SRCDIR)/sqlite3.h $(SRCDIR)/th.h $(OBJDIR)/VERSION.h | |
| 389 | + $(OBJDIR)/makeheaders $(OBJDIR)/add_.c:$(OBJDIR)/add.h $(OBJDIR)/allrepo_.c:$(OBJDIR)/allrepo.h $(OBJDIR)/attach_.c:$(OBJDIR)/attach.h $(OBJDIR)/bag_.c:$(OBJDIR)/bag.h $(OBJDIR)/bisect_.c:$(OBJDIR)/bisect.h $(OBJDIR)/blob_.c:$(OBJDIR)/blob.h $(OBJDIR)/branch_.c:$(OBJDIR)/branch.h $(OBJDIR)/browse_.c:$(OBJDIR)/browse.h $(OBJDIR)/captcha_.c:$(OBJDIR)/captcha.h $(OBJDIR)/cgi_.c:$(OBJDIR)/cgi.h $(OBJDIR)/checkin_.c:$(OBJDIR)/checkin.h $(OBJDIR)/checkout_.c:$(OBJDIR)/checkout.h $(OBJDIR)/clearsign_.c:$(OBJDIR)/clearsign.h $(OBJDIR)/clone_.c:$(OBJDIR)/clone.h $(OBJDIR)/comformat_.c:$(OBJDIR)/comformat.h $(OBJDIR)/configure_.c:$(OBJDIR)/configure.h $(OBJDIR)/content_.c:$(OBJDIR)/content.h $(OBJDIR)/db_.c:$(OBJDIR)/db.h $(OBJDIR)/delta_.c:$(OBJDIR)/delta.h $(OBJDIR)/deltacmd_.c:$(OBJDIR)/deltacmd.h $(OBJDIR)/descendants_.c:$(OBJDIR)/descendants.h $(OBJDIR)/diff_.c:$(OBJDIR)/diff.h $(OBJDIR)/diffcmd_.c:$(OBJDIR)/diffcmd.h $(OBJDIR)/doc_.c:$(OBJDIR)/doc.h $(OBJDIR)/encode_.c:$(OBJDIR)/encode.h $(OBJDIR)/event_.c:$(OBJDIR)/event.h $(OBJDIR)/export_.c:$(OBJDIR)/export.h $(OBJDIR)/file_.c:$(OBJDIR)/file.h $(OBJDIR)/finfo_.c:$(OBJDIR)/finfo.h $(OBJDIR)/glob_.c:$(OBJDIR)/glob.h $(OBJDIR)/graph_.c:$(OBJDIR)/graph.h $(OBJDIR)/gzip_.c:$(OBJDIR)/gzip.h $(OBJDIR)/http_.c:$(OBJDIR)/http.h $(OBJDIR)/http_socket_.c:$(OBJDIR)/http_socket.h $(OBJDIR)/http_ssl_.c:$(OBJDIR)/http_ssl.h $(OBJDIR)/http_transport_.c:$(OBJDIR)/http_transport.h $(OBJDIR)/import_.c:$(OBJDIR)/import.h $(OBJDIR)/info_.c:$(OBJDIR)/info.h $(OBJDIR)/json_.c:$(OBJDIR)/json.h $(OBJDIR)/json_artifact_.c:$(OBJDIR)/json_artifact.h $(OBJDIR)/json_branch_.c:$(OBJDIR)/json_branch.h $(OBJDIR)/json_config_.c:$(OBJDIR)/json_config.h $(OBJDIR)/json_diff_.c:$(OBJDIR)/json_diff.h $(OBJDIR)/json_dir_.c:$(OBJDIR)/json_dir.h $(OBJDIR)/json_finfo_.c:$(OBJDIR)/json_finfo.h $(OBJDIR)/json_login_.c:$(OBJDIR)/json_login.h $(OBJDIR)/json_query_.c:$(OBJDIR)/json_query.h $(OBJDIR)/json_report_.c:$(OBJDIR)/json_report.h $(OBJDIR)/json_tag_.c:$(OBJDIR)/json_tag.h $(OBJDIR)/json_timeline_.c:$(OBJDIR)/json_timeline.h $(OBJDIR)/json_user_.c:$(OBJDIR)/json_user.h $(OBJDIR)/json_wiki_.c:$(OBJDIR)/json_wiki.h $(OBJDIR)/leaf_.c:$(OBJDIR)/leaf.h $(OBJDIR)/login_.c:$(OBJDIR)/login.h $(OBJDIR)/main_.c:$(OBJDIR)/main.h $(OBJDIR)/manifest_.c:$(OBJDIR)/manifest.h $(OBJDIR)/md5_.c:$(OBJDIR)/md5.h $(OBJDIR)/merge_.c:$(OBJDIR)/merge.h $(OBJDIR)/merge3_.c:$(OBJDIR)/merge3.h $(OBJDIR)/moderate_.c:$(OBJDIR)/moderate.h $(OBJDIR)/name_.c:$(OBJDIR)/name.h $(OBJDIR)/path_.c:$(OBJDIR)/path.h $(OBJDIR)/pivot_.c:$(OBJDIR)/pivot.h $(OBJDIR)/popen_.c:$(OBJDIR)/popen.h $(OBJDIR)/pqueue_.c:$(OBJDIR)/pqueue.h $(OBJDIR)/printf_.c:$(OBJDIR)/printf.h $(OBJDIR)/rebuild_.c:$(OBJDIR)/rebuild.h $(OBJDIR)/report_.c:$(OBJDIR)/report.h $(OBJDIR)/rss_.c:$(OBJDIR)/rss.h $(OBJDIR)/schema_.c:$(OBJDIR)/schema.h $(OBJDIR)/search_.c:$(OBJDIR)/search.h $(OBJDIR)/setup_.c:$(OBJDIR)/setup.h $(OBJDIR)/sha1_.c:$(OBJDIR)/sha1.h $(OBJDIR)/shun_.c:$(OBJDIR)/shun.h $(OBJDIR)/skins_.c:$(OBJDIR)/skins.h $(OBJDIR)/sqlcmd_.c:$(OBJDIR)/sqlcmd.h $(OBJDIR)/stash_.c:$(OBJDIR)/stash.h $(OBJDIR)/stat_.c:$(OBJDIR)/stat.h $(OBJDIR)/style_.c:$(OBJDIR)/style.h $(OBJDIR)/sync_.c:$(OBJDIR)/sync.h $(OBJDIR)/tag_.c:$(OBJDIR)/tag.h $(OBJDIR)/tar_.c:$(OBJDIR)/tar.h $(OBJDIR)/th_main_.c:$(OBJDIR)/th_main.h $(OBJDIR)/timeline_.c:$(OBJDIR)/timeline.h $(OBJDIR)/tkt_.c:$(OBJDIR)/tkt.h $(OBJDIR)/tktsetup_.c:$(OBJDIR)/tktsetup.h $(OBJDIR)/undo_.c:$(OBJDIR)/undo.h $(OBJDIR)/update_.c:$(OBJDIR)/update.h $(OBJDIR)/url_.c:$(OBJDIR)/url.h $(OBJDIR)/user_.c:$(OBJDIR)/user.h $(OBJDIR)/utf8_.c:$(OBJDIR)/utf8.h $(OBJDIR)/verify_.c:$(OBJDIR)/verify.h $(OBJDIR)/vfile_.c:$(OBJDIR)/vfile.h $(OBJDIR)/wiki_.c:$(OBJDIR)/wiki.h $(OBJDIR)/wikiformat_.c:$(OBJDIR)/wikiformat.h $(OBJDIR)/winhttp_.c:$(OBJDIR)/winhttp.h $(OBJDIR)/wysiwyg_.c:$(OBJDIR)/wysiwyg.h $(OBJDIR)/xfer_.c:$(OBJDIR)/xfer.h $(OBJDIR)/xfersetup_.c:$(OBJDIR)/xfersetup.h $(OBJDIR)/zip_.c:$(OBJDIR)/zip.h $(SRCDIR)/sqlite3.h $(SRCDIR)/th.h $(OBJDIR)/VERSION.h | |
| 387 | 390 | touch $(OBJDIR)/headers |
| 388 | 391 | $(OBJDIR)/headers: Makefile |
| 389 | 392 | $(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_tag.o $(OBJDIR)/json_timeline.o $(OBJDIR)/json_user.o $(OBJDIR)/json_wiki.o : $(SRCDIR)/json_detail.h |
| 390 | 393 | Makefile: |
| 391 | 394 | $(OBJDIR)/add_.c: $(SRCDIR)/add.c $(OBJDIR)/translate |
| @@ -1016,10 +1019,17 @@ | ||
| 1016 | 1019 | |
| 1017 | 1020 | $(OBJDIR)/user.o: $(OBJDIR)/user_.c $(OBJDIR)/user.h $(SRCDIR)/config.h |
| 1018 | 1021 | $(XTCC) -o $(OBJDIR)/user.o -c $(OBJDIR)/user_.c |
| 1019 | 1022 | |
| 1020 | 1023 | $(OBJDIR)/user.h: $(OBJDIR)/headers |
| 1024 | +$(OBJDIR)/utf8_.c: $(SRCDIR)/utf8.c $(OBJDIR)/translate | |
| 1025 | + $(OBJDIR)/translate $(SRCDIR)/utf8.c >$(OBJDIR)/utf8_.c | |
| 1026 | + | |
| 1027 | +$(OBJDIR)/utf8.o: $(OBJDIR)/utf8_.c $(OBJDIR)/utf8.h $(SRCDIR)/config.h | |
| 1028 | + $(XTCC) -o $(OBJDIR)/utf8.o -c $(OBJDIR)/utf8_.c | |
| 1029 | + | |
| 1030 | +$(OBJDIR)/utf8.h: $(OBJDIR)/headers | |
| 1021 | 1031 | $(OBJDIR)/verify_.c: $(SRCDIR)/verify.c $(OBJDIR)/translate |
| 1022 | 1032 | $(OBJDIR)/translate $(SRCDIR)/verify.c >$(OBJDIR)/verify_.c |
| 1023 | 1033 | |
| 1024 | 1034 | $(OBJDIR)/verify.o: $(OBJDIR)/verify_.c $(OBJDIR)/verify.h $(SRCDIR)/config.h |
| 1025 | 1035 | $(XTCC) -o $(OBJDIR)/verify.o -c $(OBJDIR)/verify_.c |
| 1026 | 1036 |
| --- src/main.mk | |
| +++ src/main.mk | |
| @@ -102,10 +102,11 @@ | |
| 102 | $(SRCDIR)/tktsetup.c \ |
| 103 | $(SRCDIR)/undo.c \ |
| 104 | $(SRCDIR)/update.c \ |
| 105 | $(SRCDIR)/url.c \ |
| 106 | $(SRCDIR)/user.c \ |
| 107 | $(SRCDIR)/verify.c \ |
| 108 | $(SRCDIR)/vfile.c \ |
| 109 | $(SRCDIR)/wiki.c \ |
| 110 | $(SRCDIR)/wikiformat.c \ |
| 111 | $(SRCDIR)/winhttp.c \ |
| @@ -203,10 +204,11 @@ | |
| 203 | $(OBJDIR)/tktsetup_.c \ |
| 204 | $(OBJDIR)/undo_.c \ |
| 205 | $(OBJDIR)/update_.c \ |
| 206 | $(OBJDIR)/url_.c \ |
| 207 | $(OBJDIR)/user_.c \ |
| 208 | $(OBJDIR)/verify_.c \ |
| 209 | $(OBJDIR)/vfile_.c \ |
| 210 | $(OBJDIR)/wiki_.c \ |
| 211 | $(OBJDIR)/wikiformat_.c \ |
| 212 | $(OBJDIR)/winhttp_.c \ |
| @@ -304,10 +306,11 @@ | |
| 304 | $(OBJDIR)/tktsetup.o \ |
| 305 | $(OBJDIR)/undo.o \ |
| 306 | $(OBJDIR)/update.o \ |
| 307 | $(OBJDIR)/url.o \ |
| 308 | $(OBJDIR)/user.o \ |
| 309 | $(OBJDIR)/verify.o \ |
| 310 | $(OBJDIR)/vfile.o \ |
| 311 | $(OBJDIR)/wiki.o \ |
| 312 | $(OBJDIR)/wikiformat.o \ |
| 313 | $(OBJDIR)/winhttp.o \ |
| @@ -381,11 +384,11 @@ | |
| 381 | |
| 382 | |
| 383 | $(OBJDIR)/page_index.h: $(TRANS_SRC) $(OBJDIR)/mkindex |
| 384 | $(OBJDIR)/mkindex $(TRANS_SRC) >$@ |
| 385 | $(OBJDIR)/headers: $(OBJDIR)/page_index.h $(OBJDIR)/makeheaders $(OBJDIR)/VERSION.h |
| 386 | $(OBJDIR)/makeheaders $(OBJDIR)/add_.c:$(OBJDIR)/add.h $(OBJDIR)/allrepo_.c:$(OBJDIR)/allrepo.h $(OBJDIR)/attach_.c:$(OBJDIR)/attach.h $(OBJDIR)/bag_.c:$(OBJDIR)/bag.h $(OBJDIR)/bisect_.c:$(OBJDIR)/bisect.h $(OBJDIR)/blob_.c:$(OBJDIR)/blob.h $(OBJDIR)/branch_.c:$(OBJDIR)/branch.h $(OBJDIR)/browse_.c:$(OBJDIR)/browse.h $(OBJDIR)/captcha_.c:$(OBJDIR)/captcha.h $(OBJDIR)/cgi_.c:$(OBJDIR)/cgi.h $(OBJDIR)/checkin_.c:$(OBJDIR)/checkin.h $(OBJDIR)/checkout_.c:$(OBJDIR)/checkout.h $(OBJDIR)/clearsign_.c:$(OBJDIR)/clearsign.h $(OBJDIR)/clone_.c:$(OBJDIR)/clone.h $(OBJDIR)/comformat_.c:$(OBJDIR)/comformat.h $(OBJDIR)/configure_.c:$(OBJDIR)/configure.h $(OBJDIR)/content_.c:$(OBJDIR)/content.h $(OBJDIR)/db_.c:$(OBJDIR)/db.h $(OBJDIR)/delta_.c:$(OBJDIR)/delta.h $(OBJDIR)/deltacmd_.c:$(OBJDIR)/deltacmd.h $(OBJDIR)/descendants_.c:$(OBJDIR)/descendants.h $(OBJDIR)/diff_.c:$(OBJDIR)/diff.h $(OBJDIR)/diffcmd_.c:$(OBJDIR)/diffcmd.h $(OBJDIR)/doc_.c:$(OBJDIR)/doc.h $(OBJDIR)/encode_.c:$(OBJDIR)/encode.h $(OBJDIR)/event_.c:$(OBJDIR)/event.h $(OBJDIR)/export_.c:$(OBJDIR)/export.h $(OBJDIR)/file_.c:$(OBJDIR)/file.h $(OBJDIR)/finfo_.c:$(OBJDIR)/finfo.h $(OBJDIR)/glob_.c:$(OBJDIR)/glob.h $(OBJDIR)/graph_.c:$(OBJDIR)/graph.h $(OBJDIR)/gzip_.c:$(OBJDIR)/gzip.h $(OBJDIR)/http_.c:$(OBJDIR)/http.h $(OBJDIR)/http_socket_.c:$(OBJDIR)/http_socket.h $(OBJDIR)/http_ssl_.c:$(OBJDIR)/http_ssl.h $(OBJDIR)/http_transport_.c:$(OBJDIR)/http_transport.h $(OBJDIR)/import_.c:$(OBJDIR)/import.h $(OBJDIR)/info_.c:$(OBJDIR)/info.h $(OBJDIR)/json_.c:$(OBJDIR)/json.h $(OBJDIR)/json_artifact_.c:$(OBJDIR)/json_artifact.h $(OBJDIR)/json_branch_.c:$(OBJDIR)/json_branch.h $(OBJDIR)/json_config_.c:$(OBJDIR)/json_config.h $(OBJDIR)/json_diff_.c:$(OBJDIR)/json_diff.h $(OBJDIR)/json_dir_.c:$(OBJDIR)/json_dir.h $(OBJDIR)/json_finfo_.c:$(OBJDIR)/json_finfo.h $(OBJDIR)/json_login_.c:$(OBJDIR)/json_login.h $(OBJDIR)/json_query_.c:$(OBJDIR)/json_query.h $(OBJDIR)/json_report_.c:$(OBJDIR)/json_report.h $(OBJDIR)/json_tag_.c:$(OBJDIR)/json_tag.h $(OBJDIR)/json_timeline_.c:$(OBJDIR)/json_timeline.h $(OBJDIR)/json_user_.c:$(OBJDIR)/json_user.h $(OBJDIR)/json_wiki_.c:$(OBJDIR)/json_wiki.h $(OBJDIR)/leaf_.c:$(OBJDIR)/leaf.h $(OBJDIR)/login_.c:$(OBJDIR)/login.h $(OBJDIR)/main_.c:$(OBJDIR)/main.h $(OBJDIR)/manifest_.c:$(OBJDIR)/manifest.h $(OBJDIR)/md5_.c:$(OBJDIR)/md5.h $(OBJDIR)/merge_.c:$(OBJDIR)/merge.h $(OBJDIR)/merge3_.c:$(OBJDIR)/merge3.h $(OBJDIR)/moderate_.c:$(OBJDIR)/moderate.h $(OBJDIR)/name_.c:$(OBJDIR)/name.h $(OBJDIR)/path_.c:$(OBJDIR)/path.h $(OBJDIR)/pivot_.c:$(OBJDIR)/pivot.h $(OBJDIR)/popen_.c:$(OBJDIR)/popen.h $(OBJDIR)/pqueue_.c:$(OBJDIR)/pqueue.h $(OBJDIR)/printf_.c:$(OBJDIR)/printf.h $(OBJDIR)/rebuild_.c:$(OBJDIR)/rebuild.h $(OBJDIR)/report_.c:$(OBJDIR)/report.h $(OBJDIR)/rss_.c:$(OBJDIR)/rss.h $(OBJDIR)/schema_.c:$(OBJDIR)/schema.h $(OBJDIR)/search_.c:$(OBJDIR)/search.h $(OBJDIR)/setup_.c:$(OBJDIR)/setup.h $(OBJDIR)/sha1_.c:$(OBJDIR)/sha1.h $(OBJDIR)/shun_.c:$(OBJDIR)/shun.h $(OBJDIR)/skins_.c:$(OBJDIR)/skins.h $(OBJDIR)/sqlcmd_.c:$(OBJDIR)/sqlcmd.h $(OBJDIR)/stash_.c:$(OBJDIR)/stash.h $(OBJDIR)/stat_.c:$(OBJDIR)/stat.h $(OBJDIR)/style_.c:$(OBJDIR)/style.h $(OBJDIR)/sync_.c:$(OBJDIR)/sync.h $(OBJDIR)/tag_.c:$(OBJDIR)/tag.h $(OBJDIR)/tar_.c:$(OBJDIR)/tar.h $(OBJDIR)/th_main_.c:$(OBJDIR)/th_main.h $(OBJDIR)/timeline_.c:$(OBJDIR)/timeline.h $(OBJDIR)/tkt_.c:$(OBJDIR)/tkt.h $(OBJDIR)/tktsetup_.c:$(OBJDIR)/tktsetup.h $(OBJDIR)/undo_.c:$(OBJDIR)/undo.h $(OBJDIR)/update_.c:$(OBJDIR)/update.h $(OBJDIR)/url_.c:$(OBJDIR)/url.h $(OBJDIR)/user_.c:$(OBJDIR)/user.h $(OBJDIR)/verify_.c:$(OBJDIR)/verify.h $(OBJDIR)/vfile_.c:$(OBJDIR)/vfile.h $(OBJDIR)/wiki_.c:$(OBJDIR)/wiki.h $(OBJDIR)/wikiformat_.c:$(OBJDIR)/wikiformat.h $(OBJDIR)/winhttp_.c:$(OBJDIR)/winhttp.h $(OBJDIR)/wysiwyg_.c:$(OBJDIR)/wysiwyg.h $(OBJDIR)/xfer_.c:$(OBJDIR)/xfer.h $(OBJDIR)/xfersetup_.c:$(OBJDIR)/xfersetup.h $(OBJDIR)/zip_.c:$(OBJDIR)/zip.h $(SRCDIR)/sqlite3.h $(SRCDIR)/th.h $(OBJDIR)/VERSION.h |
| 387 | touch $(OBJDIR)/headers |
| 388 | $(OBJDIR)/headers: Makefile |
| 389 | $(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_tag.o $(OBJDIR)/json_timeline.o $(OBJDIR)/json_user.o $(OBJDIR)/json_wiki.o : $(SRCDIR)/json_detail.h |
| 390 | Makefile: |
| 391 | $(OBJDIR)/add_.c: $(SRCDIR)/add.c $(OBJDIR)/translate |
| @@ -1016,10 +1019,17 @@ | |
| 1016 | |
| 1017 | $(OBJDIR)/user.o: $(OBJDIR)/user_.c $(OBJDIR)/user.h $(SRCDIR)/config.h |
| 1018 | $(XTCC) -o $(OBJDIR)/user.o -c $(OBJDIR)/user_.c |
| 1019 | |
| 1020 | $(OBJDIR)/user.h: $(OBJDIR)/headers |
| 1021 | $(OBJDIR)/verify_.c: $(SRCDIR)/verify.c $(OBJDIR)/translate |
| 1022 | $(OBJDIR)/translate $(SRCDIR)/verify.c >$(OBJDIR)/verify_.c |
| 1023 | |
| 1024 | $(OBJDIR)/verify.o: $(OBJDIR)/verify_.c $(OBJDIR)/verify.h $(SRCDIR)/config.h |
| 1025 | $(XTCC) -o $(OBJDIR)/verify.o -c $(OBJDIR)/verify_.c |
| 1026 |
| --- src/main.mk | |
| +++ src/main.mk | |
| @@ -102,10 +102,11 @@ | |
| 102 | $(SRCDIR)/tktsetup.c \ |
| 103 | $(SRCDIR)/undo.c \ |
| 104 | $(SRCDIR)/update.c \ |
| 105 | $(SRCDIR)/url.c \ |
| 106 | $(SRCDIR)/user.c \ |
| 107 | $(SRCDIR)/utf8.c \ |
| 108 | $(SRCDIR)/verify.c \ |
| 109 | $(SRCDIR)/vfile.c \ |
| 110 | $(SRCDIR)/wiki.c \ |
| 111 | $(SRCDIR)/wikiformat.c \ |
| 112 | $(SRCDIR)/winhttp.c \ |
| @@ -203,10 +204,11 @@ | |
| 204 | $(OBJDIR)/tktsetup_.c \ |
| 205 | $(OBJDIR)/undo_.c \ |
| 206 | $(OBJDIR)/update_.c \ |
| 207 | $(OBJDIR)/url_.c \ |
| 208 | $(OBJDIR)/user_.c \ |
| 209 | $(OBJDIR)/utf8_.c \ |
| 210 | $(OBJDIR)/verify_.c \ |
| 211 | $(OBJDIR)/vfile_.c \ |
| 212 | $(OBJDIR)/wiki_.c \ |
| 213 | $(OBJDIR)/wikiformat_.c \ |
| 214 | $(OBJDIR)/winhttp_.c \ |
| @@ -304,10 +306,11 @@ | |
| 306 | $(OBJDIR)/tktsetup.o \ |
| 307 | $(OBJDIR)/undo.o \ |
| 308 | $(OBJDIR)/update.o \ |
| 309 | $(OBJDIR)/url.o \ |
| 310 | $(OBJDIR)/user.o \ |
| 311 | $(OBJDIR)/utf8.o \ |
| 312 | $(OBJDIR)/verify.o \ |
| 313 | $(OBJDIR)/vfile.o \ |
| 314 | $(OBJDIR)/wiki.o \ |
| 315 | $(OBJDIR)/wikiformat.o \ |
| 316 | $(OBJDIR)/winhttp.o \ |
| @@ -381,11 +384,11 @@ | |
| 384 | |
| 385 | |
| 386 | $(OBJDIR)/page_index.h: $(TRANS_SRC) $(OBJDIR)/mkindex |
| 387 | $(OBJDIR)/mkindex $(TRANS_SRC) >$@ |
| 388 | $(OBJDIR)/headers: $(OBJDIR)/page_index.h $(OBJDIR)/makeheaders $(OBJDIR)/VERSION.h |
| 389 | $(OBJDIR)/makeheaders $(OBJDIR)/add_.c:$(OBJDIR)/add.h $(OBJDIR)/allrepo_.c:$(OBJDIR)/allrepo.h $(OBJDIR)/attach_.c:$(OBJDIR)/attach.h $(OBJDIR)/bag_.c:$(OBJDIR)/bag.h $(OBJDIR)/bisect_.c:$(OBJDIR)/bisect.h $(OBJDIR)/blob_.c:$(OBJDIR)/blob.h $(OBJDIR)/branch_.c:$(OBJDIR)/branch.h $(OBJDIR)/browse_.c:$(OBJDIR)/browse.h $(OBJDIR)/captcha_.c:$(OBJDIR)/captcha.h $(OBJDIR)/cgi_.c:$(OBJDIR)/cgi.h $(OBJDIR)/checkin_.c:$(OBJDIR)/checkin.h $(OBJDIR)/checkout_.c:$(OBJDIR)/checkout.h $(OBJDIR)/clearsign_.c:$(OBJDIR)/clearsign.h $(OBJDIR)/clone_.c:$(OBJDIR)/clone.h $(OBJDIR)/comformat_.c:$(OBJDIR)/comformat.h $(OBJDIR)/configure_.c:$(OBJDIR)/configure.h $(OBJDIR)/content_.c:$(OBJDIR)/content.h $(OBJDIR)/db_.c:$(OBJDIR)/db.h $(OBJDIR)/delta_.c:$(OBJDIR)/delta.h $(OBJDIR)/deltacmd_.c:$(OBJDIR)/deltacmd.h $(OBJDIR)/descendants_.c:$(OBJDIR)/descendants.h $(OBJDIR)/diff_.c:$(OBJDIR)/diff.h $(OBJDIR)/diffcmd_.c:$(OBJDIR)/diffcmd.h $(OBJDIR)/doc_.c:$(OBJDIR)/doc.h $(OBJDIR)/encode_.c:$(OBJDIR)/encode.h $(OBJDIR)/event_.c:$(OBJDIR)/event.h $(OBJDIR)/export_.c:$(OBJDIR)/export.h $(OBJDIR)/file_.c:$(OBJDIR)/file.h $(OBJDIR)/finfo_.c:$(OBJDIR)/finfo.h $(OBJDIR)/glob_.c:$(OBJDIR)/glob.h $(OBJDIR)/graph_.c:$(OBJDIR)/graph.h $(OBJDIR)/gzip_.c:$(OBJDIR)/gzip.h $(OBJDIR)/http_.c:$(OBJDIR)/http.h $(OBJDIR)/http_socket_.c:$(OBJDIR)/http_socket.h $(OBJDIR)/http_ssl_.c:$(OBJDIR)/http_ssl.h $(OBJDIR)/http_transport_.c:$(OBJDIR)/http_transport.h $(OBJDIR)/import_.c:$(OBJDIR)/import.h $(OBJDIR)/info_.c:$(OBJDIR)/info.h $(OBJDIR)/json_.c:$(OBJDIR)/json.h $(OBJDIR)/json_artifact_.c:$(OBJDIR)/json_artifact.h $(OBJDIR)/json_branch_.c:$(OBJDIR)/json_branch.h $(OBJDIR)/json_config_.c:$(OBJDIR)/json_config.h $(OBJDIR)/json_diff_.c:$(OBJDIR)/json_diff.h $(OBJDIR)/json_dir_.c:$(OBJDIR)/json_dir.h $(OBJDIR)/json_finfo_.c:$(OBJDIR)/json_finfo.h $(OBJDIR)/json_login_.c:$(OBJDIR)/json_login.h $(OBJDIR)/json_query_.c:$(OBJDIR)/json_query.h $(OBJDIR)/json_report_.c:$(OBJDIR)/json_report.h $(OBJDIR)/json_tag_.c:$(OBJDIR)/json_tag.h $(OBJDIR)/json_timeline_.c:$(OBJDIR)/json_timeline.h $(OBJDIR)/json_user_.c:$(OBJDIR)/json_user.h $(OBJDIR)/json_wiki_.c:$(OBJDIR)/json_wiki.h $(OBJDIR)/leaf_.c:$(OBJDIR)/leaf.h $(OBJDIR)/login_.c:$(OBJDIR)/login.h $(OBJDIR)/main_.c:$(OBJDIR)/main.h $(OBJDIR)/manifest_.c:$(OBJDIR)/manifest.h $(OBJDIR)/md5_.c:$(OBJDIR)/md5.h $(OBJDIR)/merge_.c:$(OBJDIR)/merge.h $(OBJDIR)/merge3_.c:$(OBJDIR)/merge3.h $(OBJDIR)/moderate_.c:$(OBJDIR)/moderate.h $(OBJDIR)/name_.c:$(OBJDIR)/name.h $(OBJDIR)/path_.c:$(OBJDIR)/path.h $(OBJDIR)/pivot_.c:$(OBJDIR)/pivot.h $(OBJDIR)/popen_.c:$(OBJDIR)/popen.h $(OBJDIR)/pqueue_.c:$(OBJDIR)/pqueue.h $(OBJDIR)/printf_.c:$(OBJDIR)/printf.h $(OBJDIR)/rebuild_.c:$(OBJDIR)/rebuild.h $(OBJDIR)/report_.c:$(OBJDIR)/report.h $(OBJDIR)/rss_.c:$(OBJDIR)/rss.h $(OBJDIR)/schema_.c:$(OBJDIR)/schema.h $(OBJDIR)/search_.c:$(OBJDIR)/search.h $(OBJDIR)/setup_.c:$(OBJDIR)/setup.h $(OBJDIR)/sha1_.c:$(OBJDIR)/sha1.h $(OBJDIR)/shun_.c:$(OBJDIR)/shun.h $(OBJDIR)/skins_.c:$(OBJDIR)/skins.h $(OBJDIR)/sqlcmd_.c:$(OBJDIR)/sqlcmd.h $(OBJDIR)/stash_.c:$(OBJDIR)/stash.h $(OBJDIR)/stat_.c:$(OBJDIR)/stat.h $(OBJDIR)/style_.c:$(OBJDIR)/style.h $(OBJDIR)/sync_.c:$(OBJDIR)/sync.h $(OBJDIR)/tag_.c:$(OBJDIR)/tag.h $(OBJDIR)/tar_.c:$(OBJDIR)/tar.h $(OBJDIR)/th_main_.c:$(OBJDIR)/th_main.h $(OBJDIR)/timeline_.c:$(OBJDIR)/timeline.h $(OBJDIR)/tkt_.c:$(OBJDIR)/tkt.h $(OBJDIR)/tktsetup_.c:$(OBJDIR)/tktsetup.h $(OBJDIR)/undo_.c:$(OBJDIR)/undo.h $(OBJDIR)/update_.c:$(OBJDIR)/update.h $(OBJDIR)/url_.c:$(OBJDIR)/url.h $(OBJDIR)/user_.c:$(OBJDIR)/user.h $(OBJDIR)/utf8_.c:$(OBJDIR)/utf8.h $(OBJDIR)/verify_.c:$(OBJDIR)/verify.h $(OBJDIR)/vfile_.c:$(OBJDIR)/vfile.h $(OBJDIR)/wiki_.c:$(OBJDIR)/wiki.h $(OBJDIR)/wikiformat_.c:$(OBJDIR)/wikiformat.h $(OBJDIR)/winhttp_.c:$(OBJDIR)/winhttp.h $(OBJDIR)/wysiwyg_.c:$(OBJDIR)/wysiwyg.h $(OBJDIR)/xfer_.c:$(OBJDIR)/xfer.h $(OBJDIR)/xfersetup_.c:$(OBJDIR)/xfersetup.h $(OBJDIR)/zip_.c:$(OBJDIR)/zip.h $(SRCDIR)/sqlite3.h $(SRCDIR)/th.h $(OBJDIR)/VERSION.h |
| 390 | touch $(OBJDIR)/headers |
| 391 | $(OBJDIR)/headers: Makefile |
| 392 | $(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_tag.o $(OBJDIR)/json_timeline.o $(OBJDIR)/json_user.o $(OBJDIR)/json_wiki.o : $(SRCDIR)/json_detail.h |
| 393 | Makefile: |
| 394 | $(OBJDIR)/add_.c: $(SRCDIR)/add.c $(OBJDIR)/translate |
| @@ -1016,10 +1019,17 @@ | |
| 1019 | |
| 1020 | $(OBJDIR)/user.o: $(OBJDIR)/user_.c $(OBJDIR)/user.h $(SRCDIR)/config.h |
| 1021 | $(XTCC) -o $(OBJDIR)/user.o -c $(OBJDIR)/user_.c |
| 1022 | |
| 1023 | $(OBJDIR)/user.h: $(OBJDIR)/headers |
| 1024 | $(OBJDIR)/utf8_.c: $(SRCDIR)/utf8.c $(OBJDIR)/translate |
| 1025 | $(OBJDIR)/translate $(SRCDIR)/utf8.c >$(OBJDIR)/utf8_.c |
| 1026 | |
| 1027 | $(OBJDIR)/utf8.o: $(OBJDIR)/utf8_.c $(OBJDIR)/utf8.h $(SRCDIR)/config.h |
| 1028 | $(XTCC) -o $(OBJDIR)/utf8.o -c $(OBJDIR)/utf8_.c |
| 1029 | |
| 1030 | $(OBJDIR)/utf8.h: $(OBJDIR)/headers |
| 1031 | $(OBJDIR)/verify_.c: $(SRCDIR)/verify.c $(OBJDIR)/translate |
| 1032 | $(OBJDIR)/translate $(SRCDIR)/verify.c >$(OBJDIR)/verify_.c |
| 1033 | |
| 1034 | $(OBJDIR)/verify.o: $(OBJDIR)/verify_.c $(OBJDIR)/verify.h $(SRCDIR)/config.h |
| 1035 | $(XTCC) -o $(OBJDIR)/verify.o -c $(OBJDIR)/verify_.c |
| 1036 |
+1
| --- src/makemake.tcl | ||
| +++ src/makemake.tcl | ||
| @@ -107,10 +107,11 @@ | ||
| 107 | 107 | update |
| 108 | 108 | url |
| 109 | 109 | user |
| 110 | 110 | verify |
| 111 | 111 | vfile |
| 112 | + utf8 | |
| 112 | 113 | wiki |
| 113 | 114 | wikiformat |
| 114 | 115 | winhttp |
| 115 | 116 | wysiwyg |
| 116 | 117 | xfer |
| 117 | 118 |
| --- src/makemake.tcl | |
| +++ src/makemake.tcl | |
| @@ -107,10 +107,11 @@ | |
| 107 | update |
| 108 | url |
| 109 | user |
| 110 | verify |
| 111 | vfile |
| 112 | wiki |
| 113 | wikiformat |
| 114 | winhttp |
| 115 | wysiwyg |
| 116 | xfer |
| 117 |
| --- src/makemake.tcl | |
| +++ src/makemake.tcl | |
| @@ -107,10 +107,11 @@ | |
| 107 | update |
| 108 | url |
| 109 | user |
| 110 | verify |
| 111 | vfile |
| 112 | utf8 |
| 113 | wiki |
| 114 | wikiformat |
| 115 | winhttp |
| 116 | wysiwyg |
| 117 | xfer |
| 118 |
+3
-3
| --- src/rebuild.c | ||
| +++ src/rebuild.c | ||
| @@ -843,13 +843,13 @@ | ||
| 843 | 843 | char *zSubpath; |
| 844 | 844 | |
| 845 | 845 | if( pEntry->d_name[0]=='.' ){ |
| 846 | 846 | continue; |
| 847 | 847 | } |
| 848 | - zUtf8Name = fossil_unicode_to_utf8(pEntry->d_name); | |
| 848 | + zUtf8Name = fossil_filename_to_utf8(pEntry->d_name); | |
| 849 | 849 | zSubpath = mprintf("%s/%s", zPath, zUtf8Name); |
| 850 | - fossil_mbcs_free(zUtf8Name); | |
| 850 | + fossil_filename_free(zUtf8Name); | |
| 851 | 851 | if( file_isdir(zSubpath)==1 ){ |
| 852 | 852 | recon_read_dir(zSubpath); |
| 853 | 853 | } |
| 854 | 854 | blob_init(&path, 0, 0); |
| 855 | 855 | blob_appendf(&path, "%s", zSubpath); |
| @@ -867,11 +867,11 @@ | ||
| 867 | 867 | closedir(d); |
| 868 | 868 | }else { |
| 869 | 869 | fossil_panic("encountered error %d while trying to open \"%s\".", |
| 870 | 870 | errno, g.argv[3]); |
| 871 | 871 | } |
| 872 | - fossil_mbcs_free(zUnicodePath); | |
| 872 | + fossil_unicode_free(zUnicodePath); | |
| 873 | 873 | } |
| 874 | 874 | |
| 875 | 875 | /* |
| 876 | 876 | ** COMMAND: reconstruct* |
| 877 | 877 | ** |
| 878 | 878 | |
| 879 | 879 | ADDED src/utf8.c |
| --- src/rebuild.c | |
| +++ src/rebuild.c | |
| @@ -843,13 +843,13 @@ | |
| 843 | char *zSubpath; |
| 844 | |
| 845 | if( pEntry->d_name[0]=='.' ){ |
| 846 | continue; |
| 847 | } |
| 848 | zUtf8Name = fossil_unicode_to_utf8(pEntry->d_name); |
| 849 | zSubpath = mprintf("%s/%s", zPath, zUtf8Name); |
| 850 | fossil_mbcs_free(zUtf8Name); |
| 851 | if( file_isdir(zSubpath)==1 ){ |
| 852 | recon_read_dir(zSubpath); |
| 853 | } |
| 854 | blob_init(&path, 0, 0); |
| 855 | blob_appendf(&path, "%s", zSubpath); |
| @@ -867,11 +867,11 @@ | |
| 867 | closedir(d); |
| 868 | }else { |
| 869 | fossil_panic("encountered error %d while trying to open \"%s\".", |
| 870 | errno, g.argv[3]); |
| 871 | } |
| 872 | fossil_mbcs_free(zUnicodePath); |
| 873 | } |
| 874 | |
| 875 | /* |
| 876 | ** COMMAND: reconstruct* |
| 877 | ** |
| 878 | |
| 879 | DDED src/utf8.c |
| --- src/rebuild.c | |
| +++ src/rebuild.c | |
| @@ -843,13 +843,13 @@ | |
| 843 | char *zSubpath; |
| 844 | |
| 845 | if( pEntry->d_name[0]=='.' ){ |
| 846 | continue; |
| 847 | } |
| 848 | zUtf8Name = fossil_filename_to_utf8(pEntry->d_name); |
| 849 | zSubpath = mprintf("%s/%s", zPath, zUtf8Name); |
| 850 | fossil_filename_free(zUtf8Name); |
| 851 | if( file_isdir(zSubpath)==1 ){ |
| 852 | recon_read_dir(zSubpath); |
| 853 | } |
| 854 | blob_init(&path, 0, 0); |
| 855 | blob_appendf(&path, "%s", zSubpath); |
| @@ -867,11 +867,11 @@ | |
| 867 | closedir(d); |
| 868 | }else { |
| 869 | fossil_panic("encountered error %d while trying to open \"%s\".", |
| 870 | errno, g.argv[3]); |
| 871 | } |
| 872 | fossil_unicode_free(zUnicodePath); |
| 873 | } |
| 874 | |
| 875 | /* |
| 876 | ** COMMAND: reconstruct* |
| 877 | ** |
| 878 | |
| 879 | DDED src/utf8.c |
+51
| --- a/src/utf8.c | ||
| +++ b/src/utf8.c | ||
| @@ -0,0 +1,51 @@ | ||
| 1 | +#ifdef _WIN32f _WIN32nicode* 2IN32>MAX_PATHfilename_to_ut#indif in the) { | |
| 2 | + /* If[/\]", don't process the ':' */ | |
| 3 | + if( nChar>MAX_PATH ) { | |
| 4 | + memcpy(zUnicode, L"\\\\?\\", 8 -1, wUnicode, nChar2/" or "<drive>:\"fdef __CYGWIN__ | |
| 5 | +# include <sys/cygwin.h> | |
| 6 | +# define CP_UTF8 65001 | |
| 7 | + __declspec(dllidef _WIN32def _WIN32def _WIN32 | |
| 8 | + sqlite3ifdef _WIN32f _WIN32nMAX_PATHfilename_to_ut#in; | |
| 9 | + char *zUtf; | |
| 10 | + wch8. #ifdef _WIN32#else | |
| 11 | + return (char*)zMbcsznicode text into UTF8(char *)zUnicode# | |
| 12 | +** to precomposed UTF8. WCHARFF80) == 0xF000 ){ | |
| 13 | + WCHARFWCHAR *zUnicode = fossil_utf8const =>MAX_PATHfilename_to_ut#indif in the) { | |
| 14 | + /* If[/\]", don't process the ':' */ | |
| 15 | + if( nChar>MAX_PATH ) { | |
| 16 | + memcpy(zUnicode, L"\\\\?\\", 8 -1, wUnicode, nChar2/" or "<drive>:\"fdef __CYGWIN__ | |
| 17 | +# include <sys/cygwin.h> | |
| 18 | +# define CP_UTF8 65001 | |
| 19 | + __declspec(dllidef _WIN32def _WIN32def _WIN32 | |
| 20 | + sqlite3ifdef _WIN32f _WIN32nMAX_PATHfilename_to_ut#in; | |
| 21 | + char *zUtf; | |
| 22 | + wch8. #ifdef _WIN32#else | |
| 23 | + return (char*)zMbcsznicode text into UTF8(char *)zUnicode# | |
| 24 | +** to precomposed UTF8. WCHARFF80) == 0xF000 ){ | |
| 25 | + WCHARFWCHAR *z2>MAX_PATHfilename_to_ut#indif in the) { | |
| 26 | + /* Iifdef _WIN32f _WIN32nicode* 2IN#ifdef _WIchar *zUnicodeicode* 2IN32>MAX_P#ifdef _WIN32f _WIN32nicode* 2IN32>MAX_PATHfilename_to_ut#indif in the) { | |
| 27 | + /* If[/\]", don't process the ':' */ | |
| 28 | + if( nChar>MAX_PATH ) { | |
| 29 | + memcpy(zUnicode, L"\\\\?\\", 8 -1, wUnicode, nChar2/" or "<drive>:\"fdef __CYGWIN__ | |
| 30 | +# include <sys/cygwin.h> | |
| 31 | +# define CP_UTF8 65001 | |
| 32 | + __declspec(dllidef _WIN32def _WIN32def _WIN32 | |
| 33 | + sqlite3ifdef _WIN32f _WIN32nMAX_PATHfilename_to_ut#in; | |
| 34 | + char *zUtf; | |
| 35 | + wch8. #ifdef _WIN32#else | |
| 36 | + return (char*)zMbcsznicode text into UTF8(char *)zUnicode# | |
| 37 | +** to precomposed UTF8. WCHARFF80) == 0xF000 ){ | |
| 38 | + WCHARFWCHAR *zUnicode = fossil_utf8const =>MAX_PATHfilename_to_ut#indif in the) { | |
| 39 | + /* If[/\]", don't process the ':' */ | |
| 40 | + if( nChar>MAX_PATH ) { | |
| 41 | + memcpy(zUnicode, L"\\\\?\\", 8 -1, wUnicode, nChar2/" or "<drive>:\"fdef __CYGWIN__ | |
| 42 | +# include <sys/cygwin.h> | |
| 43 | +# define CP_UTF8 65001 | |
| 44 | + __declspec(dllidef _WIN32def _WIN32def _WIN32 | |
| 45 | + sqlite3ifdef _WIN32f _WIN32nMAX_PATHfilename_to_ut#in; | |
| 46 | + char *zUtf; | |
| 47 | + wch8. #ifdef _WIN32#else | |
| 48 | + return (char*)zMbcsznicode text into UTF8(char *)zUnicode# | |
| 49 | +** to precomposed UTF8. WCHARFF80) == 0xF000 ){ | |
| 50 | + WCHARFWCHAR *z2>MAX_PATHfilename_to_ut#indif in the) { | |
| 51 | + /* Iifdef _WIN32f _WIN32nicode* 2IN#ifdef _WIcharFilename[n]>0 && zFilename[n]<=0 |
| --- a/src/utf8.c | |
| +++ b/src/utf8.c | |
| @@ -0,0 +1,51 @@ | |
| --- a/src/utf8.c | |
| +++ b/src/utf8.c | |
| @@ -0,0 +1,51 @@ | |
| 1 | #ifdef _WIN32f _WIN32nicode* 2IN32>MAX_PATHfilename_to_ut#indif in the) { |
| 2 | /* If[/\]", don't process the ':' */ |
| 3 | if( nChar>MAX_PATH ) { |
| 4 | memcpy(zUnicode, L"\\\\?\\", 8 -1, wUnicode, nChar2/" or "<drive>:\"fdef __CYGWIN__ |
| 5 | # include <sys/cygwin.h> |
| 6 | # define CP_UTF8 65001 |
| 7 | __declspec(dllidef _WIN32def _WIN32def _WIN32 |
| 8 | sqlite3ifdef _WIN32f _WIN32nMAX_PATHfilename_to_ut#in; |
| 9 | char *zUtf; |
| 10 | wch8. #ifdef _WIN32#else |
| 11 | return (char*)zMbcsznicode text into UTF8(char *)zUnicode# |
| 12 | ** to precomposed UTF8. WCHARFF80) == 0xF000 ){ |
| 13 | WCHARFWCHAR *zUnicode = fossil_utf8const =>MAX_PATHfilename_to_ut#indif in the) { |
| 14 | /* If[/\]", don't process the ':' */ |
| 15 | if( nChar>MAX_PATH ) { |
| 16 | memcpy(zUnicode, L"\\\\?\\", 8 -1, wUnicode, nChar2/" or "<drive>:\"fdef __CYGWIN__ |
| 17 | # include <sys/cygwin.h> |
| 18 | # define CP_UTF8 65001 |
| 19 | __declspec(dllidef _WIN32def _WIN32def _WIN32 |
| 20 | sqlite3ifdef _WIN32f _WIN32nMAX_PATHfilename_to_ut#in; |
| 21 | char *zUtf; |
| 22 | wch8. #ifdef _WIN32#else |
| 23 | return (char*)zMbcsznicode text into UTF8(char *)zUnicode# |
| 24 | ** to precomposed UTF8. WCHARFF80) == 0xF000 ){ |
| 25 | WCHARFWCHAR *z2>MAX_PATHfilename_to_ut#indif in the) { |
| 26 | /* Iifdef _WIN32f _WIN32nicode* 2IN#ifdef _WIchar *zUnicodeicode* 2IN32>MAX_P#ifdef _WIN32f _WIN32nicode* 2IN32>MAX_PATHfilename_to_ut#indif in the) { |
| 27 | /* If[/\]", don't process the ':' */ |
| 28 | if( nChar>MAX_PATH ) { |
| 29 | memcpy(zUnicode, L"\\\\?\\", 8 -1, wUnicode, nChar2/" or "<drive>:\"fdef __CYGWIN__ |
| 30 | # include <sys/cygwin.h> |
| 31 | # define CP_UTF8 65001 |
| 32 | __declspec(dllidef _WIN32def _WIN32def _WIN32 |
| 33 | sqlite3ifdef _WIN32f _WIN32nMAX_PATHfilename_to_ut#in; |
| 34 | char *zUtf; |
| 35 | wch8. #ifdef _WIN32#else |
| 36 | return (char*)zMbcsznicode text into UTF8(char *)zUnicode# |
| 37 | ** to precomposed UTF8. WCHARFF80) == 0xF000 ){ |
| 38 | WCHARFWCHAR *zUnicode = fossil_utf8const =>MAX_PATHfilename_to_ut#indif in the) { |
| 39 | /* If[/\]", don't process the ':' */ |
| 40 | if( nChar>MAX_PATH ) { |
| 41 | memcpy(zUnicode, L"\\\\?\\", 8 -1, wUnicode, nChar2/" or "<drive>:\"fdef __CYGWIN__ |
| 42 | # include <sys/cygwin.h> |
| 43 | # define CP_UTF8 65001 |
| 44 | __declspec(dllidef _WIN32def _WIN32def _WIN32 |
| 45 | sqlite3ifdef _WIN32f _WIN32nMAX_PATHfilename_to_ut#in; |
| 46 | char *zUtf; |
| 47 | wch8. #ifdef _WIN32#else |
| 48 | return (char*)zMbcsznicode text into UTF8(char *)zUnicode# |
| 49 | ** to precomposed UTF8. WCHARFF80) == 0xF000 ){ |
| 50 | WCHARFWCHAR *z2>MAX_PATHfilename_to_ut#indif in the) { |
| 51 | /* Iifdef _WIN32f _WIN32nicode* 2IN#ifdef _WIcharFilename[n]>0 && zFilename[n]<=0 |
+6
-6
| --- src/vfile.c | ||
| +++ src/vfile.c | ||
| @@ -440,11 +440,11 @@ | ||
| 440 | 440 | const char *zDir; |
| 441 | 441 | struct dirent *pEntry; |
| 442 | 442 | int skipAll = 0; |
| 443 | 443 | static Stmt ins; |
| 444 | 444 | static int depth = 0; |
| 445 | - void *zMbcs; | |
| 445 | + void *zNative; | |
| 446 | 446 | |
| 447 | 447 | origSize = blob_size(pPath); |
| 448 | 448 | if( pIgnore ){ |
| 449 | 449 | blob_appendf(pPath, "/"); |
| 450 | 450 | if( glob_match(pIgnore, &blob_str(pPath)[nPrefix+1]) ) skipAll = 1; |
| @@ -459,22 +459,22 @@ | ||
| 459 | 459 | ); |
| 460 | 460 | } |
| 461 | 461 | depth++; |
| 462 | 462 | |
| 463 | 463 | zDir = blob_str(pPath); |
| 464 | - zMbcs = fossil_utf8_to_unicode(zDir); | |
| 465 | - d = opendir(zMbcs); | |
| 464 | + zNative = fossil_utf8_to_unicode(zDir); | |
| 465 | + d = opendir(zNative); | |
| 466 | 466 | if( d ){ |
| 467 | 467 | while( (pEntry=readdir(d))!=0 ){ |
| 468 | 468 | char *zPath; |
| 469 | 469 | char *zUtf8; |
| 470 | 470 | if( pEntry->d_name[0]=='.' ){ |
| 471 | 471 | if( (scanFlags & SCAN_ALL)==0 ) continue; |
| 472 | 472 | if( pEntry->d_name[1]==0 ) continue; |
| 473 | 473 | if( pEntry->d_name[1]=='.' && pEntry->d_name[2]==0 ) continue; |
| 474 | 474 | } |
| 475 | - zUtf8 = fossil_unicode_to_utf8(pEntry->d_name); | |
| 475 | + zUtf8 = fossil_filename_to_utf8(pEntry->d_name); | |
| 476 | 476 | blob_appendf(pPath, "/%s", zUtf8); |
| 477 | 477 | zPath = blob_str(pPath); |
| 478 | 478 | if( glob_match(pIgnore, &zPath[nPrefix+1]) ){ |
| 479 | 479 | /* do nothing */ |
| 480 | 480 | }else if( file_wd_isdir(zPath)==1 ){ |
| @@ -486,16 +486,16 @@ | ||
| 486 | 486 | db_bind_text(&ins, ":file", &zPath[nPrefix+1]); |
| 487 | 487 | db_step(&ins); |
| 488 | 488 | db_reset(&ins); |
| 489 | 489 | } |
| 490 | 490 | } |
| 491 | - fossil_mbcs_free(zUtf8); | |
| 491 | + fossil_filename_free(zUtf8); | |
| 492 | 492 | blob_resize(pPath, origSize); |
| 493 | 493 | } |
| 494 | 494 | closedir(d); |
| 495 | 495 | } |
| 496 | - fossil_mbcs_free(zMbcs); | |
| 496 | + fossil_unicode_free(zNative); | |
| 497 | 497 | |
| 498 | 498 | depth--; |
| 499 | 499 | if( depth==0 ){ |
| 500 | 500 | db_finalize(&ins); |
| 501 | 501 | } |
| 502 | 502 |
| --- src/vfile.c | |
| +++ src/vfile.c | |
| @@ -440,11 +440,11 @@ | |
| 440 | const char *zDir; |
| 441 | struct dirent *pEntry; |
| 442 | int skipAll = 0; |
| 443 | static Stmt ins; |
| 444 | static int depth = 0; |
| 445 | void *zMbcs; |
| 446 | |
| 447 | origSize = blob_size(pPath); |
| 448 | if( pIgnore ){ |
| 449 | blob_appendf(pPath, "/"); |
| 450 | if( glob_match(pIgnore, &blob_str(pPath)[nPrefix+1]) ) skipAll = 1; |
| @@ -459,22 +459,22 @@ | |
| 459 | ); |
| 460 | } |
| 461 | depth++; |
| 462 | |
| 463 | zDir = blob_str(pPath); |
| 464 | zMbcs = fossil_utf8_to_unicode(zDir); |
| 465 | d = opendir(zMbcs); |
| 466 | if( d ){ |
| 467 | while( (pEntry=readdir(d))!=0 ){ |
| 468 | char *zPath; |
| 469 | char *zUtf8; |
| 470 | if( pEntry->d_name[0]=='.' ){ |
| 471 | if( (scanFlags & SCAN_ALL)==0 ) continue; |
| 472 | if( pEntry->d_name[1]==0 ) continue; |
| 473 | if( pEntry->d_name[1]=='.' && pEntry->d_name[2]==0 ) continue; |
| 474 | } |
| 475 | zUtf8 = fossil_unicode_to_utf8(pEntry->d_name); |
| 476 | blob_appendf(pPath, "/%s", zUtf8); |
| 477 | zPath = blob_str(pPath); |
| 478 | if( glob_match(pIgnore, &zPath[nPrefix+1]) ){ |
| 479 | /* do nothing */ |
| 480 | }else if( file_wd_isdir(zPath)==1 ){ |
| @@ -486,16 +486,16 @@ | |
| 486 | db_bind_text(&ins, ":file", &zPath[nPrefix+1]); |
| 487 | db_step(&ins); |
| 488 | db_reset(&ins); |
| 489 | } |
| 490 | } |
| 491 | fossil_mbcs_free(zUtf8); |
| 492 | blob_resize(pPath, origSize); |
| 493 | } |
| 494 | closedir(d); |
| 495 | } |
| 496 | fossil_mbcs_free(zMbcs); |
| 497 | |
| 498 | depth--; |
| 499 | if( depth==0 ){ |
| 500 | db_finalize(&ins); |
| 501 | } |
| 502 |
| --- src/vfile.c | |
| +++ src/vfile.c | |
| @@ -440,11 +440,11 @@ | |
| 440 | const char *zDir; |
| 441 | struct dirent *pEntry; |
| 442 | int skipAll = 0; |
| 443 | static Stmt ins; |
| 444 | static int depth = 0; |
| 445 | void *zNative; |
| 446 | |
| 447 | origSize = blob_size(pPath); |
| 448 | if( pIgnore ){ |
| 449 | blob_appendf(pPath, "/"); |
| 450 | if( glob_match(pIgnore, &blob_str(pPath)[nPrefix+1]) ) skipAll = 1; |
| @@ -459,22 +459,22 @@ | |
| 459 | ); |
| 460 | } |
| 461 | depth++; |
| 462 | |
| 463 | zDir = blob_str(pPath); |
| 464 | zNative = fossil_utf8_to_unicode(zDir); |
| 465 | d = opendir(zNative); |
| 466 | if( d ){ |
| 467 | while( (pEntry=readdir(d))!=0 ){ |
| 468 | char *zPath; |
| 469 | char *zUtf8; |
| 470 | if( pEntry->d_name[0]=='.' ){ |
| 471 | if( (scanFlags & SCAN_ALL)==0 ) continue; |
| 472 | if( pEntry->d_name[1]==0 ) continue; |
| 473 | if( pEntry->d_name[1]=='.' && pEntry->d_name[2]==0 ) continue; |
| 474 | } |
| 475 | zUtf8 = fossil_filename_to_utf8(pEntry->d_name); |
| 476 | blob_appendf(pPath, "/%s", zUtf8); |
| 477 | zPath = blob_str(pPath); |
| 478 | if( glob_match(pIgnore, &zPath[nPrefix+1]) ){ |
| 479 | /* do nothing */ |
| 480 | }else if( file_wd_isdir(zPath)==1 ){ |
| @@ -486,16 +486,16 @@ | |
| 486 | db_bind_text(&ins, ":file", &zPath[nPrefix+1]); |
| 487 | db_step(&ins); |
| 488 | db_reset(&ins); |
| 489 | } |
| 490 | } |
| 491 | fossil_filename_free(zUtf8); |
| 492 | blob_resize(pPath, origSize); |
| 493 | } |
| 494 | closedir(d); |
| 495 | } |
| 496 | fossil_unicode_free(zNative); |
| 497 | |
| 498 | depth--; |
| 499 | if( depth==0 ){ |
| 500 | db_finalize(&ins); |
| 501 | } |
| 502 |
+1
-1
| --- src/winhttp.c | ||
| +++ src/winhttp.c | ||
| @@ -262,11 +262,11 @@ | ||
| 262 | 262 | static SERVICE_STATUS ssStatus; |
| 263 | 263 | static SERVICE_STATUS_HANDLE sshStatusHandle; |
| 264 | 264 | |
| 265 | 265 | /* |
| 266 | 266 | ** Get message string of the last system error. Return a pointer to the |
| 267 | -** message string. Call fossil_mbcs_free() to deallocate any memory used | |
| 267 | +** message string. Call fossil_unicode_free() to deallocate any memory used | |
| 268 | 268 | ** to store the message string when done. |
| 269 | 269 | */ |
| 270 | 270 | static char *win32_get_last_errmsg(void){ |
| 271 | 271 | DWORD nMsg; |
| 272 | 272 | DWORD nErr = GetLastError(); |
| 273 | 273 |
| --- src/winhttp.c | |
| +++ src/winhttp.c | |
| @@ -262,11 +262,11 @@ | |
| 262 | static SERVICE_STATUS ssStatus; |
| 263 | static SERVICE_STATUS_HANDLE sshStatusHandle; |
| 264 | |
| 265 | /* |
| 266 | ** Get message string of the last system error. Return a pointer to the |
| 267 | ** message string. Call fossil_mbcs_free() to deallocate any memory used |
| 268 | ** to store the message string when done. |
| 269 | */ |
| 270 | static char *win32_get_last_errmsg(void){ |
| 271 | DWORD nMsg; |
| 272 | DWORD nErr = GetLastError(); |
| 273 |
| --- src/winhttp.c | |
| +++ src/winhttp.c | |
| @@ -262,11 +262,11 @@ | |
| 262 | static SERVICE_STATUS ssStatus; |
| 263 | static SERVICE_STATUS_HANDLE sshStatusHandle; |
| 264 | |
| 265 | /* |
| 266 | ** Get message string of the last system error. Return a pointer to the |
| 267 | ** message string. Call fossil_unicode_free() to deallocate any memory used |
| 268 | ** to store the message string when done. |
| 269 | */ |
| 270 | static char *win32_get_last_errmsg(void){ |
| 271 | DWORD nMsg; |
| 272 | DWORD nErr = GetLastError(); |
| 273 |
+10
-4
| --- win/Makefile.dmc | ||
| +++ win/Makefile.dmc | ||
| @@ -26,13 +26,13 @@ | ||
| 26 | 26 | TCC = $(DMDIR)\bin\dmc $(CFLAGS) $(DMCDEF) $(SSL) $(INCL) |
| 27 | 27 | LIBS = $(DMDIR)\extra\lib\ zlib wsock32 advapi32 |
| 28 | 28 | |
| 29 | 29 | SQLITE_OPTIONS = -DSQLITE_OMIT_LOAD_EXTENSION=1 -DSQLITE_THREADSAFE=0 -DSQLITE_DEFAULT_FILE_FORMAT=4 -DSQLITE_ENABLE_STAT3 -Dlocaltime=fossil_localtime -DSQLITE_ENABLE_LOCKING_STYLE=0 |
| 30 | 30 | |
| 31 | -SRC = add_.c allrepo_.c attach_.c bag_.c bisect_.c blob_.c branch_.c browse_.c captcha_.c cgi_.c checkin_.c checkout_.c clearsign_.c clone_.c comformat_.c configure_.c content_.c db_.c delta_.c deltacmd_.c descendants_.c diff_.c diffcmd_.c doc_.c encode_.c event_.c export_.c file_.c finfo_.c glob_.c graph_.c gzip_.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_tag_.c json_timeline_.c json_user_.c json_wiki_.c leaf_.c login_.c main_.c manifest_.c md5_.c merge_.c merge3_.c moderate_.c name_.c path_.c pivot_.c popen_.c pqueue_.c printf_.c rebuild_.c report_.c rss_.c schema_.c search_.c setup_.c sha1_.c shun_.c skins_.c sqlcmd_.c stash_.c stat_.c style_.c sync_.c tag_.c tar_.c th_main_.c timeline_.c tkt_.c tktsetup_.c undo_.c update_.c url_.c user_.c verify_.c vfile_.c wiki_.c wikiformat_.c winhttp_.c wysiwyg_.c xfer_.c xfersetup_.c zip_.c | |
| 31 | +SRC = add_.c allrepo_.c attach_.c bag_.c bisect_.c blob_.c branch_.c browse_.c captcha_.c cgi_.c checkin_.c checkout_.c clearsign_.c clone_.c comformat_.c configure_.c content_.c db_.c delta_.c deltacmd_.c descendants_.c diff_.c diffcmd_.c doc_.c encode_.c event_.c export_.c file_.c finfo_.c glob_.c graph_.c gzip_.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_tag_.c json_timeline_.c json_user_.c json_wiki_.c leaf_.c login_.c main_.c manifest_.c md5_.c merge_.c merge3_.c moderate_.c name_.c path_.c pivot_.c popen_.c pqueue_.c printf_.c rebuild_.c report_.c rss_.c schema_.c search_.c setup_.c sha1_.c shun_.c skins_.c sqlcmd_.c stash_.c stat_.c style_.c sync_.c tag_.c tar_.c th_main_.c timeline_.c tkt_.c tktsetup_.c undo_.c update_.c url_.c user_.c utf8_.c verify_.c vfile_.c wiki_.c wikiformat_.c winhttp_.c wysiwyg_.c xfer_.c xfersetup_.c zip_.c | |
| 32 | 32 | |
| 33 | -OBJ = $(OBJDIR)\add$O $(OBJDIR)\allrepo$O $(OBJDIR)\attach$O $(OBJDIR)\bag$O $(OBJDIR)\bisect$O $(OBJDIR)\blob$O $(OBJDIR)\branch$O $(OBJDIR)\browse$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)\db$O $(OBJDIR)\delta$O $(OBJDIR)\deltacmd$O $(OBJDIR)\descendants$O $(OBJDIR)\diff$O $(OBJDIR)\diffcmd$O $(OBJDIR)\doc$O $(OBJDIR)\encode$O $(OBJDIR)\event$O $(OBJDIR)\export$O $(OBJDIR)\file$O $(OBJDIR)\finfo$O $(OBJDIR)\glob$O $(OBJDIR)\graph$O $(OBJDIR)\gzip$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_tag$O $(OBJDIR)\json_timeline$O $(OBJDIR)\json_user$O $(OBJDIR)\json_wiki$O $(OBJDIR)\leaf$O $(OBJDIR)\login$O $(OBJDIR)\main$O $(OBJDIR)\manifest$O $(OBJDIR)\md5$O $(OBJDIR)\merge$O $(OBJDIR)\merge3$O $(OBJDIR)\moderate$O $(OBJDIR)\name$O $(OBJDIR)\path$O $(OBJDIR)\pivot$O $(OBJDIR)\popen$O $(OBJDIR)\pqueue$O $(OBJDIR)\printf$O $(OBJDIR)\rebuild$O $(OBJDIR)\report$O $(OBJDIR)\rss$O $(OBJDIR)\schema$O $(OBJDIR)\search$O $(OBJDIR)\setup$O $(OBJDIR)\sha1$O $(OBJDIR)\shun$O $(OBJDIR)\skins$O $(OBJDIR)\sqlcmd$O $(OBJDIR)\stash$O $(OBJDIR)\stat$O $(OBJDIR)\style$O $(OBJDIR)\sync$O $(OBJDIR)\tag$O $(OBJDIR)\tar$O $(OBJDIR)\th_main$O $(OBJDIR)\timeline$O $(OBJDIR)\tkt$O $(OBJDIR)\tktsetup$O $(OBJDIR)\undo$O $(OBJDIR)\update$O $(OBJDIR)\url$O $(OBJDIR)\user$O $(OBJDIR)\verify$O $(OBJDIR)\vfile$O $(OBJDIR)\wiki$O $(OBJDIR)\wikiformat$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 | |
| 33 | +OBJ = $(OBJDIR)\add$O $(OBJDIR)\allrepo$O $(OBJDIR)\attach$O $(OBJDIR)\bag$O $(OBJDIR)\bisect$O $(OBJDIR)\blob$O $(OBJDIR)\branch$O $(OBJDIR)\browse$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)\db$O $(OBJDIR)\delta$O $(OBJDIR)\deltacmd$O $(OBJDIR)\descendants$O $(OBJDIR)\diff$O $(OBJDIR)\diffcmd$O $(OBJDIR)\doc$O $(OBJDIR)\encode$O $(OBJDIR)\event$O $(OBJDIR)\export$O $(OBJDIR)\file$O $(OBJDIR)\finfo$O $(OBJDIR)\glob$O $(OBJDIR)\graph$O $(OBJDIR)\gzip$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_tag$O $(OBJDIR)\json_timeline$O $(OBJDIR)\json_user$O $(OBJDIR)\json_wiki$O $(OBJDIR)\leaf$O $(OBJDIR)\login$O $(OBJDIR)\main$O $(OBJDIR)\manifest$O $(OBJDIR)\md5$O $(OBJDIR)\merge$O $(OBJDIR)\merge3$O $(OBJDIR)\moderate$O $(OBJDIR)\name$O $(OBJDIR)\path$O $(OBJDIR)\pivot$O $(OBJDIR)\popen$O $(OBJDIR)\pqueue$O $(OBJDIR)\printf$O $(OBJDIR)\rebuild$O $(OBJDIR)\report$O $(OBJDIR)\rss$O $(OBJDIR)\schema$O $(OBJDIR)\search$O $(OBJDIR)\setup$O $(OBJDIR)\sha1$O $(OBJDIR)\shun$O $(OBJDIR)\skins$O $(OBJDIR)\sqlcmd$O $(OBJDIR)\stash$O $(OBJDIR)\stat$O $(OBJDIR)\style$O $(OBJDIR)\sync$O $(OBJDIR)\tag$O $(OBJDIR)\tar$O $(OBJDIR)\th_main$O $(OBJDIR)\timeline$O $(OBJDIR)\tkt$O $(OBJDIR)\tktsetup$O $(OBJDIR)\undo$O $(OBJDIR)\update$O $(OBJDIR)\url$O $(OBJDIR)\user$O $(OBJDIR)\utf8$O $(OBJDIR)\verify$O $(OBJDIR)\vfile$O $(OBJDIR)\wiki$O $(OBJDIR)\wikiformat$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 | |
| 34 | 34 | |
| 35 | 35 | |
| 36 | 36 | RC=$(DMDIR)\bin\rcc |
| 37 | 37 | RCFLAGS=-32 -w1 -I$(SRCDIR) /D__DMC__ |
| 38 | 38 | |
| @@ -46,11 +46,11 @@ | ||
| 46 | 46 | |
| 47 | 47 | $(OBJDIR)\fossil.res: $B\win\fossil.rc |
| 48 | 48 | $(RC) $(RCFLAGS) -o$@ $** |
| 49 | 49 | |
| 50 | 50 | $(OBJDIR)\link: $B\win\Makefile.dmc $(OBJDIR)\fossil.res |
| 51 | - +echo add allrepo attach bag bisect blob branch browse captcha cgi checkin checkout clearsign clone comformat configure content db delta deltacmd descendants diff diffcmd doc encode event export file finfo glob graph gzip 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_tag json_timeline json_user json_wiki leaf login main manifest md5 merge merge3 moderate name path pivot popen pqueue printf rebuild report rss schema search setup sha1 shun skins sqlcmd stash stat style sync tag tar th_main timeline tkt tktsetup undo update url user verify vfile wiki wikiformat winhttp wysiwyg xfer xfersetup zip shell sqlite3 th th_lang > $@ | |
| 51 | + +echo add allrepo attach bag bisect blob branch browse captcha cgi checkin checkout clearsign clone comformat configure content db delta deltacmd descendants diff diffcmd doc encode event export file finfo glob graph gzip 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_tag json_timeline json_user json_wiki leaf login main manifest md5 merge merge3 moderate name path pivot popen pqueue printf rebuild report rss schema search setup sha1 shun skins sqlcmd stash stat style sync tag tar th_main timeline tkt tktsetup undo update url user utf8 verify vfile wiki wikiformat winhttp wysiwyg xfer xfersetup zip shell sqlite3 th th_lang > $@ | |
| 52 | 52 | +echo fossil >> $@ |
| 53 | 53 | +echo fossil >> $@ |
| 54 | 54 | +echo $(LIBS) >> $@ |
| 55 | 55 | +echo. >> $@ |
| 56 | 56 | +echo fossil >> $@ |
| @@ -649,10 +649,16 @@ | ||
| 649 | 649 | $(OBJDIR)\user$O : user_.c user.h |
| 650 | 650 | $(TCC) -o$@ -c user_.c |
| 651 | 651 | |
| 652 | 652 | user_.c : $(SRCDIR)\user.c |
| 653 | 653 | +translate$E $** > $@ |
| 654 | + | |
| 655 | +$(OBJDIR)\utf8$O : utf8_.c utf8.h | |
| 656 | + $(TCC) -o$@ -c utf8_.c | |
| 657 | + | |
| 658 | +utf8_.c : $(SRCDIR)\utf8.c | |
| 659 | + +translate$E $** > $@ | |
| 654 | 660 | |
| 655 | 661 | $(OBJDIR)\verify$O : verify_.c verify.h |
| 656 | 662 | $(TCC) -o$@ -c verify_.c |
| 657 | 663 | |
| 658 | 664 | verify_.c : $(SRCDIR)\verify.c |
| @@ -705,7 +711,7 @@ | ||
| 705 | 711 | |
| 706 | 712 | zip_.c : $(SRCDIR)\zip.c |
| 707 | 713 | +translate$E $** > $@ |
| 708 | 714 | |
| 709 | 715 | headers: makeheaders$E page_index.h VERSION.h |
| 710 | - +makeheaders$E add_.c:add.h allrepo_.c:allrepo.h attach_.c:attach.h bag_.c:bag.h bisect_.c:bisect.h blob_.c:blob.h branch_.c:branch.h browse_.c:browse.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 db_.c:db.h delta_.c:delta.h deltacmd_.c:deltacmd.h descendants_.c:descendants.h diff_.c:diff.h diffcmd_.c:diffcmd.h doc_.c:doc.h encode_.c:encode.h event_.c:event.h export_.c:export.h file_.c:file.h finfo_.c:finfo.h glob_.c:glob.h graph_.c:graph.h gzip_.c:gzip.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_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 login_.c:login.h main_.c:main.h manifest_.c:manifest.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 pivot_.c:pivot.h popen_.c:popen.h pqueue_.c:pqueue.h printf_.c:printf.h rebuild_.c:rebuild.h report_.c:report.h rss_.c:rss.h schema_.c:schema.h search_.c:search.h setup_.c:setup.h sha1_.c:sha1.h shun_.c:shun.h skins_.c:skins.h sqlcmd_.c:sqlcmd.h stash_.c:stash.h stat_.c:stat.h style_.c:style.h sync_.c:sync.h tag_.c:tag.h tar_.c:tar.h th_main_.c:th_main.h timeline_.c:timeline.h tkt_.c:tkt.h tktsetup_.c:tktsetup.h undo_.c:undo.h update_.c:update.h url_.c:url.h user_.c:user.h verify_.c:verify.h vfile_.c:vfile.h wiki_.c:wiki.h wikiformat_.c:wikiformat.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 | |
| 716 | + +makeheaders$E add_.c:add.h allrepo_.c:allrepo.h attach_.c:attach.h bag_.c:bag.h bisect_.c:bisect.h blob_.c:blob.h branch_.c:branch.h browse_.c:browse.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 db_.c:db.h delta_.c:delta.h deltacmd_.c:deltacmd.h descendants_.c:descendants.h diff_.c:diff.h diffcmd_.c:diffcmd.h doc_.c:doc.h encode_.c:encode.h event_.c:event.h export_.c:export.h file_.c:file.h finfo_.c:finfo.h glob_.c:glob.h graph_.c:graph.h gzip_.c:gzip.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_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 login_.c:login.h main_.c:main.h manifest_.c:manifest.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 pivot_.c:pivot.h popen_.c:popen.h pqueue_.c:pqueue.h printf_.c:printf.h rebuild_.c:rebuild.h report_.c:report.h rss_.c:rss.h schema_.c:schema.h search_.c:search.h setup_.c:setup.h sha1_.c:sha1.h shun_.c:shun.h skins_.c:skins.h sqlcmd_.c:sqlcmd.h stash_.c:stash.h stat_.c:stat.h style_.c:style.h sync_.c:sync.h tag_.c:tag.h tar_.c:tar.h th_main_.c:th_main.h timeline_.c:timeline.h tkt_.c:tkt.h tktsetup_.c:tktsetup.h undo_.c:undo.h update_.c:update.h url_.c:url.h user_.c:user.h utf8_.c:utf8.h verify_.c:verify.h vfile_.c:vfile.h wiki_.c:wiki.h wikiformat_.c:wikiformat.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 | |
| 711 | 717 | @copy /Y nul: headers |
| 712 | 718 |
| --- win/Makefile.dmc | |
| +++ win/Makefile.dmc | |
| @@ -26,13 +26,13 @@ | |
| 26 | TCC = $(DMDIR)\bin\dmc $(CFLAGS) $(DMCDEF) $(SSL) $(INCL) |
| 27 | LIBS = $(DMDIR)\extra\lib\ zlib wsock32 advapi32 |
| 28 | |
| 29 | SQLITE_OPTIONS = -DSQLITE_OMIT_LOAD_EXTENSION=1 -DSQLITE_THREADSAFE=0 -DSQLITE_DEFAULT_FILE_FORMAT=4 -DSQLITE_ENABLE_STAT3 -Dlocaltime=fossil_localtime -DSQLITE_ENABLE_LOCKING_STYLE=0 |
| 30 | |
| 31 | SRC = add_.c allrepo_.c attach_.c bag_.c bisect_.c blob_.c branch_.c browse_.c captcha_.c cgi_.c checkin_.c checkout_.c clearsign_.c clone_.c comformat_.c configure_.c content_.c db_.c delta_.c deltacmd_.c descendants_.c diff_.c diffcmd_.c doc_.c encode_.c event_.c export_.c file_.c finfo_.c glob_.c graph_.c gzip_.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_tag_.c json_timeline_.c json_user_.c json_wiki_.c leaf_.c login_.c main_.c manifest_.c md5_.c merge_.c merge3_.c moderate_.c name_.c path_.c pivot_.c popen_.c pqueue_.c printf_.c rebuild_.c report_.c rss_.c schema_.c search_.c setup_.c sha1_.c shun_.c skins_.c sqlcmd_.c stash_.c stat_.c style_.c sync_.c tag_.c tar_.c th_main_.c timeline_.c tkt_.c tktsetup_.c undo_.c update_.c url_.c user_.c verify_.c vfile_.c wiki_.c wikiformat_.c winhttp_.c wysiwyg_.c xfer_.c xfersetup_.c zip_.c |
| 32 | |
| 33 | OBJ = $(OBJDIR)\add$O $(OBJDIR)\allrepo$O $(OBJDIR)\attach$O $(OBJDIR)\bag$O $(OBJDIR)\bisect$O $(OBJDIR)\blob$O $(OBJDIR)\branch$O $(OBJDIR)\browse$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)\db$O $(OBJDIR)\delta$O $(OBJDIR)\deltacmd$O $(OBJDIR)\descendants$O $(OBJDIR)\diff$O $(OBJDIR)\diffcmd$O $(OBJDIR)\doc$O $(OBJDIR)\encode$O $(OBJDIR)\event$O $(OBJDIR)\export$O $(OBJDIR)\file$O $(OBJDIR)\finfo$O $(OBJDIR)\glob$O $(OBJDIR)\graph$O $(OBJDIR)\gzip$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_tag$O $(OBJDIR)\json_timeline$O $(OBJDIR)\json_user$O $(OBJDIR)\json_wiki$O $(OBJDIR)\leaf$O $(OBJDIR)\login$O $(OBJDIR)\main$O $(OBJDIR)\manifest$O $(OBJDIR)\md5$O $(OBJDIR)\merge$O $(OBJDIR)\merge3$O $(OBJDIR)\moderate$O $(OBJDIR)\name$O $(OBJDIR)\path$O $(OBJDIR)\pivot$O $(OBJDIR)\popen$O $(OBJDIR)\pqueue$O $(OBJDIR)\printf$O $(OBJDIR)\rebuild$O $(OBJDIR)\report$O $(OBJDIR)\rss$O $(OBJDIR)\schema$O $(OBJDIR)\search$O $(OBJDIR)\setup$O $(OBJDIR)\sha1$O $(OBJDIR)\shun$O $(OBJDIR)\skins$O $(OBJDIR)\sqlcmd$O $(OBJDIR)\stash$O $(OBJDIR)\stat$O $(OBJDIR)\style$O $(OBJDIR)\sync$O $(OBJDIR)\tag$O $(OBJDIR)\tar$O $(OBJDIR)\th_main$O $(OBJDIR)\timeline$O $(OBJDIR)\tkt$O $(OBJDIR)\tktsetup$O $(OBJDIR)\undo$O $(OBJDIR)\update$O $(OBJDIR)\url$O $(OBJDIR)\user$O $(OBJDIR)\verify$O $(OBJDIR)\vfile$O $(OBJDIR)\wiki$O $(OBJDIR)\wikiformat$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 |
| 34 | |
| 35 | |
| 36 | RC=$(DMDIR)\bin\rcc |
| 37 | RCFLAGS=-32 -w1 -I$(SRCDIR) /D__DMC__ |
| 38 | |
| @@ -46,11 +46,11 @@ | |
| 46 | |
| 47 | $(OBJDIR)\fossil.res: $B\win\fossil.rc |
| 48 | $(RC) $(RCFLAGS) -o$@ $** |
| 49 | |
| 50 | $(OBJDIR)\link: $B\win\Makefile.dmc $(OBJDIR)\fossil.res |
| 51 | +echo add allrepo attach bag bisect blob branch browse captcha cgi checkin checkout clearsign clone comformat configure content db delta deltacmd descendants diff diffcmd doc encode event export file finfo glob graph gzip 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_tag json_timeline json_user json_wiki leaf login main manifest md5 merge merge3 moderate name path pivot popen pqueue printf rebuild report rss schema search setup sha1 shun skins sqlcmd stash stat style sync tag tar th_main timeline tkt tktsetup undo update url user verify vfile wiki wikiformat winhttp wysiwyg xfer xfersetup zip shell sqlite3 th th_lang > $@ |
| 52 | +echo fossil >> $@ |
| 53 | +echo fossil >> $@ |
| 54 | +echo $(LIBS) >> $@ |
| 55 | +echo. >> $@ |
| 56 | +echo fossil >> $@ |
| @@ -649,10 +649,16 @@ | |
| 649 | $(OBJDIR)\user$O : user_.c user.h |
| 650 | $(TCC) -o$@ -c user_.c |
| 651 | |
| 652 | user_.c : $(SRCDIR)\user.c |
| 653 | +translate$E $** > $@ |
| 654 | |
| 655 | $(OBJDIR)\verify$O : verify_.c verify.h |
| 656 | $(TCC) -o$@ -c verify_.c |
| 657 | |
| 658 | verify_.c : $(SRCDIR)\verify.c |
| @@ -705,7 +711,7 @@ | |
| 705 | |
| 706 | zip_.c : $(SRCDIR)\zip.c |
| 707 | +translate$E $** > $@ |
| 708 | |
| 709 | headers: makeheaders$E page_index.h VERSION.h |
| 710 | +makeheaders$E add_.c:add.h allrepo_.c:allrepo.h attach_.c:attach.h bag_.c:bag.h bisect_.c:bisect.h blob_.c:blob.h branch_.c:branch.h browse_.c:browse.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 db_.c:db.h delta_.c:delta.h deltacmd_.c:deltacmd.h descendants_.c:descendants.h diff_.c:diff.h diffcmd_.c:diffcmd.h doc_.c:doc.h encode_.c:encode.h event_.c:event.h export_.c:export.h file_.c:file.h finfo_.c:finfo.h glob_.c:glob.h graph_.c:graph.h gzip_.c:gzip.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_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 login_.c:login.h main_.c:main.h manifest_.c:manifest.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 pivot_.c:pivot.h popen_.c:popen.h pqueue_.c:pqueue.h printf_.c:printf.h rebuild_.c:rebuild.h report_.c:report.h rss_.c:rss.h schema_.c:schema.h search_.c:search.h setup_.c:setup.h sha1_.c:sha1.h shun_.c:shun.h skins_.c:skins.h sqlcmd_.c:sqlcmd.h stash_.c:stash.h stat_.c:stat.h style_.c:style.h sync_.c:sync.h tag_.c:tag.h tar_.c:tar.h th_main_.c:th_main.h timeline_.c:timeline.h tkt_.c:tkt.h tktsetup_.c:tktsetup.h undo_.c:undo.h update_.c:update.h url_.c:url.h user_.c:user.h verify_.c:verify.h vfile_.c:vfile.h wiki_.c:wiki.h wikiformat_.c:wikiformat.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 |
| 711 | @copy /Y nul: headers |
| 712 |
| --- win/Makefile.dmc | |
| +++ win/Makefile.dmc | |
| @@ -26,13 +26,13 @@ | |
| 26 | TCC = $(DMDIR)\bin\dmc $(CFLAGS) $(DMCDEF) $(SSL) $(INCL) |
| 27 | LIBS = $(DMDIR)\extra\lib\ zlib wsock32 advapi32 |
| 28 | |
| 29 | SQLITE_OPTIONS = -DSQLITE_OMIT_LOAD_EXTENSION=1 -DSQLITE_THREADSAFE=0 -DSQLITE_DEFAULT_FILE_FORMAT=4 -DSQLITE_ENABLE_STAT3 -Dlocaltime=fossil_localtime -DSQLITE_ENABLE_LOCKING_STYLE=0 |
| 30 | |
| 31 | SRC = add_.c allrepo_.c attach_.c bag_.c bisect_.c blob_.c branch_.c browse_.c captcha_.c cgi_.c checkin_.c checkout_.c clearsign_.c clone_.c comformat_.c configure_.c content_.c db_.c delta_.c deltacmd_.c descendants_.c diff_.c diffcmd_.c doc_.c encode_.c event_.c export_.c file_.c finfo_.c glob_.c graph_.c gzip_.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_tag_.c json_timeline_.c json_user_.c json_wiki_.c leaf_.c login_.c main_.c manifest_.c md5_.c merge_.c merge3_.c moderate_.c name_.c path_.c pivot_.c popen_.c pqueue_.c printf_.c rebuild_.c report_.c rss_.c schema_.c search_.c setup_.c sha1_.c shun_.c skins_.c sqlcmd_.c stash_.c stat_.c style_.c sync_.c tag_.c tar_.c th_main_.c timeline_.c tkt_.c tktsetup_.c undo_.c update_.c url_.c user_.c utf8_.c verify_.c vfile_.c wiki_.c wikiformat_.c winhttp_.c wysiwyg_.c xfer_.c xfersetup_.c zip_.c |
| 32 | |
| 33 | OBJ = $(OBJDIR)\add$O $(OBJDIR)\allrepo$O $(OBJDIR)\attach$O $(OBJDIR)\bag$O $(OBJDIR)\bisect$O $(OBJDIR)\blob$O $(OBJDIR)\branch$O $(OBJDIR)\browse$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)\db$O $(OBJDIR)\delta$O $(OBJDIR)\deltacmd$O $(OBJDIR)\descendants$O $(OBJDIR)\diff$O $(OBJDIR)\diffcmd$O $(OBJDIR)\doc$O $(OBJDIR)\encode$O $(OBJDIR)\event$O $(OBJDIR)\export$O $(OBJDIR)\file$O $(OBJDIR)\finfo$O $(OBJDIR)\glob$O $(OBJDIR)\graph$O $(OBJDIR)\gzip$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_tag$O $(OBJDIR)\json_timeline$O $(OBJDIR)\json_user$O $(OBJDIR)\json_wiki$O $(OBJDIR)\leaf$O $(OBJDIR)\login$O $(OBJDIR)\main$O $(OBJDIR)\manifest$O $(OBJDIR)\md5$O $(OBJDIR)\merge$O $(OBJDIR)\merge3$O $(OBJDIR)\moderate$O $(OBJDIR)\name$O $(OBJDIR)\path$O $(OBJDIR)\pivot$O $(OBJDIR)\popen$O $(OBJDIR)\pqueue$O $(OBJDIR)\printf$O $(OBJDIR)\rebuild$O $(OBJDIR)\report$O $(OBJDIR)\rss$O $(OBJDIR)\schema$O $(OBJDIR)\search$O $(OBJDIR)\setup$O $(OBJDIR)\sha1$O $(OBJDIR)\shun$O $(OBJDIR)\skins$O $(OBJDIR)\sqlcmd$O $(OBJDIR)\stash$O $(OBJDIR)\stat$O $(OBJDIR)\style$O $(OBJDIR)\sync$O $(OBJDIR)\tag$O $(OBJDIR)\tar$O $(OBJDIR)\th_main$O $(OBJDIR)\timeline$O $(OBJDIR)\tkt$O $(OBJDIR)\tktsetup$O $(OBJDIR)\undo$O $(OBJDIR)\update$O $(OBJDIR)\url$O $(OBJDIR)\user$O $(OBJDIR)\utf8$O $(OBJDIR)\verify$O $(OBJDIR)\vfile$O $(OBJDIR)\wiki$O $(OBJDIR)\wikiformat$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 |
| 34 | |
| 35 | |
| 36 | RC=$(DMDIR)\bin\rcc |
| 37 | RCFLAGS=-32 -w1 -I$(SRCDIR) /D__DMC__ |
| 38 | |
| @@ -46,11 +46,11 @@ | |
| 46 | |
| 47 | $(OBJDIR)\fossil.res: $B\win\fossil.rc |
| 48 | $(RC) $(RCFLAGS) -o$@ $** |
| 49 | |
| 50 | $(OBJDIR)\link: $B\win\Makefile.dmc $(OBJDIR)\fossil.res |
| 51 | +echo add allrepo attach bag bisect blob branch browse captcha cgi checkin checkout clearsign clone comformat configure content db delta deltacmd descendants diff diffcmd doc encode event export file finfo glob graph gzip 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_tag json_timeline json_user json_wiki leaf login main manifest md5 merge merge3 moderate name path pivot popen pqueue printf rebuild report rss schema search setup sha1 shun skins sqlcmd stash stat style sync tag tar th_main timeline tkt tktsetup undo update url user utf8 verify vfile wiki wikiformat winhttp wysiwyg xfer xfersetup zip shell sqlite3 th th_lang > $@ |
| 52 | +echo fossil >> $@ |
| 53 | +echo fossil >> $@ |
| 54 | +echo $(LIBS) >> $@ |
| 55 | +echo. >> $@ |
| 56 | +echo fossil >> $@ |
| @@ -649,10 +649,16 @@ | |
| 649 | $(OBJDIR)\user$O : user_.c user.h |
| 650 | $(TCC) -o$@ -c user_.c |
| 651 | |
| 652 | user_.c : $(SRCDIR)\user.c |
| 653 | +translate$E $** > $@ |
| 654 | |
| 655 | $(OBJDIR)\utf8$O : utf8_.c utf8.h |
| 656 | $(TCC) -o$@ -c utf8_.c |
| 657 | |
| 658 | utf8_.c : $(SRCDIR)\utf8.c |
| 659 | +translate$E $** > $@ |
| 660 | |
| 661 | $(OBJDIR)\verify$O : verify_.c verify.h |
| 662 | $(TCC) -o$@ -c verify_.c |
| 663 | |
| 664 | verify_.c : $(SRCDIR)\verify.c |
| @@ -705,7 +711,7 @@ | |
| 711 | |
| 712 | zip_.c : $(SRCDIR)\zip.c |
| 713 | +translate$E $** > $@ |
| 714 | |
| 715 | headers: makeheaders$E page_index.h VERSION.h |
| 716 | +makeheaders$E add_.c:add.h allrepo_.c:allrepo.h attach_.c:attach.h bag_.c:bag.h bisect_.c:bisect.h blob_.c:blob.h branch_.c:branch.h browse_.c:browse.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 db_.c:db.h delta_.c:delta.h deltacmd_.c:deltacmd.h descendants_.c:descendants.h diff_.c:diff.h diffcmd_.c:diffcmd.h doc_.c:doc.h encode_.c:encode.h event_.c:event.h export_.c:export.h file_.c:file.h finfo_.c:finfo.h glob_.c:glob.h graph_.c:graph.h gzip_.c:gzip.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_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 login_.c:login.h main_.c:main.h manifest_.c:manifest.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 pivot_.c:pivot.h popen_.c:popen.h pqueue_.c:pqueue.h printf_.c:printf.h rebuild_.c:rebuild.h report_.c:report.h rss_.c:rss.h schema_.c:schema.h search_.c:search.h setup_.c:setup.h sha1_.c:sha1.h shun_.c:shun.h skins_.c:skins.h sqlcmd_.c:sqlcmd.h stash_.c:stash.h stat_.c:stat.h style_.c:style.h sync_.c:sync.h tag_.c:tag.h tar_.c:tar.h th_main_.c:th_main.h timeline_.c:timeline.h tkt_.c:tkt.h tktsetup_.c:tktsetup.h undo_.c:undo.h update_.c:update.h url_.c:url.h user_.c:user.h utf8_.c:utf8.h verify_.c:verify.h vfile_.c:vfile.h wiki_.c:wiki.h wikiformat_.c:wikiformat.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 |
| 717 | @copy /Y nul: headers |
| 718 |
+12
-1
| --- win/Makefile.mingw | ||
| +++ win/Makefile.mingw | ||
| @@ -313,10 +313,11 @@ | ||
| 313 | 313 | $(SRCDIR)/tktsetup.c \ |
| 314 | 314 | $(SRCDIR)/undo.c \ |
| 315 | 315 | $(SRCDIR)/update.c \ |
| 316 | 316 | $(SRCDIR)/url.c \ |
| 317 | 317 | $(SRCDIR)/user.c \ |
| 318 | + $(SRCDIR)/utf8.c \ | |
| 318 | 319 | $(SRCDIR)/verify.c \ |
| 319 | 320 | $(SRCDIR)/vfile.c \ |
| 320 | 321 | $(SRCDIR)/wiki.c \ |
| 321 | 322 | $(SRCDIR)/wikiformat.c \ |
| 322 | 323 | $(SRCDIR)/winhttp.c \ |
| @@ -414,10 +415,11 @@ | ||
| 414 | 415 | $(OBJDIR)/tktsetup_.c \ |
| 415 | 416 | $(OBJDIR)/undo_.c \ |
| 416 | 417 | $(OBJDIR)/update_.c \ |
| 417 | 418 | $(OBJDIR)/url_.c \ |
| 418 | 419 | $(OBJDIR)/user_.c \ |
| 420 | + $(OBJDIR)/utf8_.c \ | |
| 419 | 421 | $(OBJDIR)/verify_.c \ |
| 420 | 422 | $(OBJDIR)/vfile_.c \ |
| 421 | 423 | $(OBJDIR)/wiki_.c \ |
| 422 | 424 | $(OBJDIR)/wikiformat_.c \ |
| 423 | 425 | $(OBJDIR)/winhttp_.c \ |
| @@ -515,10 +517,11 @@ | ||
| 515 | 517 | $(OBJDIR)/tktsetup.o \ |
| 516 | 518 | $(OBJDIR)/undo.o \ |
| 517 | 519 | $(OBJDIR)/update.o \ |
| 518 | 520 | $(OBJDIR)/url.o \ |
| 519 | 521 | $(OBJDIR)/user.o \ |
| 522 | + $(OBJDIR)/utf8.o \ | |
| 520 | 523 | $(OBJDIR)/verify.o \ |
| 521 | 524 | $(OBJDIR)/vfile.o \ |
| 522 | 525 | $(OBJDIR)/wiki.o \ |
| 523 | 526 | $(OBJDIR)/wikiformat.o \ |
| 524 | 527 | $(OBJDIR)/winhttp.o \ |
| @@ -639,11 +642,11 @@ | ||
| 639 | 642 | |
| 640 | 643 | $(OBJDIR)/page_index.h: $(TRANS_SRC) $(OBJDIR)/mkindex |
| 641 | 644 | $(MKINDEX) $(TRANS_SRC) >$@ |
| 642 | 645 | |
| 643 | 646 | $(OBJDIR)/headers: $(OBJDIR)/page_index.h $(OBJDIR)/makeheaders $(OBJDIR)/VERSION.h |
| 644 | - $(MAKEHEADERS) $(OBJDIR)/add_.c:$(OBJDIR)/add.h $(OBJDIR)/allrepo_.c:$(OBJDIR)/allrepo.h $(OBJDIR)/attach_.c:$(OBJDIR)/attach.h $(OBJDIR)/bag_.c:$(OBJDIR)/bag.h $(OBJDIR)/bisect_.c:$(OBJDIR)/bisect.h $(OBJDIR)/blob_.c:$(OBJDIR)/blob.h $(OBJDIR)/branch_.c:$(OBJDIR)/branch.h $(OBJDIR)/browse_.c:$(OBJDIR)/browse.h $(OBJDIR)/captcha_.c:$(OBJDIR)/captcha.h $(OBJDIR)/cgi_.c:$(OBJDIR)/cgi.h $(OBJDIR)/checkin_.c:$(OBJDIR)/checkin.h $(OBJDIR)/checkout_.c:$(OBJDIR)/checkout.h $(OBJDIR)/clearsign_.c:$(OBJDIR)/clearsign.h $(OBJDIR)/clone_.c:$(OBJDIR)/clone.h $(OBJDIR)/comformat_.c:$(OBJDIR)/comformat.h $(OBJDIR)/configure_.c:$(OBJDIR)/configure.h $(OBJDIR)/content_.c:$(OBJDIR)/content.h $(OBJDIR)/db_.c:$(OBJDIR)/db.h $(OBJDIR)/delta_.c:$(OBJDIR)/delta.h $(OBJDIR)/deltacmd_.c:$(OBJDIR)/deltacmd.h $(OBJDIR)/descendants_.c:$(OBJDIR)/descendants.h $(OBJDIR)/diff_.c:$(OBJDIR)/diff.h $(OBJDIR)/diffcmd_.c:$(OBJDIR)/diffcmd.h $(OBJDIR)/doc_.c:$(OBJDIR)/doc.h $(OBJDIR)/encode_.c:$(OBJDIR)/encode.h $(OBJDIR)/event_.c:$(OBJDIR)/event.h $(OBJDIR)/export_.c:$(OBJDIR)/export.h $(OBJDIR)/file_.c:$(OBJDIR)/file.h $(OBJDIR)/finfo_.c:$(OBJDIR)/finfo.h $(OBJDIR)/glob_.c:$(OBJDIR)/glob.h $(OBJDIR)/graph_.c:$(OBJDIR)/graph.h $(OBJDIR)/gzip_.c:$(OBJDIR)/gzip.h $(OBJDIR)/http_.c:$(OBJDIR)/http.h $(OBJDIR)/http_socket_.c:$(OBJDIR)/http_socket.h $(OBJDIR)/http_ssl_.c:$(OBJDIR)/http_ssl.h $(OBJDIR)/http_transport_.c:$(OBJDIR)/http_transport.h $(OBJDIR)/import_.c:$(OBJDIR)/import.h $(OBJDIR)/info_.c:$(OBJDIR)/info.h $(OBJDIR)/json_.c:$(OBJDIR)/json.h $(OBJDIR)/json_artifact_.c:$(OBJDIR)/json_artifact.h $(OBJDIR)/json_branch_.c:$(OBJDIR)/json_branch.h $(OBJDIR)/json_config_.c:$(OBJDIR)/json_config.h $(OBJDIR)/json_diff_.c:$(OBJDIR)/json_diff.h $(OBJDIR)/json_dir_.c:$(OBJDIR)/json_dir.h $(OBJDIR)/json_finfo_.c:$(OBJDIR)/json_finfo.h $(OBJDIR)/json_login_.c:$(OBJDIR)/json_login.h $(OBJDIR)/json_query_.c:$(OBJDIR)/json_query.h $(OBJDIR)/json_report_.c:$(OBJDIR)/json_report.h $(OBJDIR)/json_tag_.c:$(OBJDIR)/json_tag.h $(OBJDIR)/json_timeline_.c:$(OBJDIR)/json_timeline.h $(OBJDIR)/json_user_.c:$(OBJDIR)/json_user.h $(OBJDIR)/json_wiki_.c:$(OBJDIR)/json_wiki.h $(OBJDIR)/leaf_.c:$(OBJDIR)/leaf.h $(OBJDIR)/login_.c:$(OBJDIR)/login.h $(OBJDIR)/main_.c:$(OBJDIR)/main.h $(OBJDIR)/manifest_.c:$(OBJDIR)/manifest.h $(OBJDIR)/md5_.c:$(OBJDIR)/md5.h $(OBJDIR)/merge_.c:$(OBJDIR)/merge.h $(OBJDIR)/merge3_.c:$(OBJDIR)/merge3.h $(OBJDIR)/moderate_.c:$(OBJDIR)/moderate.h $(OBJDIR)/name_.c:$(OBJDIR)/name.h $(OBJDIR)/path_.c:$(OBJDIR)/path.h $(OBJDIR)/pivot_.c:$(OBJDIR)/pivot.h $(OBJDIR)/popen_.c:$(OBJDIR)/popen.h $(OBJDIR)/pqueue_.c:$(OBJDIR)/pqueue.h $(OBJDIR)/printf_.c:$(OBJDIR)/printf.h $(OBJDIR)/rebuild_.c:$(OBJDIR)/rebuild.h $(OBJDIR)/report_.c:$(OBJDIR)/report.h $(OBJDIR)/rss_.c:$(OBJDIR)/rss.h $(OBJDIR)/schema_.c:$(OBJDIR)/schema.h $(OBJDIR)/search_.c:$(OBJDIR)/search.h $(OBJDIR)/setup_.c:$(OBJDIR)/setup.h $(OBJDIR)/sha1_.c:$(OBJDIR)/sha1.h $(OBJDIR)/shun_.c:$(OBJDIR)/shun.h $(OBJDIR)/skins_.c:$(OBJDIR)/skins.h $(OBJDIR)/sqlcmd_.c:$(OBJDIR)/sqlcmd.h $(OBJDIR)/stash_.c:$(OBJDIR)/stash.h $(OBJDIR)/stat_.c:$(OBJDIR)/stat.h $(OBJDIR)/style_.c:$(OBJDIR)/style.h $(OBJDIR)/sync_.c:$(OBJDIR)/sync.h $(OBJDIR)/tag_.c:$(OBJDIR)/tag.h $(OBJDIR)/tar_.c:$(OBJDIR)/tar.h $(OBJDIR)/th_main_.c:$(OBJDIR)/th_main.h $(OBJDIR)/timeline_.c:$(OBJDIR)/timeline.h $(OBJDIR)/tkt_.c:$(OBJDIR)/tkt.h $(OBJDIR)/tktsetup_.c:$(OBJDIR)/tktsetup.h $(OBJDIR)/undo_.c:$(OBJDIR)/undo.h $(OBJDIR)/update_.c:$(OBJDIR)/update.h $(OBJDIR)/url_.c:$(OBJDIR)/url.h $(OBJDIR)/user_.c:$(OBJDIR)/user.h $(OBJDIR)/verify_.c:$(OBJDIR)/verify.h $(OBJDIR)/vfile_.c:$(OBJDIR)/vfile.h $(OBJDIR)/wiki_.c:$(OBJDIR)/wiki.h $(OBJDIR)/wikiformat_.c:$(OBJDIR)/wikiformat.h $(OBJDIR)/winhttp_.c:$(OBJDIR)/winhttp.h $(OBJDIR)/wysiwyg_.c:$(OBJDIR)/wysiwyg.h $(OBJDIR)/xfer_.c:$(OBJDIR)/xfer.h $(OBJDIR)/xfersetup_.c:$(OBJDIR)/xfersetup.h $(OBJDIR)/zip_.c:$(OBJDIR)/zip.h $(SRCDIR)/sqlite3.h $(SRCDIR)/th.h $(OBJDIR)/VERSION.h | |
| 647 | + $(MAKEHEADERS) $(OBJDIR)/add_.c:$(OBJDIR)/add.h $(OBJDIR)/allrepo_.c:$(OBJDIR)/allrepo.h $(OBJDIR)/attach_.c:$(OBJDIR)/attach.h $(OBJDIR)/bag_.c:$(OBJDIR)/bag.h $(OBJDIR)/bisect_.c:$(OBJDIR)/bisect.h $(OBJDIR)/blob_.c:$(OBJDIR)/blob.h $(OBJDIR)/branch_.c:$(OBJDIR)/branch.h $(OBJDIR)/browse_.c:$(OBJDIR)/browse.h $(OBJDIR)/captcha_.c:$(OBJDIR)/captcha.h $(OBJDIR)/cgi_.c:$(OBJDIR)/cgi.h $(OBJDIR)/checkin_.c:$(OBJDIR)/checkin.h $(OBJDIR)/checkout_.c:$(OBJDIR)/checkout.h $(OBJDIR)/clearsign_.c:$(OBJDIR)/clearsign.h $(OBJDIR)/clone_.c:$(OBJDIR)/clone.h $(OBJDIR)/comformat_.c:$(OBJDIR)/comformat.h $(OBJDIR)/configure_.c:$(OBJDIR)/configure.h $(OBJDIR)/content_.c:$(OBJDIR)/content.h $(OBJDIR)/db_.c:$(OBJDIR)/db.h $(OBJDIR)/delta_.c:$(OBJDIR)/delta.h $(OBJDIR)/deltacmd_.c:$(OBJDIR)/deltacmd.h $(OBJDIR)/descendants_.c:$(OBJDIR)/descendants.h $(OBJDIR)/diff_.c:$(OBJDIR)/diff.h $(OBJDIR)/diffcmd_.c:$(OBJDIR)/diffcmd.h $(OBJDIR)/doc_.c:$(OBJDIR)/doc.h $(OBJDIR)/encode_.c:$(OBJDIR)/encode.h $(OBJDIR)/event_.c:$(OBJDIR)/event.h $(OBJDIR)/export_.c:$(OBJDIR)/export.h $(OBJDIR)/file_.c:$(OBJDIR)/file.h $(OBJDIR)/finfo_.c:$(OBJDIR)/finfo.h $(OBJDIR)/glob_.c:$(OBJDIR)/glob.h $(OBJDIR)/graph_.c:$(OBJDIR)/graph.h $(OBJDIR)/gzip_.c:$(OBJDIR)/gzip.h $(OBJDIR)/http_.c:$(OBJDIR)/http.h $(OBJDIR)/http_socket_.c:$(OBJDIR)/http_socket.h $(OBJDIR)/http_ssl_.c:$(OBJDIR)/http_ssl.h $(OBJDIR)/http_transport_.c:$(OBJDIR)/http_transport.h $(OBJDIR)/import_.c:$(OBJDIR)/import.h $(OBJDIR)/info_.c:$(OBJDIR)/info.h $(OBJDIR)/json_.c:$(OBJDIR)/json.h $(OBJDIR)/json_artifact_.c:$(OBJDIR)/json_artifact.h $(OBJDIR)/json_branch_.c:$(OBJDIR)/json_branch.h $(OBJDIR)/json_config_.c:$(OBJDIR)/json_config.h $(OBJDIR)/json_diff_.c:$(OBJDIR)/json_diff.h $(OBJDIR)/json_dir_.c:$(OBJDIR)/json_dir.h $(OBJDIR)/json_finfo_.c:$(OBJDIR)/json_finfo.h $(OBJDIR)/json_login_.c:$(OBJDIR)/json_login.h $(OBJDIR)/json_query_.c:$(OBJDIR)/json_query.h $(OBJDIR)/json_report_.c:$(OBJDIR)/json_report.h $(OBJDIR)/json_tag_.c:$(OBJDIR)/json_tag.h $(OBJDIR)/json_timeline_.c:$(OBJDIR)/json_timeline.h $(OBJDIR)/json_user_.c:$(OBJDIR)/json_user.h $(OBJDIR)/json_wiki_.c:$(OBJDIR)/json_wiki.h $(OBJDIR)/leaf_.c:$(OBJDIR)/leaf.h $(OBJDIR)/login_.c:$(OBJDIR)/login.h $(OBJDIR)/main_.c:$(OBJDIR)/main.h $(OBJDIR)/manifest_.c:$(OBJDIR)/manifest.h $(OBJDIR)/md5_.c:$(OBJDIR)/md5.h $(OBJDIR)/merge_.c:$(OBJDIR)/merge.h $(OBJDIR)/merge3_.c:$(OBJDIR)/merge3.h $(OBJDIR)/moderate_.c:$(OBJDIR)/moderate.h $(OBJDIR)/name_.c:$(OBJDIR)/name.h $(OBJDIR)/path_.c:$(OBJDIR)/path.h $(OBJDIR)/pivot_.c:$(OBJDIR)/pivot.h $(OBJDIR)/popen_.c:$(OBJDIR)/popen.h $(OBJDIR)/pqueue_.c:$(OBJDIR)/pqueue.h $(OBJDIR)/printf_.c:$(OBJDIR)/printf.h $(OBJDIR)/rebuild_.c:$(OBJDIR)/rebuild.h $(OBJDIR)/report_.c:$(OBJDIR)/report.h $(OBJDIR)/rss_.c:$(OBJDIR)/rss.h $(OBJDIR)/schema_.c:$(OBJDIR)/schema.h $(OBJDIR)/search_.c:$(OBJDIR)/search.h $(OBJDIR)/setup_.c:$(OBJDIR)/setup.h $(OBJDIR)/sha1_.c:$(OBJDIR)/sha1.h $(OBJDIR)/shun_.c:$(OBJDIR)/shun.h $(OBJDIR)/skins_.c:$(OBJDIR)/skins.h $(OBJDIR)/sqlcmd_.c:$(OBJDIR)/sqlcmd.h $(OBJDIR)/stash_.c:$(OBJDIR)/stash.h $(OBJDIR)/stat_.c:$(OBJDIR)/stat.h $(OBJDIR)/style_.c:$(OBJDIR)/style.h $(OBJDIR)/sync_.c:$(OBJDIR)/sync.h $(OBJDIR)/tag_.c:$(OBJDIR)/tag.h $(OBJDIR)/tar_.c:$(OBJDIR)/tar.h $(OBJDIR)/th_main_.c:$(OBJDIR)/th_main.h $(OBJDIR)/timeline_.c:$(OBJDIR)/timeline.h $(OBJDIR)/tkt_.c:$(OBJDIR)/tkt.h $(OBJDIR)/tktsetup_.c:$(OBJDIR)/tktsetup.h $(OBJDIR)/undo_.c:$(OBJDIR)/undo.h $(OBJDIR)/update_.c:$(OBJDIR)/update.h $(OBJDIR)/url_.c:$(OBJDIR)/url.h $(OBJDIR)/user_.c:$(OBJDIR)/user.h $(OBJDIR)/utf8_.c:$(OBJDIR)/utf8.h $(OBJDIR)/verify_.c:$(OBJDIR)/verify.h $(OBJDIR)/vfile_.c:$(OBJDIR)/vfile.h $(OBJDIR)/wiki_.c:$(OBJDIR)/wiki.h $(OBJDIR)/wikiformat_.c:$(OBJDIR)/wikiformat.h $(OBJDIR)/winhttp_.c:$(OBJDIR)/winhttp.h $(OBJDIR)/wysiwyg_.c:$(OBJDIR)/wysiwyg.h $(OBJDIR)/xfer_.c:$(OBJDIR)/xfer.h $(OBJDIR)/xfersetup_.c:$(OBJDIR)/xfersetup.h $(OBJDIR)/zip_.c:$(OBJDIR)/zip.h $(SRCDIR)/sqlite3.h $(SRCDIR)/th.h $(OBJDIR)/VERSION.h | |
| 645 | 648 | echo Done >$(OBJDIR)/headers |
| 646 | 649 | |
| 647 | 650 | $(OBJDIR)/headers: Makefile |
| 648 | 651 | |
| 649 | 652 | Makefile: |
| @@ -1365,10 +1368,18 @@ | ||
| 1365 | 1368 | |
| 1366 | 1369 | $(OBJDIR)/user.o: $(OBJDIR)/user_.c $(OBJDIR)/user.h $(SRCDIR)/config.h |
| 1367 | 1370 | $(XTCC) -o $(OBJDIR)/user.o -c $(OBJDIR)/user_.c |
| 1368 | 1371 | |
| 1369 | 1372 | $(OBJDIR)/user.h: $(OBJDIR)/headers |
| 1373 | + | |
| 1374 | +$(OBJDIR)/utf8_.c: $(SRCDIR)/utf8.c $(OBJDIR)/translate | |
| 1375 | + $(TRANSLATE) $(SRCDIR)/utf8.c >$(OBJDIR)/utf8_.c | |
| 1376 | + | |
| 1377 | +$(OBJDIR)/utf8.o: $(OBJDIR)/utf8_.c $(OBJDIR)/utf8.h $(SRCDIR)/config.h | |
| 1378 | + $(XTCC) -o $(OBJDIR)/utf8.o -c $(OBJDIR)/utf8_.c | |
| 1379 | + | |
| 1380 | +$(OBJDIR)/utf8.h: $(OBJDIR)/headers | |
| 1370 | 1381 | |
| 1371 | 1382 | $(OBJDIR)/verify_.c: $(SRCDIR)/verify.c $(OBJDIR)/translate |
| 1372 | 1383 | $(TRANSLATE) $(SRCDIR)/verify.c >$(OBJDIR)/verify_.c |
| 1373 | 1384 | |
| 1374 | 1385 | $(OBJDIR)/verify.o: $(OBJDIR)/verify_.c $(OBJDIR)/verify.h $(SRCDIR)/config.h |
| 1375 | 1386 |
| --- win/Makefile.mingw | |
| +++ win/Makefile.mingw | |
| @@ -313,10 +313,11 @@ | |
| 313 | $(SRCDIR)/tktsetup.c \ |
| 314 | $(SRCDIR)/undo.c \ |
| 315 | $(SRCDIR)/update.c \ |
| 316 | $(SRCDIR)/url.c \ |
| 317 | $(SRCDIR)/user.c \ |
| 318 | $(SRCDIR)/verify.c \ |
| 319 | $(SRCDIR)/vfile.c \ |
| 320 | $(SRCDIR)/wiki.c \ |
| 321 | $(SRCDIR)/wikiformat.c \ |
| 322 | $(SRCDIR)/winhttp.c \ |
| @@ -414,10 +415,11 @@ | |
| 414 | $(OBJDIR)/tktsetup_.c \ |
| 415 | $(OBJDIR)/undo_.c \ |
| 416 | $(OBJDIR)/update_.c \ |
| 417 | $(OBJDIR)/url_.c \ |
| 418 | $(OBJDIR)/user_.c \ |
| 419 | $(OBJDIR)/verify_.c \ |
| 420 | $(OBJDIR)/vfile_.c \ |
| 421 | $(OBJDIR)/wiki_.c \ |
| 422 | $(OBJDIR)/wikiformat_.c \ |
| 423 | $(OBJDIR)/winhttp_.c \ |
| @@ -515,10 +517,11 @@ | |
| 515 | $(OBJDIR)/tktsetup.o \ |
| 516 | $(OBJDIR)/undo.o \ |
| 517 | $(OBJDIR)/update.o \ |
| 518 | $(OBJDIR)/url.o \ |
| 519 | $(OBJDIR)/user.o \ |
| 520 | $(OBJDIR)/verify.o \ |
| 521 | $(OBJDIR)/vfile.o \ |
| 522 | $(OBJDIR)/wiki.o \ |
| 523 | $(OBJDIR)/wikiformat.o \ |
| 524 | $(OBJDIR)/winhttp.o \ |
| @@ -639,11 +642,11 @@ | |
| 639 | |
| 640 | $(OBJDIR)/page_index.h: $(TRANS_SRC) $(OBJDIR)/mkindex |
| 641 | $(MKINDEX) $(TRANS_SRC) >$@ |
| 642 | |
| 643 | $(OBJDIR)/headers: $(OBJDIR)/page_index.h $(OBJDIR)/makeheaders $(OBJDIR)/VERSION.h |
| 644 | $(MAKEHEADERS) $(OBJDIR)/add_.c:$(OBJDIR)/add.h $(OBJDIR)/allrepo_.c:$(OBJDIR)/allrepo.h $(OBJDIR)/attach_.c:$(OBJDIR)/attach.h $(OBJDIR)/bag_.c:$(OBJDIR)/bag.h $(OBJDIR)/bisect_.c:$(OBJDIR)/bisect.h $(OBJDIR)/blob_.c:$(OBJDIR)/blob.h $(OBJDIR)/branch_.c:$(OBJDIR)/branch.h $(OBJDIR)/browse_.c:$(OBJDIR)/browse.h $(OBJDIR)/captcha_.c:$(OBJDIR)/captcha.h $(OBJDIR)/cgi_.c:$(OBJDIR)/cgi.h $(OBJDIR)/checkin_.c:$(OBJDIR)/checkin.h $(OBJDIR)/checkout_.c:$(OBJDIR)/checkout.h $(OBJDIR)/clearsign_.c:$(OBJDIR)/clearsign.h $(OBJDIR)/clone_.c:$(OBJDIR)/clone.h $(OBJDIR)/comformat_.c:$(OBJDIR)/comformat.h $(OBJDIR)/configure_.c:$(OBJDIR)/configure.h $(OBJDIR)/content_.c:$(OBJDIR)/content.h $(OBJDIR)/db_.c:$(OBJDIR)/db.h $(OBJDIR)/delta_.c:$(OBJDIR)/delta.h $(OBJDIR)/deltacmd_.c:$(OBJDIR)/deltacmd.h $(OBJDIR)/descendants_.c:$(OBJDIR)/descendants.h $(OBJDIR)/diff_.c:$(OBJDIR)/diff.h $(OBJDIR)/diffcmd_.c:$(OBJDIR)/diffcmd.h $(OBJDIR)/doc_.c:$(OBJDIR)/doc.h $(OBJDIR)/encode_.c:$(OBJDIR)/encode.h $(OBJDIR)/event_.c:$(OBJDIR)/event.h $(OBJDIR)/export_.c:$(OBJDIR)/export.h $(OBJDIR)/file_.c:$(OBJDIR)/file.h $(OBJDIR)/finfo_.c:$(OBJDIR)/finfo.h $(OBJDIR)/glob_.c:$(OBJDIR)/glob.h $(OBJDIR)/graph_.c:$(OBJDIR)/graph.h $(OBJDIR)/gzip_.c:$(OBJDIR)/gzip.h $(OBJDIR)/http_.c:$(OBJDIR)/http.h $(OBJDIR)/http_socket_.c:$(OBJDIR)/http_socket.h $(OBJDIR)/http_ssl_.c:$(OBJDIR)/http_ssl.h $(OBJDIR)/http_transport_.c:$(OBJDIR)/http_transport.h $(OBJDIR)/import_.c:$(OBJDIR)/import.h $(OBJDIR)/info_.c:$(OBJDIR)/info.h $(OBJDIR)/json_.c:$(OBJDIR)/json.h $(OBJDIR)/json_artifact_.c:$(OBJDIR)/json_artifact.h $(OBJDIR)/json_branch_.c:$(OBJDIR)/json_branch.h $(OBJDIR)/json_config_.c:$(OBJDIR)/json_config.h $(OBJDIR)/json_diff_.c:$(OBJDIR)/json_diff.h $(OBJDIR)/json_dir_.c:$(OBJDIR)/json_dir.h $(OBJDIR)/json_finfo_.c:$(OBJDIR)/json_finfo.h $(OBJDIR)/json_login_.c:$(OBJDIR)/json_login.h $(OBJDIR)/json_query_.c:$(OBJDIR)/json_query.h $(OBJDIR)/json_report_.c:$(OBJDIR)/json_report.h $(OBJDIR)/json_tag_.c:$(OBJDIR)/json_tag.h $(OBJDIR)/json_timeline_.c:$(OBJDIR)/json_timeline.h $(OBJDIR)/json_user_.c:$(OBJDIR)/json_user.h $(OBJDIR)/json_wiki_.c:$(OBJDIR)/json_wiki.h $(OBJDIR)/leaf_.c:$(OBJDIR)/leaf.h $(OBJDIR)/login_.c:$(OBJDIR)/login.h $(OBJDIR)/main_.c:$(OBJDIR)/main.h $(OBJDIR)/manifest_.c:$(OBJDIR)/manifest.h $(OBJDIR)/md5_.c:$(OBJDIR)/md5.h $(OBJDIR)/merge_.c:$(OBJDIR)/merge.h $(OBJDIR)/merge3_.c:$(OBJDIR)/merge3.h $(OBJDIR)/moderate_.c:$(OBJDIR)/moderate.h $(OBJDIR)/name_.c:$(OBJDIR)/name.h $(OBJDIR)/path_.c:$(OBJDIR)/path.h $(OBJDIR)/pivot_.c:$(OBJDIR)/pivot.h $(OBJDIR)/popen_.c:$(OBJDIR)/popen.h $(OBJDIR)/pqueue_.c:$(OBJDIR)/pqueue.h $(OBJDIR)/printf_.c:$(OBJDIR)/printf.h $(OBJDIR)/rebuild_.c:$(OBJDIR)/rebuild.h $(OBJDIR)/report_.c:$(OBJDIR)/report.h $(OBJDIR)/rss_.c:$(OBJDIR)/rss.h $(OBJDIR)/schema_.c:$(OBJDIR)/schema.h $(OBJDIR)/search_.c:$(OBJDIR)/search.h $(OBJDIR)/setup_.c:$(OBJDIR)/setup.h $(OBJDIR)/sha1_.c:$(OBJDIR)/sha1.h $(OBJDIR)/shun_.c:$(OBJDIR)/shun.h $(OBJDIR)/skins_.c:$(OBJDIR)/skins.h $(OBJDIR)/sqlcmd_.c:$(OBJDIR)/sqlcmd.h $(OBJDIR)/stash_.c:$(OBJDIR)/stash.h $(OBJDIR)/stat_.c:$(OBJDIR)/stat.h $(OBJDIR)/style_.c:$(OBJDIR)/style.h $(OBJDIR)/sync_.c:$(OBJDIR)/sync.h $(OBJDIR)/tag_.c:$(OBJDIR)/tag.h $(OBJDIR)/tar_.c:$(OBJDIR)/tar.h $(OBJDIR)/th_main_.c:$(OBJDIR)/th_main.h $(OBJDIR)/timeline_.c:$(OBJDIR)/timeline.h $(OBJDIR)/tkt_.c:$(OBJDIR)/tkt.h $(OBJDIR)/tktsetup_.c:$(OBJDIR)/tktsetup.h $(OBJDIR)/undo_.c:$(OBJDIR)/undo.h $(OBJDIR)/update_.c:$(OBJDIR)/update.h $(OBJDIR)/url_.c:$(OBJDIR)/url.h $(OBJDIR)/user_.c:$(OBJDIR)/user.h $(OBJDIR)/verify_.c:$(OBJDIR)/verify.h $(OBJDIR)/vfile_.c:$(OBJDIR)/vfile.h $(OBJDIR)/wiki_.c:$(OBJDIR)/wiki.h $(OBJDIR)/wikiformat_.c:$(OBJDIR)/wikiformat.h $(OBJDIR)/winhttp_.c:$(OBJDIR)/winhttp.h $(OBJDIR)/wysiwyg_.c:$(OBJDIR)/wysiwyg.h $(OBJDIR)/xfer_.c:$(OBJDIR)/xfer.h $(OBJDIR)/xfersetup_.c:$(OBJDIR)/xfersetup.h $(OBJDIR)/zip_.c:$(OBJDIR)/zip.h $(SRCDIR)/sqlite3.h $(SRCDIR)/th.h $(OBJDIR)/VERSION.h |
| 645 | echo Done >$(OBJDIR)/headers |
| 646 | |
| 647 | $(OBJDIR)/headers: Makefile |
| 648 | |
| 649 | Makefile: |
| @@ -1365,10 +1368,18 @@ | |
| 1365 | |
| 1366 | $(OBJDIR)/user.o: $(OBJDIR)/user_.c $(OBJDIR)/user.h $(SRCDIR)/config.h |
| 1367 | $(XTCC) -o $(OBJDIR)/user.o -c $(OBJDIR)/user_.c |
| 1368 | |
| 1369 | $(OBJDIR)/user.h: $(OBJDIR)/headers |
| 1370 | |
| 1371 | $(OBJDIR)/verify_.c: $(SRCDIR)/verify.c $(OBJDIR)/translate |
| 1372 | $(TRANSLATE) $(SRCDIR)/verify.c >$(OBJDIR)/verify_.c |
| 1373 | |
| 1374 | $(OBJDIR)/verify.o: $(OBJDIR)/verify_.c $(OBJDIR)/verify.h $(SRCDIR)/config.h |
| 1375 |
| --- win/Makefile.mingw | |
| +++ win/Makefile.mingw | |
| @@ -313,10 +313,11 @@ | |
| 313 | $(SRCDIR)/tktsetup.c \ |
| 314 | $(SRCDIR)/undo.c \ |
| 315 | $(SRCDIR)/update.c \ |
| 316 | $(SRCDIR)/url.c \ |
| 317 | $(SRCDIR)/user.c \ |
| 318 | $(SRCDIR)/utf8.c \ |
| 319 | $(SRCDIR)/verify.c \ |
| 320 | $(SRCDIR)/vfile.c \ |
| 321 | $(SRCDIR)/wiki.c \ |
| 322 | $(SRCDIR)/wikiformat.c \ |
| 323 | $(SRCDIR)/winhttp.c \ |
| @@ -414,10 +415,11 @@ | |
| 415 | $(OBJDIR)/tktsetup_.c \ |
| 416 | $(OBJDIR)/undo_.c \ |
| 417 | $(OBJDIR)/update_.c \ |
| 418 | $(OBJDIR)/url_.c \ |
| 419 | $(OBJDIR)/user_.c \ |
| 420 | $(OBJDIR)/utf8_.c \ |
| 421 | $(OBJDIR)/verify_.c \ |
| 422 | $(OBJDIR)/vfile_.c \ |
| 423 | $(OBJDIR)/wiki_.c \ |
| 424 | $(OBJDIR)/wikiformat_.c \ |
| 425 | $(OBJDIR)/winhttp_.c \ |
| @@ -515,10 +517,11 @@ | |
| 517 | $(OBJDIR)/tktsetup.o \ |
| 518 | $(OBJDIR)/undo.o \ |
| 519 | $(OBJDIR)/update.o \ |
| 520 | $(OBJDIR)/url.o \ |
| 521 | $(OBJDIR)/user.o \ |
| 522 | $(OBJDIR)/utf8.o \ |
| 523 | $(OBJDIR)/verify.o \ |
| 524 | $(OBJDIR)/vfile.o \ |
| 525 | $(OBJDIR)/wiki.o \ |
| 526 | $(OBJDIR)/wikiformat.o \ |
| 527 | $(OBJDIR)/winhttp.o \ |
| @@ -639,11 +642,11 @@ | |
| 642 | |
| 643 | $(OBJDIR)/page_index.h: $(TRANS_SRC) $(OBJDIR)/mkindex |
| 644 | $(MKINDEX) $(TRANS_SRC) >$@ |
| 645 | |
| 646 | $(OBJDIR)/headers: $(OBJDIR)/page_index.h $(OBJDIR)/makeheaders $(OBJDIR)/VERSION.h |
| 647 | $(MAKEHEADERS) $(OBJDIR)/add_.c:$(OBJDIR)/add.h $(OBJDIR)/allrepo_.c:$(OBJDIR)/allrepo.h $(OBJDIR)/attach_.c:$(OBJDIR)/attach.h $(OBJDIR)/bag_.c:$(OBJDIR)/bag.h $(OBJDIR)/bisect_.c:$(OBJDIR)/bisect.h $(OBJDIR)/blob_.c:$(OBJDIR)/blob.h $(OBJDIR)/branch_.c:$(OBJDIR)/branch.h $(OBJDIR)/browse_.c:$(OBJDIR)/browse.h $(OBJDIR)/captcha_.c:$(OBJDIR)/captcha.h $(OBJDIR)/cgi_.c:$(OBJDIR)/cgi.h $(OBJDIR)/checkin_.c:$(OBJDIR)/checkin.h $(OBJDIR)/checkout_.c:$(OBJDIR)/checkout.h $(OBJDIR)/clearsign_.c:$(OBJDIR)/clearsign.h $(OBJDIR)/clone_.c:$(OBJDIR)/clone.h $(OBJDIR)/comformat_.c:$(OBJDIR)/comformat.h $(OBJDIR)/configure_.c:$(OBJDIR)/configure.h $(OBJDIR)/content_.c:$(OBJDIR)/content.h $(OBJDIR)/db_.c:$(OBJDIR)/db.h $(OBJDIR)/delta_.c:$(OBJDIR)/delta.h $(OBJDIR)/deltacmd_.c:$(OBJDIR)/deltacmd.h $(OBJDIR)/descendants_.c:$(OBJDIR)/descendants.h $(OBJDIR)/diff_.c:$(OBJDIR)/diff.h $(OBJDIR)/diffcmd_.c:$(OBJDIR)/diffcmd.h $(OBJDIR)/doc_.c:$(OBJDIR)/doc.h $(OBJDIR)/encode_.c:$(OBJDIR)/encode.h $(OBJDIR)/event_.c:$(OBJDIR)/event.h $(OBJDIR)/export_.c:$(OBJDIR)/export.h $(OBJDIR)/file_.c:$(OBJDIR)/file.h $(OBJDIR)/finfo_.c:$(OBJDIR)/finfo.h $(OBJDIR)/glob_.c:$(OBJDIR)/glob.h $(OBJDIR)/graph_.c:$(OBJDIR)/graph.h $(OBJDIR)/gzip_.c:$(OBJDIR)/gzip.h $(OBJDIR)/http_.c:$(OBJDIR)/http.h $(OBJDIR)/http_socket_.c:$(OBJDIR)/http_socket.h $(OBJDIR)/http_ssl_.c:$(OBJDIR)/http_ssl.h $(OBJDIR)/http_transport_.c:$(OBJDIR)/http_transport.h $(OBJDIR)/import_.c:$(OBJDIR)/import.h $(OBJDIR)/info_.c:$(OBJDIR)/info.h $(OBJDIR)/json_.c:$(OBJDIR)/json.h $(OBJDIR)/json_artifact_.c:$(OBJDIR)/json_artifact.h $(OBJDIR)/json_branch_.c:$(OBJDIR)/json_branch.h $(OBJDIR)/json_config_.c:$(OBJDIR)/json_config.h $(OBJDIR)/json_diff_.c:$(OBJDIR)/json_diff.h $(OBJDIR)/json_dir_.c:$(OBJDIR)/json_dir.h $(OBJDIR)/json_finfo_.c:$(OBJDIR)/json_finfo.h $(OBJDIR)/json_login_.c:$(OBJDIR)/json_login.h $(OBJDIR)/json_query_.c:$(OBJDIR)/json_query.h $(OBJDIR)/json_report_.c:$(OBJDIR)/json_report.h $(OBJDIR)/json_tag_.c:$(OBJDIR)/json_tag.h $(OBJDIR)/json_timeline_.c:$(OBJDIR)/json_timeline.h $(OBJDIR)/json_user_.c:$(OBJDIR)/json_user.h $(OBJDIR)/json_wiki_.c:$(OBJDIR)/json_wiki.h $(OBJDIR)/leaf_.c:$(OBJDIR)/leaf.h $(OBJDIR)/login_.c:$(OBJDIR)/login.h $(OBJDIR)/main_.c:$(OBJDIR)/main.h $(OBJDIR)/manifest_.c:$(OBJDIR)/manifest.h $(OBJDIR)/md5_.c:$(OBJDIR)/md5.h $(OBJDIR)/merge_.c:$(OBJDIR)/merge.h $(OBJDIR)/merge3_.c:$(OBJDIR)/merge3.h $(OBJDIR)/moderate_.c:$(OBJDIR)/moderate.h $(OBJDIR)/name_.c:$(OBJDIR)/name.h $(OBJDIR)/path_.c:$(OBJDIR)/path.h $(OBJDIR)/pivot_.c:$(OBJDIR)/pivot.h $(OBJDIR)/popen_.c:$(OBJDIR)/popen.h $(OBJDIR)/pqueue_.c:$(OBJDIR)/pqueue.h $(OBJDIR)/printf_.c:$(OBJDIR)/printf.h $(OBJDIR)/rebuild_.c:$(OBJDIR)/rebuild.h $(OBJDIR)/report_.c:$(OBJDIR)/report.h $(OBJDIR)/rss_.c:$(OBJDIR)/rss.h $(OBJDIR)/schema_.c:$(OBJDIR)/schema.h $(OBJDIR)/search_.c:$(OBJDIR)/search.h $(OBJDIR)/setup_.c:$(OBJDIR)/setup.h $(OBJDIR)/sha1_.c:$(OBJDIR)/sha1.h $(OBJDIR)/shun_.c:$(OBJDIR)/shun.h $(OBJDIR)/skins_.c:$(OBJDIR)/skins.h $(OBJDIR)/sqlcmd_.c:$(OBJDIR)/sqlcmd.h $(OBJDIR)/stash_.c:$(OBJDIR)/stash.h $(OBJDIR)/stat_.c:$(OBJDIR)/stat.h $(OBJDIR)/style_.c:$(OBJDIR)/style.h $(OBJDIR)/sync_.c:$(OBJDIR)/sync.h $(OBJDIR)/tag_.c:$(OBJDIR)/tag.h $(OBJDIR)/tar_.c:$(OBJDIR)/tar.h $(OBJDIR)/th_main_.c:$(OBJDIR)/th_main.h $(OBJDIR)/timeline_.c:$(OBJDIR)/timeline.h $(OBJDIR)/tkt_.c:$(OBJDIR)/tkt.h $(OBJDIR)/tktsetup_.c:$(OBJDIR)/tktsetup.h $(OBJDIR)/undo_.c:$(OBJDIR)/undo.h $(OBJDIR)/update_.c:$(OBJDIR)/update.h $(OBJDIR)/url_.c:$(OBJDIR)/url.h $(OBJDIR)/user_.c:$(OBJDIR)/user.h $(OBJDIR)/utf8_.c:$(OBJDIR)/utf8.h $(OBJDIR)/verify_.c:$(OBJDIR)/verify.h $(OBJDIR)/vfile_.c:$(OBJDIR)/vfile.h $(OBJDIR)/wiki_.c:$(OBJDIR)/wiki.h $(OBJDIR)/wikiformat_.c:$(OBJDIR)/wikiformat.h $(OBJDIR)/winhttp_.c:$(OBJDIR)/winhttp.h $(OBJDIR)/wysiwyg_.c:$(OBJDIR)/wysiwyg.h $(OBJDIR)/xfer_.c:$(OBJDIR)/xfer.h $(OBJDIR)/xfersetup_.c:$(OBJDIR)/xfersetup.h $(OBJDIR)/zip_.c:$(OBJDIR)/zip.h $(SRCDIR)/sqlite3.h $(SRCDIR)/th.h $(OBJDIR)/VERSION.h |
| 648 | echo Done >$(OBJDIR)/headers |
| 649 | |
| 650 | $(OBJDIR)/headers: Makefile |
| 651 | |
| 652 | Makefile: |
| @@ -1365,10 +1368,18 @@ | |
| 1368 | |
| 1369 | $(OBJDIR)/user.o: $(OBJDIR)/user_.c $(OBJDIR)/user.h $(SRCDIR)/config.h |
| 1370 | $(XTCC) -o $(OBJDIR)/user.o -c $(OBJDIR)/user_.c |
| 1371 | |
| 1372 | $(OBJDIR)/user.h: $(OBJDIR)/headers |
| 1373 | |
| 1374 | $(OBJDIR)/utf8_.c: $(SRCDIR)/utf8.c $(OBJDIR)/translate |
| 1375 | $(TRANSLATE) $(SRCDIR)/utf8.c >$(OBJDIR)/utf8_.c |
| 1376 | |
| 1377 | $(OBJDIR)/utf8.o: $(OBJDIR)/utf8_.c $(OBJDIR)/utf8.h $(SRCDIR)/config.h |
| 1378 | $(XTCC) -o $(OBJDIR)/utf8.o -c $(OBJDIR)/utf8_.c |
| 1379 | |
| 1380 | $(OBJDIR)/utf8.h: $(OBJDIR)/headers |
| 1381 | |
| 1382 | $(OBJDIR)/verify_.c: $(SRCDIR)/verify.c $(OBJDIR)/translate |
| 1383 | $(TRANSLATE) $(SRCDIR)/verify.c >$(OBJDIR)/verify_.c |
| 1384 | |
| 1385 | $(OBJDIR)/verify.o: $(OBJDIR)/verify_.c $(OBJDIR)/verify.h $(SRCDIR)/config.h |
| 1386 |
+10
| --- win/Makefile.msc | ||
| +++ win/Makefile.msc | ||
| @@ -128,10 +128,11 @@ | ||
| 128 | 128 | tktsetup_.c \ |
| 129 | 129 | undo_.c \ |
| 130 | 130 | update_.c \ |
| 131 | 131 | url_.c \ |
| 132 | 132 | user_.c \ |
| 133 | + utf8_.c \ | |
| 133 | 134 | verify_.c \ |
| 134 | 135 | vfile_.c \ |
| 135 | 136 | wiki_.c \ |
| 136 | 137 | wikiformat_.c \ |
| 137 | 138 | winhttp_.c \ |
| @@ -228,10 +229,11 @@ | ||
| 228 | 229 | $(OX)\tktsetup$O \ |
| 229 | 230 | $(OX)\undo$O \ |
| 230 | 231 | $(OX)\update$O \ |
| 231 | 232 | $(OX)\url$O \ |
| 232 | 233 | $(OX)\user$O \ |
| 234 | + $(OX)\utf8$O \ | |
| 233 | 235 | $(OX)\verify$O \ |
| 234 | 236 | $(OX)\vfile$O \ |
| 235 | 237 | $(OX)\wiki$O \ |
| 236 | 238 | $(OX)\wikiformat$O \ |
| 237 | 239 | $(OX)\winhttp$O \ |
| @@ -349,10 +351,11 @@ | ||
| 349 | 351 | echo $(OX)\tktsetup.obj >> $@ |
| 350 | 352 | echo $(OX)\undo.obj >> $@ |
| 351 | 353 | echo $(OX)\update.obj >> $@ |
| 352 | 354 | echo $(OX)\url.obj >> $@ |
| 353 | 355 | echo $(OX)\user.obj >> $@ |
| 356 | + echo $(OX)\utf8.obj >> $@ | |
| 354 | 357 | echo $(OX)\verify.obj >> $@ |
| 355 | 358 | echo $(OX)\vfile.obj >> $@ |
| 356 | 359 | echo $(OX)\wiki.obj >> $@ |
| 357 | 360 | echo $(OX)\wikiformat.obj >> $@ |
| 358 | 361 | echo $(OX)\winhttp.obj >> $@ |
| @@ -970,10 +973,16 @@ | ||
| 970 | 973 | $(OX)\user$O : user_.c user.h |
| 971 | 974 | $(TCC) /Fo$@ -c user_.c |
| 972 | 975 | |
| 973 | 976 | user_.c : $(SRCDIR)\user.c |
| 974 | 977 | translate$E $** > $@ |
| 978 | + | |
| 979 | +$(OX)\utf8$O : utf8_.c utf8.h | |
| 980 | + $(TCC) /Fo$@ -c utf8_.c | |
| 981 | + | |
| 982 | +utf8_.c : $(SRCDIR)\utf8.c | |
| 983 | + translate$E $** > $@ | |
| 975 | 984 | |
| 976 | 985 | $(OX)\verify$O : verify_.c verify.h |
| 977 | 986 | $(TCC) /Fo$@ -c verify_.c |
| 978 | 987 | |
| 979 | 988 | verify_.c : $(SRCDIR)\verify.c |
| @@ -1116,10 +1125,11 @@ | ||
| 1116 | 1125 | tktsetup_.c:tktsetup.h \ |
| 1117 | 1126 | undo_.c:undo.h \ |
| 1118 | 1127 | update_.c:update.h \ |
| 1119 | 1128 | url_.c:url.h \ |
| 1120 | 1129 | user_.c:user.h \ |
| 1130 | + utf8_.c:utf8.h \ | |
| 1121 | 1131 | verify_.c:verify.h \ |
| 1122 | 1132 | vfile_.c:vfile.h \ |
| 1123 | 1133 | wiki_.c:wiki.h \ |
| 1124 | 1134 | wikiformat_.c:wikiformat.h \ |
| 1125 | 1135 | winhttp_.c:winhttp.h \ |
| 1126 | 1136 |
| --- win/Makefile.msc | |
| +++ win/Makefile.msc | |
| @@ -128,10 +128,11 @@ | |
| 128 | tktsetup_.c \ |
| 129 | undo_.c \ |
| 130 | update_.c \ |
| 131 | url_.c \ |
| 132 | user_.c \ |
| 133 | verify_.c \ |
| 134 | vfile_.c \ |
| 135 | wiki_.c \ |
| 136 | wikiformat_.c \ |
| 137 | winhttp_.c \ |
| @@ -228,10 +229,11 @@ | |
| 228 | $(OX)\tktsetup$O \ |
| 229 | $(OX)\undo$O \ |
| 230 | $(OX)\update$O \ |
| 231 | $(OX)\url$O \ |
| 232 | $(OX)\user$O \ |
| 233 | $(OX)\verify$O \ |
| 234 | $(OX)\vfile$O \ |
| 235 | $(OX)\wiki$O \ |
| 236 | $(OX)\wikiformat$O \ |
| 237 | $(OX)\winhttp$O \ |
| @@ -349,10 +351,11 @@ | |
| 349 | echo $(OX)\tktsetup.obj >> $@ |
| 350 | echo $(OX)\undo.obj >> $@ |
| 351 | echo $(OX)\update.obj >> $@ |
| 352 | echo $(OX)\url.obj >> $@ |
| 353 | echo $(OX)\user.obj >> $@ |
| 354 | echo $(OX)\verify.obj >> $@ |
| 355 | echo $(OX)\vfile.obj >> $@ |
| 356 | echo $(OX)\wiki.obj >> $@ |
| 357 | echo $(OX)\wikiformat.obj >> $@ |
| 358 | echo $(OX)\winhttp.obj >> $@ |
| @@ -970,10 +973,16 @@ | |
| 970 | $(OX)\user$O : user_.c user.h |
| 971 | $(TCC) /Fo$@ -c user_.c |
| 972 | |
| 973 | user_.c : $(SRCDIR)\user.c |
| 974 | translate$E $** > $@ |
| 975 | |
| 976 | $(OX)\verify$O : verify_.c verify.h |
| 977 | $(TCC) /Fo$@ -c verify_.c |
| 978 | |
| 979 | verify_.c : $(SRCDIR)\verify.c |
| @@ -1116,10 +1125,11 @@ | |
| 1116 | tktsetup_.c:tktsetup.h \ |
| 1117 | undo_.c:undo.h \ |
| 1118 | update_.c:update.h \ |
| 1119 | url_.c:url.h \ |
| 1120 | user_.c:user.h \ |
| 1121 | verify_.c:verify.h \ |
| 1122 | vfile_.c:vfile.h \ |
| 1123 | wiki_.c:wiki.h \ |
| 1124 | wikiformat_.c:wikiformat.h \ |
| 1125 | winhttp_.c:winhttp.h \ |
| 1126 |
| --- win/Makefile.msc | |
| +++ win/Makefile.msc | |
| @@ -128,10 +128,11 @@ | |
| 128 | tktsetup_.c \ |
| 129 | undo_.c \ |
| 130 | update_.c \ |
| 131 | url_.c \ |
| 132 | user_.c \ |
| 133 | utf8_.c \ |
| 134 | verify_.c \ |
| 135 | vfile_.c \ |
| 136 | wiki_.c \ |
| 137 | wikiformat_.c \ |
| 138 | winhttp_.c \ |
| @@ -228,10 +229,11 @@ | |
| 229 | $(OX)\tktsetup$O \ |
| 230 | $(OX)\undo$O \ |
| 231 | $(OX)\update$O \ |
| 232 | $(OX)\url$O \ |
| 233 | $(OX)\user$O \ |
| 234 | $(OX)\utf8$O \ |
| 235 | $(OX)\verify$O \ |
| 236 | $(OX)\vfile$O \ |
| 237 | $(OX)\wiki$O \ |
| 238 | $(OX)\wikiformat$O \ |
| 239 | $(OX)\winhttp$O \ |
| @@ -349,10 +351,11 @@ | |
| 351 | echo $(OX)\tktsetup.obj >> $@ |
| 352 | echo $(OX)\undo.obj >> $@ |
| 353 | echo $(OX)\update.obj >> $@ |
| 354 | echo $(OX)\url.obj >> $@ |
| 355 | echo $(OX)\user.obj >> $@ |
| 356 | echo $(OX)\utf8.obj >> $@ |
| 357 | echo $(OX)\verify.obj >> $@ |
| 358 | echo $(OX)\vfile.obj >> $@ |
| 359 | echo $(OX)\wiki.obj >> $@ |
| 360 | echo $(OX)\wikiformat.obj >> $@ |
| 361 | echo $(OX)\winhttp.obj >> $@ |
| @@ -970,10 +973,16 @@ | |
| 973 | $(OX)\user$O : user_.c user.h |
| 974 | $(TCC) /Fo$@ -c user_.c |
| 975 | |
| 976 | user_.c : $(SRCDIR)\user.c |
| 977 | translate$E $** > $@ |
| 978 | |
| 979 | $(OX)\utf8$O : utf8_.c utf8.h |
| 980 | $(TCC) /Fo$@ -c utf8_.c |
| 981 | |
| 982 | utf8_.c : $(SRCDIR)\utf8.c |
| 983 | translate$E $** > $@ |
| 984 | |
| 985 | $(OX)\verify$O : verify_.c verify.h |
| 986 | $(TCC) /Fo$@ -c verify_.c |
| 987 | |
| 988 | verify_.c : $(SRCDIR)\verify.c |
| @@ -1116,10 +1125,11 @@ | |
| 1125 | tktsetup_.c:tktsetup.h \ |
| 1126 | undo_.c:undo.h \ |
| 1127 | update_.c:update.h \ |
| 1128 | url_.c:url.h \ |
| 1129 | user_.c:user.h \ |
| 1130 | utf8_.c:utf8.h \ |
| 1131 | verify_.c:verify.h \ |
| 1132 | vfile_.c:vfile.h \ |
| 1133 | wiki_.c:wiki.h \ |
| 1134 | wikiformat_.c:wikiformat.h \ |
| 1135 | winhttp_.c:winhttp.h \ |
| 1136 |