Fossil SCM

Refactor the complex Win32-specific file routines into their own subsystem.

mistachkin 2013-12-17 00:55 trunk merge
Commit d9ff96820407a8a06d304fb7884114c1d2242701
+30 -264
--- src/file.c
+++ src/file.c
@@ -39,64 +39,63 @@
3939
# include <sys/utime.h>
4040
#else
4141
# include <sys/time.h>
4242
#endif
4343
44
-/*
45
-** The file status information from the most recent stat() call.
46
-**
47
-** Use _stati64 rather than stat on windows, in order to handle files
48
-** larger than 2GB.
49
-*/
44
+#if INTERFACE
45
+
46
+#include <dirent.h>
47
+#if defined(_WIN32)
48
+# define DIR _WDIR
49
+# define dirent _wdirent
50
+# define opendir _wopendir
51
+# define readdir _wreaddir
52
+# define closedir _wclosedir
53
+#endif /* _WIN32 */
54
+
5055
#if defined(_WIN32) && (defined(__MSVCRT__) || defined(_MSC_VER))
51
-# undef stat
52
-# define stat _fossil_stati64
53
-struct stat {
56
+struct fossilStat {
5457
i64 st_size;
5558
i64 st_mtime;
5659
int st_mode;
5760
};
5861
#endif
62
+
63
+#endif /* INTERFACE */
64
+
65
+#if !defined(_WIN32) || !(defined(__MSVCRT__) || defined(_MSC_VER))
66
+# define fossilStat stat
67
+#endif
68
+
5969
/*
6070
** On Windows S_ISLNK always returns FALSE.
6171
*/
6272
#if !defined(S_ISLNK)
6373
# define S_ISLNK(x) (0)
6474
#endif
6575
static int fileStatValid = 0;
66
-static struct stat fileStat;
76
+static struct fossilStat fileStat;
6777
6878
/*
6979
** Fill stat buf with information received from stat() or lstat().
7080
** lstat() is called on Unix if isWd is TRUE and allow-symlinks setting is on.
7181
**
7282
*/
73
-static int fossil_stat(const char *zFilename, struct stat *buf, int isWd){
74
- int rc;
83
+static int fossil_stat(const char *zFilename, struct fossilStat *buf, int isWd){
7584
#if !defined(_WIN32)
85
+ int rc;
7686
char *zMbcs = fossil_utf8_to_filename(zFilename);
7787
if( isWd && g.allowSymlinks ){
7888
rc = lstat(zMbcs, buf);
7989
}else{
8090
rc = stat(zMbcs, buf);
8191
}
82
-#else
83
- WIN32_FILE_ATTRIBUTE_DATA attr;
84
- wchar_t *zMbcs = fossil_utf8_to_filename(zFilename);
85
- rc = !GetFileAttributesExW(zMbcs, GetFileExInfoStandard, &attr);
86
- if( !rc ){
87
- ULARGE_INTEGER ull;
88
- ull.LowPart = attr.ftLastWriteTime.dwLowDateTime;
89
- ull.HighPart = attr.ftLastWriteTime.dwHighDateTime;
90
- buf->st_mode = (attr.dwFileAttributes&FILE_ATTRIBUTE_DIRECTORY)?
91
- S_IFDIR:S_IFREG;
92
- buf->st_size = (((i64)attr.nFileSizeHigh)<<32) | attr.nFileSizeLow;
93
- buf->st_mtime = ull.QuadPart / 10000000ULL - 11644473600ULL;
94
- }
95
-#endif
9692
fossil_filename_free(zMbcs);
9793
return rc;
94
+#else
95
+ return win32_stat(zFilename, buf, isWd);
96
+#endif
9897
}
9998
10099
/*
101100
** Fill in the fileStat variable for the file named zFilename.
102101
** If zFilename==0, then use the previous value of fileStat if
@@ -318,240 +317,37 @@
318317
/*
319318
** Wrapper around the access() system call.
320319
*/
321320
int file_access(const char *zFilename, int flags){
322321
#ifdef _WIN32
323
- SECURITY_DESCRIPTOR *sdPtr = NULL;
324
- unsigned long size;
325
- PSID pSid = 0;
326
- BOOL SidDefaulted;
327
- SID_IDENTIFIER_AUTHORITY samba_unmapped = {{0, 0, 0, 0, 0, 22}};
328
- GENERIC_MAPPING genMap;
329
- HANDLE hToken = NULL;
330
- DWORD desiredAccess = 0, grantedAccess = 0;
331
- BOOL accessYesNo = FALSE;
332
- PRIVILEGE_SET privSet;
333
- DWORD privSetSize = sizeof(PRIVILEGE_SET);
334
- int rc = 0;
335
- DWORD attr;
336
- wchar_t *zMbcs = fossil_utf8_to_filename(zFilename);
337
-
338
- attr = GetFileAttributesW(zMbcs);
339
-
340
- if( attr==INVALID_FILE_ATTRIBUTES ){
341
- /*
342
- * File might not exist.
343
- */
344
-
345
- if( GetLastError()!=ERROR_SHARING_VIOLATION ){
346
- fossil_filename_free(zMbcs);
347
- return -1;
348
- }
349
- }
350
-
351
- if( flags==F_OK ){
352
- /*
353
- * File exists, nothing else to check.
354
- */
355
-
356
- fossil_filename_free(zMbcs);
357
- return 0;
358
- }
359
-
360
- if( (flags & W_OK)
361
- && (attr & FILE_ATTRIBUTE_READONLY)
362
- && !(attr & FILE_ATTRIBUTE_DIRECTORY) ){
363
- /*
364
- * The attributes say the file is not writable. If the file is a
365
- * regular file (i.e., not a directory), then the file is not
366
- * writable, full stop. For directories, the read-only bit is
367
- * (mostly) ignored by Windows, so we can't ascertain anything about
368
- * directory access from the attrib data. However, if we have the
369
- * advanced 'getFileSecurityProc', then more robust ACL checks
370
- * will be done below.
371
- */
372
-
373
- fossil_filename_free(zMbcs);
374
- return -1;
375
- }
376
-
377
- /*
378
- * It looks as if the permissions are ok, but if we are on NT, 2000 or XP,
379
- * we have a more complex permissions structure so we try to check that.
380
- * The code below is remarkably complex for such a simple thing as finding
381
- * what permissions the OS has set for a file.
382
- */
383
-
384
- /*
385
- * First find out how big the buffer needs to be.
386
- */
387
-
388
- size = 0;
389
- GetFileSecurityW(zMbcs,
390
- OWNER_SECURITY_INFORMATION | GROUP_SECURITY_INFORMATION
391
- | DACL_SECURITY_INFORMATION | LABEL_SECURITY_INFORMATION,
392
- 0, 0, &size);
393
-
394
- /*
395
- * Should have failed with ERROR_INSUFFICIENT_BUFFER
396
- */
397
-
398
- if( GetLastError()!=ERROR_INSUFFICIENT_BUFFER ){
399
- /*
400
- * Most likely case is ERROR_ACCESS_DENIED, which we will convert
401
- * to EACCES - just what we want!
402
- */
403
-
404
- fossil_filename_free(zMbcs);
405
- return -1;
406
- }
407
-
408
- /*
409
- * Now size contains the size of buffer needed.
410
- */
411
-
412
- sdPtr = (SECURITY_DESCRIPTOR *) HeapAlloc(GetProcessHeap(), 0, size);
413
-
414
- if( sdPtr == NULL ){
415
- goto accessError;
416
- }
417
-
418
- /*
419
- * Call GetFileSecurity() for real.
420
- */
421
-
422
- if( !GetFileSecurityW(zMbcs,
423
- OWNER_SECURITY_INFORMATION | GROUP_SECURITY_INFORMATION
424
- | DACL_SECURITY_INFORMATION | LABEL_SECURITY_INFORMATION,
425
- sdPtr, size, &size) ){
426
- /*
427
- * Error getting owner SD
428
- */
429
-
430
- goto accessError;
431
- }
432
-
433
- /*
434
- * As of Samba 3.0.23 (10-Jul-2006), unmapped users and groups are
435
- * assigned to SID domains S-1-22-1 and S-1-22-2, where "22" is the
436
- * top-level authority. If the file owner and group is unmapped then
437
- * the ACL access check below will only test against world access,
438
- * which is likely to be more restrictive than the actual access
439
- * restrictions. Since the ACL tests are more likely wrong than
440
- * right, skip them. Moreover, the unix owner access permissions are
441
- * usually mapped to the Windows attributes, so if the user is the
442
- * file owner then the attrib checks above are correct (as far as they
443
- * go).
444
- */
445
-
446
- if( !GetSecurityDescriptorOwner(sdPtr,&pSid,&SidDefaulted) ||
447
- memcmp(GetSidIdentifierAuthority(pSid),&samba_unmapped,
448
- sizeof(SID_IDENTIFIER_AUTHORITY))==0 ){
449
- HeapFree(GetProcessHeap(), 0, sdPtr);
450
- fossil_filename_free(zMbcs);
451
- return 0; /* Attrib tests say access allowed. */
452
- }
453
-
454
- /*
455
- * Perform security impersonation of the user and open the resulting
456
- * thread token.
457
- */
458
-
459
- if( !ImpersonateSelf(SecurityImpersonation) ){
460
- /*
461
- * Unable to perform security impersonation.
462
- */
463
-
464
- goto accessError;
465
- }
466
- if( !OpenThreadToken(GetCurrentThread(),
467
- TOKEN_DUPLICATE | TOKEN_QUERY, FALSE, &hToken) ){
468
- /*
469
- * Unable to get current thread's token.
470
- */
471
-
472
- goto accessError;
473
- }
474
-
475
- RevertToSelf();
476
-
477
- /*
478
- * Setup desiredAccess according to the access priveleges we are
479
- * checking.
480
- */
481
-
482
- if( flags & R_OK ){
483
- desiredAccess |= FILE_GENERIC_READ;
484
- }
485
- if( flags & W_OK){
486
- desiredAccess |= FILE_GENERIC_WRITE;
487
- }
488
-
489
- memset(&genMap, 0x0, sizeof(GENERIC_MAPPING));
490
- genMap.GenericRead = FILE_GENERIC_READ;
491
- genMap.GenericWrite = FILE_GENERIC_WRITE;
492
- genMap.GenericExecute = FILE_GENERIC_EXECUTE;
493
- genMap.GenericAll = FILE_ALL_ACCESS;
494
-
495
- /*
496
- * Perform access check using the token.
497
- */
498
-
499
- if( !AccessCheck(sdPtr, hToken, desiredAccess,
500
- &genMap, &privSet, &privSetSize, &grantedAccess,
501
- &accessYesNo) ){
502
- /*
503
- * Unable to perform access check.
504
- */
505
-
506
- accessError:
507
- if( sdPtr != NULL ){
508
- HeapFree(GetProcessHeap(), 0, sdPtr);
509
- }
510
- if( hToken != NULL ){
511
- CloseHandle(hToken);
512
- }
513
- fossil_filename_free(zMbcs);
514
- return -1;
515
- }
516
-
517
- /*
518
- * Clean up.
519
- */
520
-
521
- HeapFree(GetProcessHeap(), 0, sdPtr);
522
- CloseHandle(hToken);
523
- if( !accessYesNo ){
524
- rc = -1;
525
- }
322
+ return win32_access(zFilename, flags);
526323
#else
527324
char *zMbcs = fossil_utf8_to_filename(zFilename);
528325
int rc = access(zMbcs, flags);
529
-#endif
530326
fossil_filename_free(zMbcs);
531327
return rc;
328
+#endif
532329
}
533330
534331
/*
535332
** Wrapper around the chdir() system call.
536333
** If bChroot=1, do a chroot to this dir as well
537334
** (UNIX only)
538335
*/
539336
int file_chdir(const char *zChDir, int bChroot){
540337
#ifdef _WIN32
541
- wchar_t *zPath = fossil_utf8_to_filename(zChDir);
542
- int rc = SetCurrentDirectoryW(zPath)==0;
338
+ return win32_chdir(zChDir, bChroot);
543339
#else
544340
char *zPath = fossil_utf8_to_filename(zChDir);
545341
int rc = chdir(zPath);
546342
if( !rc && bChroot ){
547343
rc = chroot(zPath);
548344
if( !rc ) rc = chdir("/");
549345
}
550
-#endif
551346
fossil_filename_free(zPath);
552347
return rc;
348
+#endif
553349
}
554350
555351
/*
556352
** Find an unused filename similar to zBase with zSuffix appended.
557353
**
@@ -940,25 +736,11 @@
940736
** characters are converted to '/'. No conversions are needed on
941737
** unix.
942738
*/
943739
void file_getcwd(char *zBuf, int nBuf){
944740
#ifdef _WIN32
945
- char *zPwdUtf8;
946
- int nPwd;
947
- int i;
948
- wchar_t zPwd[2000];
949
- if( GetCurrentDirectoryW(count(zPwd), zPwd)==0 ){
950
- fossil_fatal("cannot find the current working directory.");
951
- }
952
- zPwdUtf8 = fossil_filename_to_utf8(zPwd);
953
- nPwd = strlen(zPwdUtf8);
954
- if( nPwd > nBuf-1 ){
955
- fossil_fatal("pwd too big: max %d\n", nBuf-1);
956
- }
957
- for(i=0; zPwdUtf8[i]; i++) if( zPwdUtf8[i]=='\\' ) zPwdUtf8[i] = '/';
958
- memcpy(zBuf, zPwdUtf8, nPwd+1);
959
- fossil_filename_free(zPwdUtf8);
741
+ win32_getcwd(zBuf, nBuf);
960742
#else
961743
if( getcwd(zBuf, nBuf-1)==0 ){
962744
if( errno==ERANGE ){
963745
fossil_fatal("pwd too big: max %d\n", nBuf-1);
964746
}else{
@@ -1388,26 +1170,10 @@
13881170
rc = blob_compare(&onDisk, pContent);
13891171
blob_reset(&onDisk);
13901172
return rc==0;
13911173
}
13921174
1393
-/*
1394
-** Portable unicode implementation of opendir()
1395
-*/
1396
-#if INTERFACE
1397
-
1398
-#include <dirent.h>
1399
-#if defined(_WIN32)
1400
-# define DIR _WDIR
1401
-# define dirent _wdirent
1402
-# define opendir _wopendir
1403
-# define readdir _wreaddir
1404
-# define closedir _wclosedir
1405
-#endif /* _WIN32 */
1406
-
1407
-#endif /* INTERFACE */
1408
-
14091175
/*
14101176
** Return the value of an environment variable as UTF8.
14111177
** Use fossil_filename_free() to release resources.
14121178
*/
14131179
char *fossil_getenv(const char *zName){
14141180
--- src/file.c
+++ src/file.c
@@ -39,64 +39,63 @@
39 # include <sys/utime.h>
40 #else
41 # include <sys/time.h>
42 #endif
43
44 /*
45 ** The file status information from the most recent stat() call.
46 **
47 ** Use _stati64 rather than stat on windows, in order to handle files
48 ** larger than 2GB.
49 */
 
 
 
 
 
50 #if defined(_WIN32) && (defined(__MSVCRT__) || defined(_MSC_VER))
51 # undef stat
52 # define stat _fossil_stati64
53 struct stat {
54 i64 st_size;
55 i64 st_mtime;
56 int st_mode;
57 };
58 #endif
 
 
 
 
 
 
 
59 /*
60 ** On Windows S_ISLNK always returns FALSE.
61 */
62 #if !defined(S_ISLNK)
63 # define S_ISLNK(x) (0)
64 #endif
65 static int fileStatValid = 0;
66 static struct stat fileStat;
67
68 /*
69 ** Fill stat buf with information received from stat() or lstat().
70 ** lstat() is called on Unix if isWd is TRUE and allow-symlinks setting is on.
71 **
72 */
73 static int fossil_stat(const char *zFilename, struct stat *buf, int isWd){
74 int rc;
75 #if !defined(_WIN32)
 
76 char *zMbcs = fossil_utf8_to_filename(zFilename);
77 if( isWd && g.allowSymlinks ){
78 rc = lstat(zMbcs, buf);
79 }else{
80 rc = stat(zMbcs, buf);
81 }
82 #else
83 WIN32_FILE_ATTRIBUTE_DATA attr;
84 wchar_t *zMbcs = fossil_utf8_to_filename(zFilename);
85 rc = !GetFileAttributesExW(zMbcs, GetFileExInfoStandard, &attr);
86 if( !rc ){
87 ULARGE_INTEGER ull;
88 ull.LowPart = attr.ftLastWriteTime.dwLowDateTime;
89 ull.HighPart = attr.ftLastWriteTime.dwHighDateTime;
90 buf->st_mode = (attr.dwFileAttributes&FILE_ATTRIBUTE_DIRECTORY)?
91 S_IFDIR:S_IFREG;
92 buf->st_size = (((i64)attr.nFileSizeHigh)<<32) | attr.nFileSizeLow;
93 buf->st_mtime = ull.QuadPart / 10000000ULL - 11644473600ULL;
94 }
95 #endif
96 fossil_filename_free(zMbcs);
97 return rc;
 
 
 
98 }
99
100 /*
101 ** Fill in the fileStat variable for the file named zFilename.
102 ** If zFilename==0, then use the previous value of fileStat if
@@ -318,240 +317,37 @@
318 /*
319 ** Wrapper around the access() system call.
320 */
321 int file_access(const char *zFilename, int flags){
322 #ifdef _WIN32
323 SECURITY_DESCRIPTOR *sdPtr = NULL;
324 unsigned long size;
325 PSID pSid = 0;
326 BOOL SidDefaulted;
327 SID_IDENTIFIER_AUTHORITY samba_unmapped = {{0, 0, 0, 0, 0, 22}};
328 GENERIC_MAPPING genMap;
329 HANDLE hToken = NULL;
330 DWORD desiredAccess = 0, grantedAccess = 0;
331 BOOL accessYesNo = FALSE;
332 PRIVILEGE_SET privSet;
333 DWORD privSetSize = sizeof(PRIVILEGE_SET);
334 int rc = 0;
335 DWORD attr;
336 wchar_t *zMbcs = fossil_utf8_to_filename(zFilename);
337
338 attr = GetFileAttributesW(zMbcs);
339
340 if( attr==INVALID_FILE_ATTRIBUTES ){
341 /*
342 * File might not exist.
343 */
344
345 if( GetLastError()!=ERROR_SHARING_VIOLATION ){
346 fossil_filename_free(zMbcs);
347 return -1;
348 }
349 }
350
351 if( flags==F_OK ){
352 /*
353 * File exists, nothing else to check.
354 */
355
356 fossil_filename_free(zMbcs);
357 return 0;
358 }
359
360 if( (flags & W_OK)
361 && (attr & FILE_ATTRIBUTE_READONLY)
362 && !(attr & FILE_ATTRIBUTE_DIRECTORY) ){
363 /*
364 * The attributes say the file is not writable. If the file is a
365 * regular file (i.e., not a directory), then the file is not
366 * writable, full stop. For directories, the read-only bit is
367 * (mostly) ignored by Windows, so we can't ascertain anything about
368 * directory access from the attrib data. However, if we have the
369 * advanced 'getFileSecurityProc', then more robust ACL checks
370 * will be done below.
371 */
372
373 fossil_filename_free(zMbcs);
374 return -1;
375 }
376
377 /*
378 * It looks as if the permissions are ok, but if we are on NT, 2000 or XP,
379 * we have a more complex permissions structure so we try to check that.
380 * The code below is remarkably complex for such a simple thing as finding
381 * what permissions the OS has set for a file.
382 */
383
384 /*
385 * First find out how big the buffer needs to be.
386 */
387
388 size = 0;
389 GetFileSecurityW(zMbcs,
390 OWNER_SECURITY_INFORMATION | GROUP_SECURITY_INFORMATION
391 | DACL_SECURITY_INFORMATION | LABEL_SECURITY_INFORMATION,
392 0, 0, &size);
393
394 /*
395 * Should have failed with ERROR_INSUFFICIENT_BUFFER
396 */
397
398 if( GetLastError()!=ERROR_INSUFFICIENT_BUFFER ){
399 /*
400 * Most likely case is ERROR_ACCESS_DENIED, which we will convert
401 * to EACCES - just what we want!
402 */
403
404 fossil_filename_free(zMbcs);
405 return -1;
406 }
407
408 /*
409 * Now size contains the size of buffer needed.
410 */
411
412 sdPtr = (SECURITY_DESCRIPTOR *) HeapAlloc(GetProcessHeap(), 0, size);
413
414 if( sdPtr == NULL ){
415 goto accessError;
416 }
417
418 /*
419 * Call GetFileSecurity() for real.
420 */
421
422 if( !GetFileSecurityW(zMbcs,
423 OWNER_SECURITY_INFORMATION | GROUP_SECURITY_INFORMATION
424 | DACL_SECURITY_INFORMATION | LABEL_SECURITY_INFORMATION,
425 sdPtr, size, &size) ){
426 /*
427 * Error getting owner SD
428 */
429
430 goto accessError;
431 }
432
433 /*
434 * As of Samba 3.0.23 (10-Jul-2006), unmapped users and groups are
435 * assigned to SID domains S-1-22-1 and S-1-22-2, where "22" is the
436 * top-level authority. If the file owner and group is unmapped then
437 * the ACL access check below will only test against world access,
438 * which is likely to be more restrictive than the actual access
439 * restrictions. Since the ACL tests are more likely wrong than
440 * right, skip them. Moreover, the unix owner access permissions are
441 * usually mapped to the Windows attributes, so if the user is the
442 * file owner then the attrib checks above are correct (as far as they
443 * go).
444 */
445
446 if( !GetSecurityDescriptorOwner(sdPtr,&pSid,&SidDefaulted) ||
447 memcmp(GetSidIdentifierAuthority(pSid),&samba_unmapped,
448 sizeof(SID_IDENTIFIER_AUTHORITY))==0 ){
449 HeapFree(GetProcessHeap(), 0, sdPtr);
450 fossil_filename_free(zMbcs);
451 return 0; /* Attrib tests say access allowed. */
452 }
453
454 /*
455 * Perform security impersonation of the user and open the resulting
456 * thread token.
457 */
458
459 if( !ImpersonateSelf(SecurityImpersonation) ){
460 /*
461 * Unable to perform security impersonation.
462 */
463
464 goto accessError;
465 }
466 if( !OpenThreadToken(GetCurrentThread(),
467 TOKEN_DUPLICATE | TOKEN_QUERY, FALSE, &hToken) ){
468 /*
469 * Unable to get current thread's token.
470 */
471
472 goto accessError;
473 }
474
475 RevertToSelf();
476
477 /*
478 * Setup desiredAccess according to the access priveleges we are
479 * checking.
480 */
481
482 if( flags & R_OK ){
483 desiredAccess |= FILE_GENERIC_READ;
484 }
485 if( flags & W_OK){
486 desiredAccess |= FILE_GENERIC_WRITE;
487 }
488
489 memset(&genMap, 0x0, sizeof(GENERIC_MAPPING));
490 genMap.GenericRead = FILE_GENERIC_READ;
491 genMap.GenericWrite = FILE_GENERIC_WRITE;
492 genMap.GenericExecute = FILE_GENERIC_EXECUTE;
493 genMap.GenericAll = FILE_ALL_ACCESS;
494
495 /*
496 * Perform access check using the token.
497 */
498
499 if( !AccessCheck(sdPtr, hToken, desiredAccess,
500 &genMap, &privSet, &privSetSize, &grantedAccess,
501 &accessYesNo) ){
502 /*
503 * Unable to perform access check.
504 */
505
506 accessError:
507 if( sdPtr != NULL ){
508 HeapFree(GetProcessHeap(), 0, sdPtr);
509 }
510 if( hToken != NULL ){
511 CloseHandle(hToken);
512 }
513 fossil_filename_free(zMbcs);
514 return -1;
515 }
516
517 /*
518 * Clean up.
519 */
520
521 HeapFree(GetProcessHeap(), 0, sdPtr);
522 CloseHandle(hToken);
523 if( !accessYesNo ){
524 rc = -1;
525 }
526 #else
527 char *zMbcs = fossil_utf8_to_filename(zFilename);
528 int rc = access(zMbcs, flags);
529 #endif
530 fossil_filename_free(zMbcs);
531 return rc;
 
532 }
533
534 /*
535 ** Wrapper around the chdir() system call.
536 ** If bChroot=1, do a chroot to this dir as well
537 ** (UNIX only)
538 */
539 int file_chdir(const char *zChDir, int bChroot){
540 #ifdef _WIN32
541 wchar_t *zPath = fossil_utf8_to_filename(zChDir);
542 int rc = SetCurrentDirectoryW(zPath)==0;
543 #else
544 char *zPath = fossil_utf8_to_filename(zChDir);
545 int rc = chdir(zPath);
546 if( !rc && bChroot ){
547 rc = chroot(zPath);
548 if( !rc ) rc = chdir("/");
549 }
550 #endif
551 fossil_filename_free(zPath);
552 return rc;
 
553 }
554
555 /*
556 ** Find an unused filename similar to zBase with zSuffix appended.
557 **
@@ -940,25 +736,11 @@
940 ** characters are converted to '/'. No conversions are needed on
941 ** unix.
942 */
943 void file_getcwd(char *zBuf, int nBuf){
944 #ifdef _WIN32
945 char *zPwdUtf8;
946 int nPwd;
947 int i;
948 wchar_t zPwd[2000];
949 if( GetCurrentDirectoryW(count(zPwd), zPwd)==0 ){
950 fossil_fatal("cannot find the current working directory.");
951 }
952 zPwdUtf8 = fossil_filename_to_utf8(zPwd);
953 nPwd = strlen(zPwdUtf8);
954 if( nPwd > nBuf-1 ){
955 fossil_fatal("pwd too big: max %d\n", nBuf-1);
956 }
957 for(i=0; zPwdUtf8[i]; i++) if( zPwdUtf8[i]=='\\' ) zPwdUtf8[i] = '/';
958 memcpy(zBuf, zPwdUtf8, nPwd+1);
959 fossil_filename_free(zPwdUtf8);
960 #else
961 if( getcwd(zBuf, nBuf-1)==0 ){
962 if( errno==ERANGE ){
963 fossil_fatal("pwd too big: max %d\n", nBuf-1);
964 }else{
@@ -1388,26 +1170,10 @@
1388 rc = blob_compare(&onDisk, pContent);
1389 blob_reset(&onDisk);
1390 return rc==0;
1391 }
1392
1393 /*
1394 ** Portable unicode implementation of opendir()
1395 */
1396 #if INTERFACE
1397
1398 #include <dirent.h>
1399 #if defined(_WIN32)
1400 # define DIR _WDIR
1401 # define dirent _wdirent
1402 # define opendir _wopendir
1403 # define readdir _wreaddir
1404 # define closedir _wclosedir
1405 #endif /* _WIN32 */
1406
1407 #endif /* INTERFACE */
1408
1409 /*
1410 ** Return the value of an environment variable as UTF8.
1411 ** Use fossil_filename_free() to release resources.
1412 */
1413 char *fossil_getenv(const char *zName){
1414
--- src/file.c
+++ src/file.c
@@ -39,64 +39,63 @@
39 # include <sys/utime.h>
40 #else
41 # include <sys/time.h>
42 #endif
43
44 #if INTERFACE
45
46 #include <dirent.h>
47 #if defined(_WIN32)
48 # define DIR _WDIR
49 # define dirent _wdirent
50 # define opendir _wopendir
51 # define readdir _wreaddir
52 # define closedir _wclosedir
53 #endif /* _WIN32 */
54
55 #if defined(_WIN32) && (defined(__MSVCRT__) || defined(_MSC_VER))
56 struct fossilStat {
 
 
57 i64 st_size;
58 i64 st_mtime;
59 int st_mode;
60 };
61 #endif
62
63 #endif /* INTERFACE */
64
65 #if !defined(_WIN32) || !(defined(__MSVCRT__) || defined(_MSC_VER))
66 # define fossilStat stat
67 #endif
68
69 /*
70 ** On Windows S_ISLNK always returns FALSE.
71 */
72 #if !defined(S_ISLNK)
73 # define S_ISLNK(x) (0)
74 #endif
75 static int fileStatValid = 0;
76 static struct fossilStat fileStat;
77
78 /*
79 ** Fill stat buf with information received from stat() or lstat().
80 ** lstat() is called on Unix if isWd is TRUE and allow-symlinks setting is on.
81 **
82 */
83 static int fossil_stat(const char *zFilename, struct fossilStat *buf, int isWd){
 
84 #if !defined(_WIN32)
85 int rc;
86 char *zMbcs = fossil_utf8_to_filename(zFilename);
87 if( isWd && g.allowSymlinks ){
88 rc = lstat(zMbcs, buf);
89 }else{
90 rc = stat(zMbcs, buf);
91 }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
92 fossil_filename_free(zMbcs);
93 return rc;
94 #else
95 return win32_stat(zFilename, buf, isWd);
96 #endif
97 }
98
99 /*
100 ** Fill in the fileStat variable for the file named zFilename.
101 ** If zFilename==0, then use the previous value of fileStat if
@@ -318,240 +317,37 @@
317 /*
318 ** Wrapper around the access() system call.
319 */
320 int file_access(const char *zFilename, int flags){
321 #ifdef _WIN32
322 return win32_access(zFilename, flags);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
323 #else
324 char *zMbcs = fossil_utf8_to_filename(zFilename);
325 int rc = access(zMbcs, flags);
 
326 fossil_filename_free(zMbcs);
327 return rc;
328 #endif
329 }
330
331 /*
332 ** Wrapper around the chdir() system call.
333 ** If bChroot=1, do a chroot to this dir as well
334 ** (UNIX only)
335 */
336 int file_chdir(const char *zChDir, int bChroot){
337 #ifdef _WIN32
338 return win32_chdir(zChDir, bChroot);
 
339 #else
340 char *zPath = fossil_utf8_to_filename(zChDir);
341 int rc = chdir(zPath);
342 if( !rc && bChroot ){
343 rc = chroot(zPath);
344 if( !rc ) rc = chdir("/");
345 }
 
346 fossil_filename_free(zPath);
347 return rc;
348 #endif
349 }
350
351 /*
352 ** Find an unused filename similar to zBase with zSuffix appended.
353 **
@@ -940,25 +736,11 @@
736 ** characters are converted to '/'. No conversions are needed on
737 ** unix.
738 */
739 void file_getcwd(char *zBuf, int nBuf){
740 #ifdef _WIN32
741 win32_getcwd(zBuf, nBuf);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
742 #else
743 if( getcwd(zBuf, nBuf-1)==0 ){
744 if( errno==ERANGE ){
745 fossil_fatal("pwd too big: max %d\n", nBuf-1);
746 }else{
@@ -1388,26 +1170,10 @@
1170 rc = blob_compare(&onDisk, pContent);
1171 blob_reset(&onDisk);
1172 return rc==0;
1173 }
1174
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1175 /*
1176 ** Return the value of an environment variable as UTF8.
1177 ** Use fossil_filename_free() to release resources.
1178 */
1179 char *fossil_getenv(const char *zName){
1180
+11 -1
--- src/main.mk
+++ src/main.mk
@@ -114,10 +114,11 @@
114114
$(SRCDIR)/util.c \
115115
$(SRCDIR)/verify.c \
116116
$(SRCDIR)/vfile.c \
117117
$(SRCDIR)/wiki.c \
118118
$(SRCDIR)/wikiformat.c \
119
+ $(SRCDIR)/winfile.c \
119120
$(SRCDIR)/winhttp.c \
120121
$(SRCDIR)/wysiwyg.c \
121122
$(SRCDIR)/xfer.c \
122123
$(SRCDIR)/xfersetup.c \
123124
$(SRCDIR)/zip.c
@@ -223,10 +224,11 @@
223224
$(OBJDIR)/util_.c \
224225
$(OBJDIR)/verify_.c \
225226
$(OBJDIR)/vfile_.c \
226227
$(OBJDIR)/wiki_.c \
227228
$(OBJDIR)/wikiformat_.c \
229
+ $(OBJDIR)/winfile_.c \
228230
$(OBJDIR)/winhttp_.c \
229231
$(OBJDIR)/wysiwyg_.c \
230232
$(OBJDIR)/xfer_.c \
231233
$(OBJDIR)/xfersetup_.c \
232234
$(OBJDIR)/zip_.c
@@ -332,10 +334,11 @@
332334
$(OBJDIR)/util.o \
333335
$(OBJDIR)/verify.o \
334336
$(OBJDIR)/vfile.o \
335337
$(OBJDIR)/wiki.o \
336338
$(OBJDIR)/wikiformat.o \
339
+ $(OBJDIR)/winfile.o \
337340
$(OBJDIR)/winhttp.o \
338341
$(OBJDIR)/wysiwyg.o \
339342
$(OBJDIR)/xfer.o \
340343
$(OBJDIR)/xfersetup.o \
341344
$(OBJDIR)/zip.o
@@ -419,11 +422,11 @@
419422
420423
421424
$(OBJDIR)/page_index.h: $(TRANS_SRC) $(OBJDIR)/mkindex
422425
$(OBJDIR)/mkindex $(TRANS_SRC) >$@
423426
$(OBJDIR)/headers: $(OBJDIR)/page_index.h $(OBJDIR)/makeheaders $(OBJDIR)/VERSION.h
424
- $(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_status_.c:$(OBJDIR)/json_status.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)/lookslike_.c:$(OBJDIR)/lookslike.h $(OBJDIR)/main_.c:$(OBJDIR)/main.h $(OBJDIR)/manifest_.c:$(OBJDIR)/manifest.h $(OBJDIR)/markdown_.c:$(OBJDIR)/markdown.h $(OBJDIR)/markdown_html_.c:$(OBJDIR)/markdown_html.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)/regexp_.c:$(OBJDIR)/regexp.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)/unicode_.c:$(OBJDIR)/unicode.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)/util_.c:$(OBJDIR)/util.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
427
+ $(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_status_.c:$(OBJDIR)/json_status.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)/lookslike_.c:$(OBJDIR)/lookslike.h $(OBJDIR)/main_.c:$(OBJDIR)/main.h $(OBJDIR)/manifest_.c:$(OBJDIR)/manifest.h $(OBJDIR)/markdown_.c:$(OBJDIR)/markdown.h $(OBJDIR)/markdown_html_.c:$(OBJDIR)/markdown_html.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)/regexp_.c:$(OBJDIR)/regexp.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)/unicode_.c:$(OBJDIR)/unicode.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)/util_.c:$(OBJDIR)/util.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)/winfile_.c:$(OBJDIR)/winfile.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
425428
touch $(OBJDIR)/headers
426429
$(OBJDIR)/headers: Makefile
427430
$(OBJDIR)/json.o $(OBJDIR)/json_artifact.o $(OBJDIR)/json_branch.o $(OBJDIR)/json_config.o $(OBJDIR)/json_diff.o $(OBJDIR)/json_dir.o $(OBJDIR)/json_finfo.o $(OBJDIR)/json_login.o $(OBJDIR)/json_query.o $(OBJDIR)/json_report.o $(OBJDIR)/json_status.o $(OBJDIR)/json_tag.o $(OBJDIR)/json_timeline.o $(OBJDIR)/json_user.o $(OBJDIR)/json_wiki.o : $(SRCDIR)/json_detail.h
428431
Makefile:
429432
$(OBJDIR)/add_.c: $(SRCDIR)/add.c $(OBJDIR)/translate
@@ -1138,10 +1141,17 @@
11381141
11391142
$(OBJDIR)/wikiformat.o: $(OBJDIR)/wikiformat_.c $(OBJDIR)/wikiformat.h $(SRCDIR)/config.h
11401143
$(XTCC) -o $(OBJDIR)/wikiformat.o -c $(OBJDIR)/wikiformat_.c
11411144
11421145
$(OBJDIR)/wikiformat.h: $(OBJDIR)/headers
1146
+$(OBJDIR)/winfile_.c: $(SRCDIR)/winfile.c $(OBJDIR)/translate
1147
+ $(OBJDIR)/translate $(SRCDIR)/winfile.c >$(OBJDIR)/winfile_.c
1148
+
1149
+$(OBJDIR)/winfile.o: $(OBJDIR)/winfile_.c $(OBJDIR)/winfile.h $(SRCDIR)/config.h
1150
+ $(XTCC) -o $(OBJDIR)/winfile.o -c $(OBJDIR)/winfile_.c
1151
+
1152
+$(OBJDIR)/winfile.h: $(OBJDIR)/headers
11431153
$(OBJDIR)/winhttp_.c: $(SRCDIR)/winhttp.c $(OBJDIR)/translate
11441154
$(OBJDIR)/translate $(SRCDIR)/winhttp.c >$(OBJDIR)/winhttp_.c
11451155
11461156
$(OBJDIR)/winhttp.o: $(OBJDIR)/winhttp_.c $(OBJDIR)/winhttp.h $(SRCDIR)/config.h
11471157
$(XTCC) -o $(OBJDIR)/winhttp.o -c $(OBJDIR)/winhttp_.c
11481158
--- src/main.mk
+++ src/main.mk
@@ -114,10 +114,11 @@
114 $(SRCDIR)/util.c \
115 $(SRCDIR)/verify.c \
116 $(SRCDIR)/vfile.c \
117 $(SRCDIR)/wiki.c \
118 $(SRCDIR)/wikiformat.c \
 
119 $(SRCDIR)/winhttp.c \
120 $(SRCDIR)/wysiwyg.c \
121 $(SRCDIR)/xfer.c \
122 $(SRCDIR)/xfersetup.c \
123 $(SRCDIR)/zip.c
@@ -223,10 +224,11 @@
223 $(OBJDIR)/util_.c \
224 $(OBJDIR)/verify_.c \
225 $(OBJDIR)/vfile_.c \
226 $(OBJDIR)/wiki_.c \
227 $(OBJDIR)/wikiformat_.c \
 
228 $(OBJDIR)/winhttp_.c \
229 $(OBJDIR)/wysiwyg_.c \
230 $(OBJDIR)/xfer_.c \
231 $(OBJDIR)/xfersetup_.c \
232 $(OBJDIR)/zip_.c
@@ -332,10 +334,11 @@
332 $(OBJDIR)/util.o \
333 $(OBJDIR)/verify.o \
334 $(OBJDIR)/vfile.o \
335 $(OBJDIR)/wiki.o \
336 $(OBJDIR)/wikiformat.o \
 
337 $(OBJDIR)/winhttp.o \
338 $(OBJDIR)/wysiwyg.o \
339 $(OBJDIR)/xfer.o \
340 $(OBJDIR)/xfersetup.o \
341 $(OBJDIR)/zip.o
@@ -419,11 +422,11 @@
419
420
421 $(OBJDIR)/page_index.h: $(TRANS_SRC) $(OBJDIR)/mkindex
422 $(OBJDIR)/mkindex $(TRANS_SRC) >$@
423 $(OBJDIR)/headers: $(OBJDIR)/page_index.h $(OBJDIR)/makeheaders $(OBJDIR)/VERSION.h
424 $(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_status_.c:$(OBJDIR)/json_status.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)/lookslike_.c:$(OBJDIR)/lookslike.h $(OBJDIR)/main_.c:$(OBJDIR)/main.h $(OBJDIR)/manifest_.c:$(OBJDIR)/manifest.h $(OBJDIR)/markdown_.c:$(OBJDIR)/markdown.h $(OBJDIR)/markdown_html_.c:$(OBJDIR)/markdown_html.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)/regexp_.c:$(OBJDIR)/regexp.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)/unicode_.c:$(OBJDIR)/unicode.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)/util_.c:$(OBJDIR)/util.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
425 touch $(OBJDIR)/headers
426 $(OBJDIR)/headers: Makefile
427 $(OBJDIR)/json.o $(OBJDIR)/json_artifact.o $(OBJDIR)/json_branch.o $(OBJDIR)/json_config.o $(OBJDIR)/json_diff.o $(OBJDIR)/json_dir.o $(OBJDIR)/json_finfo.o $(OBJDIR)/json_login.o $(OBJDIR)/json_query.o $(OBJDIR)/json_report.o $(OBJDIR)/json_status.o $(OBJDIR)/json_tag.o $(OBJDIR)/json_timeline.o $(OBJDIR)/json_user.o $(OBJDIR)/json_wiki.o : $(SRCDIR)/json_detail.h
428 Makefile:
429 $(OBJDIR)/add_.c: $(SRCDIR)/add.c $(OBJDIR)/translate
@@ -1138,10 +1141,17 @@
1138
1139 $(OBJDIR)/wikiformat.o: $(OBJDIR)/wikiformat_.c $(OBJDIR)/wikiformat.h $(SRCDIR)/config.h
1140 $(XTCC) -o $(OBJDIR)/wikiformat.o -c $(OBJDIR)/wikiformat_.c
1141
1142 $(OBJDIR)/wikiformat.h: $(OBJDIR)/headers
 
 
 
 
 
 
 
1143 $(OBJDIR)/winhttp_.c: $(SRCDIR)/winhttp.c $(OBJDIR)/translate
1144 $(OBJDIR)/translate $(SRCDIR)/winhttp.c >$(OBJDIR)/winhttp_.c
1145
1146 $(OBJDIR)/winhttp.o: $(OBJDIR)/winhttp_.c $(OBJDIR)/winhttp.h $(SRCDIR)/config.h
1147 $(XTCC) -o $(OBJDIR)/winhttp.o -c $(OBJDIR)/winhttp_.c
1148
--- src/main.mk
+++ src/main.mk
@@ -114,10 +114,11 @@
114 $(SRCDIR)/util.c \
115 $(SRCDIR)/verify.c \
116 $(SRCDIR)/vfile.c \
117 $(SRCDIR)/wiki.c \
118 $(SRCDIR)/wikiformat.c \
119 $(SRCDIR)/winfile.c \
120 $(SRCDIR)/winhttp.c \
121 $(SRCDIR)/wysiwyg.c \
122 $(SRCDIR)/xfer.c \
123 $(SRCDIR)/xfersetup.c \
124 $(SRCDIR)/zip.c
@@ -223,10 +224,11 @@
224 $(OBJDIR)/util_.c \
225 $(OBJDIR)/verify_.c \
226 $(OBJDIR)/vfile_.c \
227 $(OBJDIR)/wiki_.c \
228 $(OBJDIR)/wikiformat_.c \
229 $(OBJDIR)/winfile_.c \
230 $(OBJDIR)/winhttp_.c \
231 $(OBJDIR)/wysiwyg_.c \
232 $(OBJDIR)/xfer_.c \
233 $(OBJDIR)/xfersetup_.c \
234 $(OBJDIR)/zip_.c
@@ -332,10 +334,11 @@
334 $(OBJDIR)/util.o \
335 $(OBJDIR)/verify.o \
336 $(OBJDIR)/vfile.o \
337 $(OBJDIR)/wiki.o \
338 $(OBJDIR)/wikiformat.o \
339 $(OBJDIR)/winfile.o \
340 $(OBJDIR)/winhttp.o \
341 $(OBJDIR)/wysiwyg.o \
342 $(OBJDIR)/xfer.o \
343 $(OBJDIR)/xfersetup.o \
344 $(OBJDIR)/zip.o
@@ -419,11 +422,11 @@
422
423
424 $(OBJDIR)/page_index.h: $(TRANS_SRC) $(OBJDIR)/mkindex
425 $(OBJDIR)/mkindex $(TRANS_SRC) >$@
426 $(OBJDIR)/headers: $(OBJDIR)/page_index.h $(OBJDIR)/makeheaders $(OBJDIR)/VERSION.h
427 $(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_status_.c:$(OBJDIR)/json_status.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)/lookslike_.c:$(OBJDIR)/lookslike.h $(OBJDIR)/main_.c:$(OBJDIR)/main.h $(OBJDIR)/manifest_.c:$(OBJDIR)/manifest.h $(OBJDIR)/markdown_.c:$(OBJDIR)/markdown.h $(OBJDIR)/markdown_html_.c:$(OBJDIR)/markdown_html.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)/regexp_.c:$(OBJDIR)/regexp.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)/unicode_.c:$(OBJDIR)/unicode.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)/util_.c:$(OBJDIR)/util.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)/winfile_.c:$(OBJDIR)/winfile.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
428 touch $(OBJDIR)/headers
429 $(OBJDIR)/headers: Makefile
430 $(OBJDIR)/json.o $(OBJDIR)/json_artifact.o $(OBJDIR)/json_branch.o $(OBJDIR)/json_config.o $(OBJDIR)/json_diff.o $(OBJDIR)/json_dir.o $(OBJDIR)/json_finfo.o $(OBJDIR)/json_login.o $(OBJDIR)/json_query.o $(OBJDIR)/json_report.o $(OBJDIR)/json_status.o $(OBJDIR)/json_tag.o $(OBJDIR)/json_timeline.o $(OBJDIR)/json_user.o $(OBJDIR)/json_wiki.o : $(SRCDIR)/json_detail.h
431 Makefile:
432 $(OBJDIR)/add_.c: $(SRCDIR)/add.c $(OBJDIR)/translate
@@ -1138,10 +1141,17 @@
1141
1142 $(OBJDIR)/wikiformat.o: $(OBJDIR)/wikiformat_.c $(OBJDIR)/wikiformat.h $(SRCDIR)/config.h
1143 $(XTCC) -o $(OBJDIR)/wikiformat.o -c $(OBJDIR)/wikiformat_.c
1144
1145 $(OBJDIR)/wikiformat.h: $(OBJDIR)/headers
1146 $(OBJDIR)/winfile_.c: $(SRCDIR)/winfile.c $(OBJDIR)/translate
1147 $(OBJDIR)/translate $(SRCDIR)/winfile.c >$(OBJDIR)/winfile_.c
1148
1149 $(OBJDIR)/winfile.o: $(OBJDIR)/winfile_.c $(OBJDIR)/winfile.h $(SRCDIR)/config.h
1150 $(XTCC) -o $(OBJDIR)/winfile.o -c $(OBJDIR)/winfile_.c
1151
1152 $(OBJDIR)/winfile.h: $(OBJDIR)/headers
1153 $(OBJDIR)/winhttp_.c: $(SRCDIR)/winhttp.c $(OBJDIR)/translate
1154 $(OBJDIR)/translate $(SRCDIR)/winhttp.c >$(OBJDIR)/winhttp_.c
1155
1156 $(OBJDIR)/winhttp.o: $(OBJDIR)/winhttp_.c $(OBJDIR)/winhttp.h $(SRCDIR)/config.h
1157 $(XTCC) -o $(OBJDIR)/winhttp.o -c $(OBJDIR)/winhttp_.c
1158
--- src/makemake.tcl
+++ src/makemake.tcl
@@ -117,10 +117,11 @@
117117
util
118118
verify
119119
vfile
120120
wiki
121121
wikiformat
122
+ winfile
122123
winhttp
123124
wysiwyg
124125
xfer
125126
xfersetup
126127
zip
127128
128129
ADDED src/winfile.c
--- src/makemake.tcl
+++ src/makemake.tcl
@@ -117,10 +117,11 @@
117 util
118 verify
119 vfile
120 wiki
121 wikiformat
 
122 winhttp
123 wysiwyg
124 xfer
125 xfersetup
126 zip
127
128 DDED src/winfile.c
--- src/makemake.tcl
+++ src/makemake.tcl
@@ -117,10 +117,11 @@
117 util
118 verify
119 vfile
120 wiki
121 wikiformat
122 winfile
123 winhttp
124 wysiwyg
125 xfer
126 xfersetup
127 zip
128
129 DDED src/winfile.c
--- a/src/winfile.c
+++ b/src/winfile.c
@@ -0,0 +1,41 @@
1
+/*1;cchRes = 0cchRes memcpy(zRes+cchRes/*/*y_if( !try_y_a !defined(S_IFLNK)
2
+# define S_IFLNK 0120000
3
+#endif
4
+#if !defined(SYMBOLIC_LINK_FLAG_DIRECTORY)
5
+# define SYMBOLIC_LINK_FLAG_DIRECTORY (0x1)
6
+#endif#ifndef FSCTL_GET_REPARSE_POINT
7
+# define FSCTL_GET_REPARSE_POINT (((0x00000009) << 16) | ((0x00000000) << 14) | ((42) << 2) | (0))
8
+#endif
9
+
10
+static HANDLE dllhandle = NULL;
11
+static DWORD (WINAPI *getFinalPathNameByHandleW) (HANDLE, LPWSTR, DWORD, DWORD) = NULL;
12
+static BOOLEAN (APIENTRY *createSymbolicLinkW) (LPCWSTR, LPCWSTR, DWORD) = NULL;
13
+
14
+/* a couple defines to make the borrowed struct below compile */
15
+#ifndef _ANONYMOUS_UNION
16
+# define _ANONYMOUS_UNION
17
+#endif
18
+#define DUMMYUNIONNAME
19
+
20
+/*
21
+** this structure copied on 20 Sept 2014 from
22
+** https://reactos-mirror.googlecode.com/svn-history/r54752/bNION union {
23
+ stru u uct#ifndef FSCTLmirror.googlecode.com/svn-history/r54752/b<versionhelperstory/r54752/branches/usb-brin _ANONYUS_UNION union {
24
+ stru u uct#ifndef FSCTL_GET_REPARSE_POIN defined(__MSVCRT__)*getE
25
+
26
+/*
27
+** this, int isWd charPrintNameLevn-history/r54752/branches/usb-bringup/include/ddk/ntifs.h
28
+** which is a wchar_t *zMbcs = fossil_lude/ddk/ntifs.h
29
+** which is a publMbcsINK
30
+ } GenericReparseBuffer;
31
+ }Mbcs
32
+ } GenericReparseBuffer;
33
+ }S_IFDIR : S_IFREG;ne LINK_BUFFER_SIZE 1024
34
+
35
+s-mirror.googlecode.com/svn-history/r54752/branchesMMYUNIONNAME
36
+
37
+/*
38
+** this structure copied on 20 Sept 2014 from
39
+** https://reactos-mirrorRIVILEGE_SET privSetsizeof(PRIVILEGE_SET)size = 0;&pvoid No convercharwchar_t *zMbcs = fossilMbcsMbcsMbcs,
40
+ Mbcs);
41
+ return * If bChroot=1, do a chroot to thischarwchar_t *zPath = fossi
--- a/src/winfile.c
+++ b/src/winfile.c
@@ -0,0 +1,41 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
--- a/src/winfile.c
+++ b/src/winfile.c
@@ -0,0 +1,41 @@
1 /*1;cchRes = 0cchRes memcpy(zRes+cchRes/*/*y_if( !try_y_a !defined(S_IFLNK)
2 # define S_IFLNK 0120000
3 #endif
4 #if !defined(SYMBOLIC_LINK_FLAG_DIRECTORY)
5 # define SYMBOLIC_LINK_FLAG_DIRECTORY (0x1)
6 #endif#ifndef FSCTL_GET_REPARSE_POINT
7 # define FSCTL_GET_REPARSE_POINT (((0x00000009) << 16) | ((0x00000000) << 14) | ((42) << 2) | (0))
8 #endif
9
10 static HANDLE dllhandle = NULL;
11 static DWORD (WINAPI *getFinalPathNameByHandleW) (HANDLE, LPWSTR, DWORD, DWORD) = NULL;
12 static BOOLEAN (APIENTRY *createSymbolicLinkW) (LPCWSTR, LPCWSTR, DWORD) = NULL;
13
14 /* a couple defines to make the borrowed struct below compile */
15 #ifndef _ANONYMOUS_UNION
16 # define _ANONYMOUS_UNION
17 #endif
18 #define DUMMYUNIONNAME
19
20 /*
21 ** this structure copied on 20 Sept 2014 from
22 ** https://reactos-mirror.googlecode.com/svn-history/r54752/bNION union {
23 stru u uct#ifndef FSCTLmirror.googlecode.com/svn-history/r54752/b<versionhelperstory/r54752/branches/usb-brin _ANONYUS_UNION union {
24 stru u uct#ifndef FSCTL_GET_REPARSE_POIN defined(__MSVCRT__)*getE
25
26 /*
27 ** this, int isWd charPrintNameLevn-history/r54752/branches/usb-bringup/include/ddk/ntifs.h
28 ** which is a wchar_t *zMbcs = fossil_lude/ddk/ntifs.h
29 ** which is a publMbcsINK
30 } GenericReparseBuffer;
31 }Mbcs
32 } GenericReparseBuffer;
33 }S_IFDIR : S_IFREG;ne LINK_BUFFER_SIZE 1024
34
35 s-mirror.googlecode.com/svn-history/r54752/branchesMMYUNIONNAME
36
37 /*
38 ** this structure copied on 20 Sept 2014 from
39 ** https://reactos-mirrorRIVILEGE_SET privSetsizeof(PRIVILEGE_SET)size = 0;&pvoid No convercharwchar_t *zMbcs = fossilMbcsMbcsMbcs,
40 Mbcs);
41 return * If bChroot=1, do a chroot to thischarwchar_t *zPath = fossi
+10 -4
--- win/Makefile.dmc
+++ win/Makefile.dmc
@@ -28,13 +28,13 @@
2828
2929
SQLITE_OPTIONS = -DSQLITE_OMIT_LOAD_EXTENSION=1 -DSQLITE_THREADSAFE=0 -DSQLITE_DEFAULT_FILE_FORMAT=4 -DSQLITE_OMIT_DEPRECATED -DSQLITE_ENABLE_EXPLAIN_COMMENTS -Dlocaltime=fossil_localtime -DSQLITE_ENABLE_LOCKING_STYLE=0
3030
3131
SHELL_OPTIONS = -Dmain=sqlite3_shell -DSQLITE_OMIT_LOAD_EXTENSION=1 -Dsqlite3_strglob=strglob -Dgetenv=fossil_getenv -Dfopen=fossil_fopen
3232
33
-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_status_.c json_tag_.c json_timeline_.c json_user_.c json_wiki_.c leaf_.c login_.c lookslike_.c main_.c manifest_.c markdown_.c markdown_html_.c md5_.c merge_.c merge3_.c moderate_.c name_.c path_.c pivot_.c popen_.c pqueue_.c printf_.c rebuild_.c regexp_.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 unicode_.c update_.c url_.c user_.c utf8_.c util_.c verify_.c vfile_.c wiki_.c wikiformat_.c winhttp_.c wysiwyg_.c xfer_.c xfersetup_.c zip_.c
33
+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_status_.c json_tag_.c json_timeline_.c json_user_.c json_wiki_.c leaf_.c login_.c lookslike_.c main_.c manifest_.c markdown_.c markdown_html_.c md5_.c merge_.c merge3_.c moderate_.c name_.c path_.c pivot_.c popen_.c pqueue_.c printf_.c rebuild_.c regexp_.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 unicode_.c update_.c url_.c user_.c utf8_.c util_.c verify_.c vfile_.c wiki_.c wikiformat_.c winfile_.c winhttp_.c wysiwyg_.c xfer_.c xfersetup_.c zip_.c
3434
35
-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_status$O $(OBJDIR)\json_tag$O $(OBJDIR)\json_timeline$O $(OBJDIR)\json_user$O $(OBJDIR)\json_wiki$O $(OBJDIR)\leaf$O $(OBJDIR)\login$O $(OBJDIR)\lookslike$O $(OBJDIR)\main$O $(OBJDIR)\manifest$O $(OBJDIR)\markdown$O $(OBJDIR)\markdown_html$O $(OBJDIR)\md5$O $(OBJDIR)\merge$O $(OBJDIR)\merge3$O $(OBJDIR)\moderate$O $(OBJDIR)\name$O $(OBJDIR)\path$O $(OBJDIR)\pivot$O $(OBJDIR)\popen$O $(OBJDIR)\pqueue$O $(OBJDIR)\printf$O $(OBJDIR)\rebuild$O $(OBJDIR)\regexp$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)\unicode$O $(OBJDIR)\update$O $(OBJDIR)\url$O $(OBJDIR)\user$O $(OBJDIR)\utf8$O $(OBJDIR)\util$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
35
+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_status$O $(OBJDIR)\json_tag$O $(OBJDIR)\json_timeline$O $(OBJDIR)\json_user$O $(OBJDIR)\json_wiki$O $(OBJDIR)\leaf$O $(OBJDIR)\login$O $(OBJDIR)\lookslike$O $(OBJDIR)\main$O $(OBJDIR)\manifest$O $(OBJDIR)\markdown$O $(OBJDIR)\markdown_html$O $(OBJDIR)\md5$O $(OBJDIR)\merge$O $(OBJDIR)\merge3$O $(OBJDIR)\moderate$O $(OBJDIR)\name$O $(OBJDIR)\path$O $(OBJDIR)\pivot$O $(OBJDIR)\popen$O $(OBJDIR)\pqueue$O $(OBJDIR)\printf$O $(OBJDIR)\rebuild$O $(OBJDIR)\regexp$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)\unicode$O $(OBJDIR)\update$O $(OBJDIR)\url$O $(OBJDIR)\user$O $(OBJDIR)\utf8$O $(OBJDIR)\util$O $(OBJDIR)\verify$O $(OBJDIR)\vfile$O $(OBJDIR)\wiki$O $(OBJDIR)\wikiformat$O $(OBJDIR)\winfile$O $(OBJDIR)\winhttp$O $(OBJDIR)\wysiwyg$O $(OBJDIR)\xfer$O $(OBJDIR)\xfersetup$O $(OBJDIR)\zip$O $(OBJDIR)\shell$O $(OBJDIR)\sqlite3$O $(OBJDIR)\th$O $(OBJDIR)\th_lang$O
3636
3737
3838
RC=$(DMDIR)\bin\rcc
3939
RCFLAGS=-32 -w1 -I$(SRCDIR) /D__DMC__
4040
@@ -48,11 +48,11 @@
4848
4949
$(OBJDIR)\fossil.res: $B\win\fossil.rc
5050
$(RC) $(RCFLAGS) -o$@ $**
5151
5252
$(OBJDIR)\link: $B\win\Makefile.dmc $(OBJDIR)\fossil.res
53
- +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_status json_tag json_timeline json_user json_wiki leaf login lookslike main manifest markdown markdown_html md5 merge merge3 moderate name path pivot popen pqueue printf rebuild regexp report rss schema search setup sha1 shun skins sqlcmd stash stat style sync tag tar th_main timeline tkt tktsetup undo unicode update url user utf8 util verify vfile wiki wikiformat winhttp wysiwyg xfer xfersetup zip shell sqlite3 th th_lang > $@
53
+ +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_status json_tag json_timeline json_user json_wiki leaf login lookslike main manifest markdown markdown_html md5 merge merge3 moderate name path pivot popen pqueue printf rebuild regexp report rss schema search setup sha1 shun skins sqlcmd stash stat style sync tag tar th_main timeline tkt tktsetup undo unicode update url user utf8 util verify vfile wiki wikiformat winfile winhttp wysiwyg xfer xfersetup zip shell sqlite3 th th_lang > $@
5454
+echo fossil >> $@
5555
+echo fossil >> $@
5656
+echo $(LIBS) >> $@
5757
+echo. >> $@
5858
+echo fossil >> $@
@@ -724,10 +724,16 @@
724724
$(OBJDIR)\wikiformat$O : wikiformat_.c wikiformat.h
725725
$(TCC) -o$@ -c wikiformat_.c
726726
727727
wikiformat_.c : $(SRCDIR)\wikiformat.c
728728
+translate$E $** > $@
729
+
730
+$(OBJDIR)\winfile$O : winfile_.c winfile.h
731
+ $(TCC) -o$@ -c winfile_.c
732
+
733
+winfile_.c : $(SRCDIR)\winfile.c
734
+ +translate$E $** > $@
729735
730736
$(OBJDIR)\winhttp$O : winhttp_.c winhttp.h
731737
$(TCC) -o$@ -c winhttp_.c
732738
733739
winhttp_.c : $(SRCDIR)\winhttp.c
@@ -756,7 +762,7 @@
756762
757763
zip_.c : $(SRCDIR)\zip.c
758764
+translate$E $** > $@
759765
760766
headers: makeheaders$E page_index.h VERSION.h
761
- +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_status_.c:json_status.h json_tag_.c:json_tag.h json_timeline_.c:json_timeline.h json_user_.c:json_user.h json_wiki_.c:json_wiki.h leaf_.c:leaf.h login_.c:login.h lookslike_.c:lookslike.h main_.c:main.h manifest_.c:manifest.h markdown_.c:markdown.h markdown_html_.c:markdown_html.h md5_.c:md5.h merge_.c:merge.h merge3_.c:merge3.h moderate_.c:moderate.h name_.c:name.h path_.c:path.h pivot_.c:pivot.h popen_.c:popen.h pqueue_.c:pqueue.h printf_.c:printf.h rebuild_.c:rebuild.h regexp_.c:regexp.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 unicode_.c:unicode.h update_.c:update.h url_.c:url.h user_.c:user.h utf8_.c:utf8.h util_.c:util.h verify_.c:verify.h vfile_.c:vfile.h 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
767
+ +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_status_.c:json_status.h json_tag_.c:json_tag.h json_timeline_.c:json_timeline.h json_user_.c:json_user.h json_wiki_.c:json_wiki.h leaf_.c:leaf.h login_.c:login.h lookslike_.c:lookslike.h main_.c:main.h manifest_.c:manifest.h markdown_.c:markdown.h markdown_html_.c:markdown_html.h md5_.c:md5.h merge_.c:merge.h merge3_.c:merge3.h moderate_.c:moderate.h name_.c:name.h path_.c:path.h pivot_.c:pivot.h popen_.c:popen.h pqueue_.c:pqueue.h printf_.c:printf.h rebuild_.c:rebuild.h regexp_.c:regexp.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 unicode_.c:unicode.h update_.c:update.h url_.c:url.h user_.c:user.h utf8_.c:utf8.h util_.c:util.h verify_.c:verify.h vfile_.c:vfile.h wiki_.c:wiki.h wikiformat_.c:wikiformat.h winfile_.c:winfile.h winhttp_.c:winhttp.h wysiwyg_.c:wysiwyg.h xfer_.c:xfer.h xfersetup_.c:xfersetup.h zip_.c:zip.h $(SRCDIR)\sqlite3.h $(SRCDIR)\th.h VERSION.h $(SRCDIR)\cson_amalgamation.h
762768
@copy /Y nul: headers
763769
--- win/Makefile.dmc
+++ win/Makefile.dmc
@@ -28,13 +28,13 @@
28
29 SQLITE_OPTIONS = -DSQLITE_OMIT_LOAD_EXTENSION=1 -DSQLITE_THREADSAFE=0 -DSQLITE_DEFAULT_FILE_FORMAT=4 -DSQLITE_OMIT_DEPRECATED -DSQLITE_ENABLE_EXPLAIN_COMMENTS -Dlocaltime=fossil_localtime -DSQLITE_ENABLE_LOCKING_STYLE=0
30
31 SHELL_OPTIONS = -Dmain=sqlite3_shell -DSQLITE_OMIT_LOAD_EXTENSION=1 -Dsqlite3_strglob=strglob -Dgetenv=fossil_getenv -Dfopen=fossil_fopen
32
33 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_status_.c json_tag_.c json_timeline_.c json_user_.c json_wiki_.c leaf_.c login_.c lookslike_.c main_.c manifest_.c markdown_.c markdown_html_.c md5_.c merge_.c merge3_.c moderate_.c name_.c path_.c pivot_.c popen_.c pqueue_.c printf_.c rebuild_.c regexp_.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 unicode_.c update_.c url_.c user_.c utf8_.c util_.c verify_.c vfile_.c wiki_.c wikiformat_.c winhttp_.c wysiwyg_.c xfer_.c xfersetup_.c zip_.c
34
35 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_status$O $(OBJDIR)\json_tag$O $(OBJDIR)\json_timeline$O $(OBJDIR)\json_user$O $(OBJDIR)\json_wiki$O $(OBJDIR)\leaf$O $(OBJDIR)\login$O $(OBJDIR)\lookslike$O $(OBJDIR)\main$O $(OBJDIR)\manifest$O $(OBJDIR)\markdown$O $(OBJDIR)\markdown_html$O $(OBJDIR)\md5$O $(OBJDIR)\merge$O $(OBJDIR)\merge3$O $(OBJDIR)\moderate$O $(OBJDIR)\name$O $(OBJDIR)\path$O $(OBJDIR)\pivot$O $(OBJDIR)\popen$O $(OBJDIR)\pqueue$O $(OBJDIR)\printf$O $(OBJDIR)\rebuild$O $(OBJDIR)\regexp$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)\unicode$O $(OBJDIR)\update$O $(OBJDIR)\url$O $(OBJDIR)\user$O $(OBJDIR)\utf8$O $(OBJDIR)\util$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
36
37
38 RC=$(DMDIR)\bin\rcc
39 RCFLAGS=-32 -w1 -I$(SRCDIR) /D__DMC__
40
@@ -48,11 +48,11 @@
48
49 $(OBJDIR)\fossil.res: $B\win\fossil.rc
50 $(RC) $(RCFLAGS) -o$@ $**
51
52 $(OBJDIR)\link: $B\win\Makefile.dmc $(OBJDIR)\fossil.res
53 +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_status json_tag json_timeline json_user json_wiki leaf login lookslike main manifest markdown markdown_html md5 merge merge3 moderate name path pivot popen pqueue printf rebuild regexp report rss schema search setup sha1 shun skins sqlcmd stash stat style sync tag tar th_main timeline tkt tktsetup undo unicode update url user utf8 util verify vfile wiki wikiformat winhttp wysiwyg xfer xfersetup zip shell sqlite3 th th_lang > $@
54 +echo fossil >> $@
55 +echo fossil >> $@
56 +echo $(LIBS) >> $@
57 +echo. >> $@
58 +echo fossil >> $@
@@ -724,10 +724,16 @@
724 $(OBJDIR)\wikiformat$O : wikiformat_.c wikiformat.h
725 $(TCC) -o$@ -c wikiformat_.c
726
727 wikiformat_.c : $(SRCDIR)\wikiformat.c
728 +translate$E $** > $@
 
 
 
 
 
 
729
730 $(OBJDIR)\winhttp$O : winhttp_.c winhttp.h
731 $(TCC) -o$@ -c winhttp_.c
732
733 winhttp_.c : $(SRCDIR)\winhttp.c
@@ -756,7 +762,7 @@
756
757 zip_.c : $(SRCDIR)\zip.c
758 +translate$E $** > $@
759
760 headers: makeheaders$E page_index.h VERSION.h
761 +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_status_.c:json_status.h json_tag_.c:json_tag.h json_timeline_.c:json_timeline.h json_user_.c:json_user.h json_wiki_.c:json_wiki.h leaf_.c:leaf.h login_.c:login.h lookslike_.c:lookslike.h main_.c:main.h manifest_.c:manifest.h markdown_.c:markdown.h markdown_html_.c:markdown_html.h md5_.c:md5.h merge_.c:merge.h merge3_.c:merge3.h moderate_.c:moderate.h name_.c:name.h path_.c:path.h pivot_.c:pivot.h popen_.c:popen.h pqueue_.c:pqueue.h printf_.c:printf.h rebuild_.c:rebuild.h regexp_.c:regexp.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 unicode_.c:unicode.h update_.c:update.h url_.c:url.h user_.c:user.h utf8_.c:utf8.h util_.c:util.h verify_.c:verify.h vfile_.c:vfile.h 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
762 @copy /Y nul: headers
763
--- win/Makefile.dmc
+++ win/Makefile.dmc
@@ -28,13 +28,13 @@
28
29 SQLITE_OPTIONS = -DSQLITE_OMIT_LOAD_EXTENSION=1 -DSQLITE_THREADSAFE=0 -DSQLITE_DEFAULT_FILE_FORMAT=4 -DSQLITE_OMIT_DEPRECATED -DSQLITE_ENABLE_EXPLAIN_COMMENTS -Dlocaltime=fossil_localtime -DSQLITE_ENABLE_LOCKING_STYLE=0
30
31 SHELL_OPTIONS = -Dmain=sqlite3_shell -DSQLITE_OMIT_LOAD_EXTENSION=1 -Dsqlite3_strglob=strglob -Dgetenv=fossil_getenv -Dfopen=fossil_fopen
32
33 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_status_.c json_tag_.c json_timeline_.c json_user_.c json_wiki_.c leaf_.c login_.c lookslike_.c main_.c manifest_.c markdown_.c markdown_html_.c md5_.c merge_.c merge3_.c moderate_.c name_.c path_.c pivot_.c popen_.c pqueue_.c printf_.c rebuild_.c regexp_.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 unicode_.c update_.c url_.c user_.c utf8_.c util_.c verify_.c vfile_.c wiki_.c wikiformat_.c winfile_.c winhttp_.c wysiwyg_.c xfer_.c xfersetup_.c zip_.c
34
35 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_status$O $(OBJDIR)\json_tag$O $(OBJDIR)\json_timeline$O $(OBJDIR)\json_user$O $(OBJDIR)\json_wiki$O $(OBJDIR)\leaf$O $(OBJDIR)\login$O $(OBJDIR)\lookslike$O $(OBJDIR)\main$O $(OBJDIR)\manifest$O $(OBJDIR)\markdown$O $(OBJDIR)\markdown_html$O $(OBJDIR)\md5$O $(OBJDIR)\merge$O $(OBJDIR)\merge3$O $(OBJDIR)\moderate$O $(OBJDIR)\name$O $(OBJDIR)\path$O $(OBJDIR)\pivot$O $(OBJDIR)\popen$O $(OBJDIR)\pqueue$O $(OBJDIR)\printf$O $(OBJDIR)\rebuild$O $(OBJDIR)\regexp$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)\unicode$O $(OBJDIR)\update$O $(OBJDIR)\url$O $(OBJDIR)\user$O $(OBJDIR)\utf8$O $(OBJDIR)\util$O $(OBJDIR)\verify$O $(OBJDIR)\vfile$O $(OBJDIR)\wiki$O $(OBJDIR)\wikiformat$O $(OBJDIR)\winfile$O $(OBJDIR)\winhttp$O $(OBJDIR)\wysiwyg$O $(OBJDIR)\xfer$O $(OBJDIR)\xfersetup$O $(OBJDIR)\zip$O $(OBJDIR)\shell$O $(OBJDIR)\sqlite3$O $(OBJDIR)\th$O $(OBJDIR)\th_lang$O
36
37
38 RC=$(DMDIR)\bin\rcc
39 RCFLAGS=-32 -w1 -I$(SRCDIR) /D__DMC__
40
@@ -48,11 +48,11 @@
48
49 $(OBJDIR)\fossil.res: $B\win\fossil.rc
50 $(RC) $(RCFLAGS) -o$@ $**
51
52 $(OBJDIR)\link: $B\win\Makefile.dmc $(OBJDIR)\fossil.res
53 +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_status json_tag json_timeline json_user json_wiki leaf login lookslike main manifest markdown markdown_html md5 merge merge3 moderate name path pivot popen pqueue printf rebuild regexp report rss schema search setup sha1 shun skins sqlcmd stash stat style sync tag tar th_main timeline tkt tktsetup undo unicode update url user utf8 util verify vfile wiki wikiformat winfile winhttp wysiwyg xfer xfersetup zip shell sqlite3 th th_lang > $@
54 +echo fossil >> $@
55 +echo fossil >> $@
56 +echo $(LIBS) >> $@
57 +echo. >> $@
58 +echo fossil >> $@
@@ -724,10 +724,16 @@
724 $(OBJDIR)\wikiformat$O : wikiformat_.c wikiformat.h
725 $(TCC) -o$@ -c wikiformat_.c
726
727 wikiformat_.c : $(SRCDIR)\wikiformat.c
728 +translate$E $** > $@
729
730 $(OBJDIR)\winfile$O : winfile_.c winfile.h
731 $(TCC) -o$@ -c winfile_.c
732
733 winfile_.c : $(SRCDIR)\winfile.c
734 +translate$E $** > $@
735
736 $(OBJDIR)\winhttp$O : winhttp_.c winhttp.h
737 $(TCC) -o$@ -c winhttp_.c
738
739 winhttp_.c : $(SRCDIR)\winhttp.c
@@ -756,7 +762,7 @@
762
763 zip_.c : $(SRCDIR)\zip.c
764 +translate$E $** > $@
765
766 headers: makeheaders$E page_index.h VERSION.h
767 +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_status_.c:json_status.h json_tag_.c:json_tag.h json_timeline_.c:json_timeline.h json_user_.c:json_user.h json_wiki_.c:json_wiki.h leaf_.c:leaf.h login_.c:login.h lookslike_.c:lookslike.h main_.c:main.h manifest_.c:manifest.h markdown_.c:markdown.h markdown_html_.c:markdown_html.h md5_.c:md5.h merge_.c:merge.h merge3_.c:merge3.h moderate_.c:moderate.h name_.c:name.h path_.c:path.h pivot_.c:pivot.h popen_.c:popen.h pqueue_.c:pqueue.h printf_.c:printf.h rebuild_.c:rebuild.h regexp_.c:regexp.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 unicode_.c:unicode.h update_.c:update.h url_.c:url.h user_.c:user.h utf8_.c:utf8.h util_.c:util.h verify_.c:verify.h vfile_.c:vfile.h wiki_.c:wiki.h wikiformat_.c:wikiformat.h winfile_.c:winfile.h winhttp_.c:winhttp.h wysiwyg_.c:wysiwyg.h xfer_.c:xfer.h xfersetup_.c:xfersetup.h zip_.c:zip.h $(SRCDIR)\sqlite3.h $(SRCDIR)\th.h VERSION.h $(SRCDIR)\cson_amalgamation.h
768 @copy /Y nul: headers
769
--- win/Makefile.mingw
+++ win/Makefile.mingw
@@ -357,10 +357,11 @@
357357
$(SRCDIR)/util.c \
358358
$(SRCDIR)/verify.c \
359359
$(SRCDIR)/vfile.c \
360360
$(SRCDIR)/wiki.c \
361361
$(SRCDIR)/wikiformat.c \
362
+ $(SRCDIR)/winfile.c \
362363
$(SRCDIR)/winhttp.c \
363364
$(SRCDIR)/wysiwyg.c \
364365
$(SRCDIR)/xfer.c \
365366
$(SRCDIR)/xfersetup.c \
366367
$(SRCDIR)/zip.c
@@ -466,10 +467,11 @@
466467
$(OBJDIR)/util_.c \
467468
$(OBJDIR)/verify_.c \
468469
$(OBJDIR)/vfile_.c \
469470
$(OBJDIR)/wiki_.c \
470471
$(OBJDIR)/wikiformat_.c \
472
+ $(OBJDIR)/winfile_.c \
471473
$(OBJDIR)/winhttp_.c \
472474
$(OBJDIR)/wysiwyg_.c \
473475
$(OBJDIR)/xfer_.c \
474476
$(OBJDIR)/xfersetup_.c \
475477
$(OBJDIR)/zip_.c
@@ -575,10 +577,11 @@
575577
$(OBJDIR)/util.o \
576578
$(OBJDIR)/verify.o \
577579
$(OBJDIR)/vfile.o \
578580
$(OBJDIR)/wiki.o \
579581
$(OBJDIR)/wikiformat.o \
582
+ $(OBJDIR)/winfile.o \
580583
$(OBJDIR)/winhttp.o \
581584
$(OBJDIR)/wysiwyg.o \
582585
$(OBJDIR)/xfer.o \
583586
$(OBJDIR)/xfersetup.o \
584587
$(OBJDIR)/zip.o
@@ -816,10 +819,11 @@
816819
$(OBJDIR)/util_.c:$(OBJDIR)/util.h \
817820
$(OBJDIR)/verify_.c:$(OBJDIR)/verify.h \
818821
$(OBJDIR)/vfile_.c:$(OBJDIR)/vfile.h \
819822
$(OBJDIR)/wiki_.c:$(OBJDIR)/wiki.h \
820823
$(OBJDIR)/wikiformat_.c:$(OBJDIR)/wikiformat.h \
824
+ $(OBJDIR)/winfile_.c:$(OBJDIR)/winfile.h \
821825
$(OBJDIR)/winhttp_.c:$(OBJDIR)/winhttp.h \
822826
$(OBJDIR)/wysiwyg_.c:$(OBJDIR)/wysiwyg.h \
823827
$(OBJDIR)/xfer_.c:$(OBJDIR)/xfer.h \
824828
$(OBJDIR)/xfersetup_.c:$(OBJDIR)/xfersetup.h \
825829
$(OBJDIR)/zip_.c:$(OBJDIR)/zip.h \
@@ -1645,10 +1649,18 @@
16451649
16461650
$(OBJDIR)/wikiformat.o: $(OBJDIR)/wikiformat_.c $(OBJDIR)/wikiformat.h $(SRCDIR)/config.h
16471651
$(XTCC) -o $(OBJDIR)/wikiformat.o -c $(OBJDIR)/wikiformat_.c
16481652
16491653
$(OBJDIR)/wikiformat.h: $(OBJDIR)/headers
1654
+
1655
+$(OBJDIR)/winfile_.c: $(SRCDIR)/winfile.c $(OBJDIR)/translate
1656
+ $(TRANSLATE) $(SRCDIR)/winfile.c >$(OBJDIR)/winfile_.c
1657
+
1658
+$(OBJDIR)/winfile.o: $(OBJDIR)/winfile_.c $(OBJDIR)/winfile.h $(SRCDIR)/config.h
1659
+ $(XTCC) -o $(OBJDIR)/winfile.o -c $(OBJDIR)/winfile_.c
1660
+
1661
+$(OBJDIR)/winfile.h: $(OBJDIR)/headers
16501662
16511663
$(OBJDIR)/winhttp_.c: $(SRCDIR)/winhttp.c $(OBJDIR)/translate
16521664
$(TRANSLATE) $(SRCDIR)/winhttp.c >$(OBJDIR)/winhttp_.c
16531665
16541666
$(OBJDIR)/winhttp.o: $(OBJDIR)/winhttp_.c $(OBJDIR)/winhttp.h $(SRCDIR)/config.h
16551667
--- win/Makefile.mingw
+++ win/Makefile.mingw
@@ -357,10 +357,11 @@
357 $(SRCDIR)/util.c \
358 $(SRCDIR)/verify.c \
359 $(SRCDIR)/vfile.c \
360 $(SRCDIR)/wiki.c \
361 $(SRCDIR)/wikiformat.c \
 
362 $(SRCDIR)/winhttp.c \
363 $(SRCDIR)/wysiwyg.c \
364 $(SRCDIR)/xfer.c \
365 $(SRCDIR)/xfersetup.c \
366 $(SRCDIR)/zip.c
@@ -466,10 +467,11 @@
466 $(OBJDIR)/util_.c \
467 $(OBJDIR)/verify_.c \
468 $(OBJDIR)/vfile_.c \
469 $(OBJDIR)/wiki_.c \
470 $(OBJDIR)/wikiformat_.c \
 
471 $(OBJDIR)/winhttp_.c \
472 $(OBJDIR)/wysiwyg_.c \
473 $(OBJDIR)/xfer_.c \
474 $(OBJDIR)/xfersetup_.c \
475 $(OBJDIR)/zip_.c
@@ -575,10 +577,11 @@
575 $(OBJDIR)/util.o \
576 $(OBJDIR)/verify.o \
577 $(OBJDIR)/vfile.o \
578 $(OBJDIR)/wiki.o \
579 $(OBJDIR)/wikiformat.o \
 
580 $(OBJDIR)/winhttp.o \
581 $(OBJDIR)/wysiwyg.o \
582 $(OBJDIR)/xfer.o \
583 $(OBJDIR)/xfersetup.o \
584 $(OBJDIR)/zip.o
@@ -816,10 +819,11 @@
816 $(OBJDIR)/util_.c:$(OBJDIR)/util.h \
817 $(OBJDIR)/verify_.c:$(OBJDIR)/verify.h \
818 $(OBJDIR)/vfile_.c:$(OBJDIR)/vfile.h \
819 $(OBJDIR)/wiki_.c:$(OBJDIR)/wiki.h \
820 $(OBJDIR)/wikiformat_.c:$(OBJDIR)/wikiformat.h \
 
821 $(OBJDIR)/winhttp_.c:$(OBJDIR)/winhttp.h \
822 $(OBJDIR)/wysiwyg_.c:$(OBJDIR)/wysiwyg.h \
823 $(OBJDIR)/xfer_.c:$(OBJDIR)/xfer.h \
824 $(OBJDIR)/xfersetup_.c:$(OBJDIR)/xfersetup.h \
825 $(OBJDIR)/zip_.c:$(OBJDIR)/zip.h \
@@ -1645,10 +1649,18 @@
1645
1646 $(OBJDIR)/wikiformat.o: $(OBJDIR)/wikiformat_.c $(OBJDIR)/wikiformat.h $(SRCDIR)/config.h
1647 $(XTCC) -o $(OBJDIR)/wikiformat.o -c $(OBJDIR)/wikiformat_.c
1648
1649 $(OBJDIR)/wikiformat.h: $(OBJDIR)/headers
 
 
 
 
 
 
 
 
1650
1651 $(OBJDIR)/winhttp_.c: $(SRCDIR)/winhttp.c $(OBJDIR)/translate
1652 $(TRANSLATE) $(SRCDIR)/winhttp.c >$(OBJDIR)/winhttp_.c
1653
1654 $(OBJDIR)/winhttp.o: $(OBJDIR)/winhttp_.c $(OBJDIR)/winhttp.h $(SRCDIR)/config.h
1655
--- win/Makefile.mingw
+++ win/Makefile.mingw
@@ -357,10 +357,11 @@
357 $(SRCDIR)/util.c \
358 $(SRCDIR)/verify.c \
359 $(SRCDIR)/vfile.c \
360 $(SRCDIR)/wiki.c \
361 $(SRCDIR)/wikiformat.c \
362 $(SRCDIR)/winfile.c \
363 $(SRCDIR)/winhttp.c \
364 $(SRCDIR)/wysiwyg.c \
365 $(SRCDIR)/xfer.c \
366 $(SRCDIR)/xfersetup.c \
367 $(SRCDIR)/zip.c
@@ -466,10 +467,11 @@
467 $(OBJDIR)/util_.c \
468 $(OBJDIR)/verify_.c \
469 $(OBJDIR)/vfile_.c \
470 $(OBJDIR)/wiki_.c \
471 $(OBJDIR)/wikiformat_.c \
472 $(OBJDIR)/winfile_.c \
473 $(OBJDIR)/winhttp_.c \
474 $(OBJDIR)/wysiwyg_.c \
475 $(OBJDIR)/xfer_.c \
476 $(OBJDIR)/xfersetup_.c \
477 $(OBJDIR)/zip_.c
@@ -575,10 +577,11 @@
577 $(OBJDIR)/util.o \
578 $(OBJDIR)/verify.o \
579 $(OBJDIR)/vfile.o \
580 $(OBJDIR)/wiki.o \
581 $(OBJDIR)/wikiformat.o \
582 $(OBJDIR)/winfile.o \
583 $(OBJDIR)/winhttp.o \
584 $(OBJDIR)/wysiwyg.o \
585 $(OBJDIR)/xfer.o \
586 $(OBJDIR)/xfersetup.o \
587 $(OBJDIR)/zip.o
@@ -816,10 +819,11 @@
819 $(OBJDIR)/util_.c:$(OBJDIR)/util.h \
820 $(OBJDIR)/verify_.c:$(OBJDIR)/verify.h \
821 $(OBJDIR)/vfile_.c:$(OBJDIR)/vfile.h \
822 $(OBJDIR)/wiki_.c:$(OBJDIR)/wiki.h \
823 $(OBJDIR)/wikiformat_.c:$(OBJDIR)/wikiformat.h \
824 $(OBJDIR)/winfile_.c:$(OBJDIR)/winfile.h \
825 $(OBJDIR)/winhttp_.c:$(OBJDIR)/winhttp.h \
826 $(OBJDIR)/wysiwyg_.c:$(OBJDIR)/wysiwyg.h \
827 $(OBJDIR)/xfer_.c:$(OBJDIR)/xfer.h \
828 $(OBJDIR)/xfersetup_.c:$(OBJDIR)/xfersetup.h \
829 $(OBJDIR)/zip_.c:$(OBJDIR)/zip.h \
@@ -1645,10 +1649,18 @@
1649
1650 $(OBJDIR)/wikiformat.o: $(OBJDIR)/wikiformat_.c $(OBJDIR)/wikiformat.h $(SRCDIR)/config.h
1651 $(XTCC) -o $(OBJDIR)/wikiformat.o -c $(OBJDIR)/wikiformat_.c
1652
1653 $(OBJDIR)/wikiformat.h: $(OBJDIR)/headers
1654
1655 $(OBJDIR)/winfile_.c: $(SRCDIR)/winfile.c $(OBJDIR)/translate
1656 $(TRANSLATE) $(SRCDIR)/winfile.c >$(OBJDIR)/winfile_.c
1657
1658 $(OBJDIR)/winfile.o: $(OBJDIR)/winfile_.c $(OBJDIR)/winfile.h $(SRCDIR)/config.h
1659 $(XTCC) -o $(OBJDIR)/winfile.o -c $(OBJDIR)/winfile_.c
1660
1661 $(OBJDIR)/winfile.h: $(OBJDIR)/headers
1662
1663 $(OBJDIR)/winhttp_.c: $(SRCDIR)/winhttp.c $(OBJDIR)/translate
1664 $(TRANSLATE) $(SRCDIR)/winhttp.c >$(OBJDIR)/winhttp_.c
1665
1666 $(OBJDIR)/winhttp.o: $(OBJDIR)/winhttp_.c $(OBJDIR)/winhttp.h $(SRCDIR)/config.h
1667
--- win/Makefile.mingw.mistachkin
+++ win/Makefile.mingw.mistachkin
@@ -357,10 +357,11 @@
357357
$(SRCDIR)/util.c \
358358
$(SRCDIR)/verify.c \
359359
$(SRCDIR)/vfile.c \
360360
$(SRCDIR)/wiki.c \
361361
$(SRCDIR)/wikiformat.c \
362
+ $(SRCDIR)/winfile.c \
362363
$(SRCDIR)/winhttp.c \
363364
$(SRCDIR)/wysiwyg.c \
364365
$(SRCDIR)/xfer.c \
365366
$(SRCDIR)/xfersetup.c \
366367
$(SRCDIR)/zip.c
@@ -466,10 +467,11 @@
466467
$(OBJDIR)/util_.c \
467468
$(OBJDIR)/verify_.c \
468469
$(OBJDIR)/vfile_.c \
469470
$(OBJDIR)/wiki_.c \
470471
$(OBJDIR)/wikiformat_.c \
472
+ $(OBJDIR)/winfile_.c \
471473
$(OBJDIR)/winhttp_.c \
472474
$(OBJDIR)/wysiwyg_.c \
473475
$(OBJDIR)/xfer_.c \
474476
$(OBJDIR)/xfersetup_.c \
475477
$(OBJDIR)/zip_.c
@@ -575,10 +577,11 @@
575577
$(OBJDIR)/util.o \
576578
$(OBJDIR)/verify.o \
577579
$(OBJDIR)/vfile.o \
578580
$(OBJDIR)/wiki.o \
579581
$(OBJDIR)/wikiformat.o \
582
+ $(OBJDIR)/winfile.o \
580583
$(OBJDIR)/winhttp.o \
581584
$(OBJDIR)/wysiwyg.o \
582585
$(OBJDIR)/xfer.o \
583586
$(OBJDIR)/xfersetup.o \
584587
$(OBJDIR)/zip.o
@@ -816,10 +819,11 @@
816819
$(OBJDIR)/util_.c:$(OBJDIR)/util.h \
817820
$(OBJDIR)/verify_.c:$(OBJDIR)/verify.h \
818821
$(OBJDIR)/vfile_.c:$(OBJDIR)/vfile.h \
819822
$(OBJDIR)/wiki_.c:$(OBJDIR)/wiki.h \
820823
$(OBJDIR)/wikiformat_.c:$(OBJDIR)/wikiformat.h \
824
+ $(OBJDIR)/winfile_.c:$(OBJDIR)/winfile.h \
821825
$(OBJDIR)/winhttp_.c:$(OBJDIR)/winhttp.h \
822826
$(OBJDIR)/wysiwyg_.c:$(OBJDIR)/wysiwyg.h \
823827
$(OBJDIR)/xfer_.c:$(OBJDIR)/xfer.h \
824828
$(OBJDIR)/xfersetup_.c:$(OBJDIR)/xfersetup.h \
825829
$(OBJDIR)/zip_.c:$(OBJDIR)/zip.h \
@@ -1645,10 +1649,18 @@
16451649
16461650
$(OBJDIR)/wikiformat.o: $(OBJDIR)/wikiformat_.c $(OBJDIR)/wikiformat.h $(SRCDIR)/config.h
16471651
$(XTCC) -o $(OBJDIR)/wikiformat.o -c $(OBJDIR)/wikiformat_.c
16481652
16491653
$(OBJDIR)/wikiformat.h: $(OBJDIR)/headers
1654
+
1655
+$(OBJDIR)/winfile_.c: $(SRCDIR)/winfile.c $(OBJDIR)/translate
1656
+ $(TRANSLATE) $(SRCDIR)/winfile.c >$(OBJDIR)/winfile_.c
1657
+
1658
+$(OBJDIR)/winfile.o: $(OBJDIR)/winfile_.c $(OBJDIR)/winfile.h $(SRCDIR)/config.h
1659
+ $(XTCC) -o $(OBJDIR)/winfile.o -c $(OBJDIR)/winfile_.c
1660
+
1661
+$(OBJDIR)/winfile.h: $(OBJDIR)/headers
16501662
16511663
$(OBJDIR)/winhttp_.c: $(SRCDIR)/winhttp.c $(OBJDIR)/translate
16521664
$(TRANSLATE) $(SRCDIR)/winhttp.c >$(OBJDIR)/winhttp_.c
16531665
16541666
$(OBJDIR)/winhttp.o: $(OBJDIR)/winhttp_.c $(OBJDIR)/winhttp.h $(SRCDIR)/config.h
16551667
--- win/Makefile.mingw.mistachkin
+++ win/Makefile.mingw.mistachkin
@@ -357,10 +357,11 @@
357 $(SRCDIR)/util.c \
358 $(SRCDIR)/verify.c \
359 $(SRCDIR)/vfile.c \
360 $(SRCDIR)/wiki.c \
361 $(SRCDIR)/wikiformat.c \
 
362 $(SRCDIR)/winhttp.c \
363 $(SRCDIR)/wysiwyg.c \
364 $(SRCDIR)/xfer.c \
365 $(SRCDIR)/xfersetup.c \
366 $(SRCDIR)/zip.c
@@ -466,10 +467,11 @@
466 $(OBJDIR)/util_.c \
467 $(OBJDIR)/verify_.c \
468 $(OBJDIR)/vfile_.c \
469 $(OBJDIR)/wiki_.c \
470 $(OBJDIR)/wikiformat_.c \
 
471 $(OBJDIR)/winhttp_.c \
472 $(OBJDIR)/wysiwyg_.c \
473 $(OBJDIR)/xfer_.c \
474 $(OBJDIR)/xfersetup_.c \
475 $(OBJDIR)/zip_.c
@@ -575,10 +577,11 @@
575 $(OBJDIR)/util.o \
576 $(OBJDIR)/verify.o \
577 $(OBJDIR)/vfile.o \
578 $(OBJDIR)/wiki.o \
579 $(OBJDIR)/wikiformat.o \
 
580 $(OBJDIR)/winhttp.o \
581 $(OBJDIR)/wysiwyg.o \
582 $(OBJDIR)/xfer.o \
583 $(OBJDIR)/xfersetup.o \
584 $(OBJDIR)/zip.o
@@ -816,10 +819,11 @@
816 $(OBJDIR)/util_.c:$(OBJDIR)/util.h \
817 $(OBJDIR)/verify_.c:$(OBJDIR)/verify.h \
818 $(OBJDIR)/vfile_.c:$(OBJDIR)/vfile.h \
819 $(OBJDIR)/wiki_.c:$(OBJDIR)/wiki.h \
820 $(OBJDIR)/wikiformat_.c:$(OBJDIR)/wikiformat.h \
 
821 $(OBJDIR)/winhttp_.c:$(OBJDIR)/winhttp.h \
822 $(OBJDIR)/wysiwyg_.c:$(OBJDIR)/wysiwyg.h \
823 $(OBJDIR)/xfer_.c:$(OBJDIR)/xfer.h \
824 $(OBJDIR)/xfersetup_.c:$(OBJDIR)/xfersetup.h \
825 $(OBJDIR)/zip_.c:$(OBJDIR)/zip.h \
@@ -1645,10 +1649,18 @@
1645
1646 $(OBJDIR)/wikiformat.o: $(OBJDIR)/wikiformat_.c $(OBJDIR)/wikiformat.h $(SRCDIR)/config.h
1647 $(XTCC) -o $(OBJDIR)/wikiformat.o -c $(OBJDIR)/wikiformat_.c
1648
1649 $(OBJDIR)/wikiformat.h: $(OBJDIR)/headers
 
 
 
 
 
 
 
 
1650
1651 $(OBJDIR)/winhttp_.c: $(SRCDIR)/winhttp.c $(OBJDIR)/translate
1652 $(TRANSLATE) $(SRCDIR)/winhttp.c >$(OBJDIR)/winhttp_.c
1653
1654 $(OBJDIR)/winhttp.o: $(OBJDIR)/winhttp_.c $(OBJDIR)/winhttp.h $(SRCDIR)/config.h
1655
--- win/Makefile.mingw.mistachkin
+++ win/Makefile.mingw.mistachkin
@@ -357,10 +357,11 @@
357 $(SRCDIR)/util.c \
358 $(SRCDIR)/verify.c \
359 $(SRCDIR)/vfile.c \
360 $(SRCDIR)/wiki.c \
361 $(SRCDIR)/wikiformat.c \
362 $(SRCDIR)/winfile.c \
363 $(SRCDIR)/winhttp.c \
364 $(SRCDIR)/wysiwyg.c \
365 $(SRCDIR)/xfer.c \
366 $(SRCDIR)/xfersetup.c \
367 $(SRCDIR)/zip.c
@@ -466,10 +467,11 @@
467 $(OBJDIR)/util_.c \
468 $(OBJDIR)/verify_.c \
469 $(OBJDIR)/vfile_.c \
470 $(OBJDIR)/wiki_.c \
471 $(OBJDIR)/wikiformat_.c \
472 $(OBJDIR)/winfile_.c \
473 $(OBJDIR)/winhttp_.c \
474 $(OBJDIR)/wysiwyg_.c \
475 $(OBJDIR)/xfer_.c \
476 $(OBJDIR)/xfersetup_.c \
477 $(OBJDIR)/zip_.c
@@ -575,10 +577,11 @@
577 $(OBJDIR)/util.o \
578 $(OBJDIR)/verify.o \
579 $(OBJDIR)/vfile.o \
580 $(OBJDIR)/wiki.o \
581 $(OBJDIR)/wikiformat.o \
582 $(OBJDIR)/winfile.o \
583 $(OBJDIR)/winhttp.o \
584 $(OBJDIR)/wysiwyg.o \
585 $(OBJDIR)/xfer.o \
586 $(OBJDIR)/xfersetup.o \
587 $(OBJDIR)/zip.o
@@ -816,10 +819,11 @@
819 $(OBJDIR)/util_.c:$(OBJDIR)/util.h \
820 $(OBJDIR)/verify_.c:$(OBJDIR)/verify.h \
821 $(OBJDIR)/vfile_.c:$(OBJDIR)/vfile.h \
822 $(OBJDIR)/wiki_.c:$(OBJDIR)/wiki.h \
823 $(OBJDIR)/wikiformat_.c:$(OBJDIR)/wikiformat.h \
824 $(OBJDIR)/winfile_.c:$(OBJDIR)/winfile.h \
825 $(OBJDIR)/winhttp_.c:$(OBJDIR)/winhttp.h \
826 $(OBJDIR)/wysiwyg_.c:$(OBJDIR)/wysiwyg.h \
827 $(OBJDIR)/xfer_.c:$(OBJDIR)/xfer.h \
828 $(OBJDIR)/xfersetup_.c:$(OBJDIR)/xfersetup.h \
829 $(OBJDIR)/zip_.c:$(OBJDIR)/zip.h \
@@ -1645,10 +1649,18 @@
1649
1650 $(OBJDIR)/wikiformat.o: $(OBJDIR)/wikiformat_.c $(OBJDIR)/wikiformat.h $(SRCDIR)/config.h
1651 $(XTCC) -o $(OBJDIR)/wikiformat.o -c $(OBJDIR)/wikiformat_.c
1652
1653 $(OBJDIR)/wikiformat.h: $(OBJDIR)/headers
1654
1655 $(OBJDIR)/winfile_.c: $(SRCDIR)/winfile.c $(OBJDIR)/translate
1656 $(TRANSLATE) $(SRCDIR)/winfile.c >$(OBJDIR)/winfile_.c
1657
1658 $(OBJDIR)/winfile.o: $(OBJDIR)/winfile_.c $(OBJDIR)/winfile.h $(SRCDIR)/config.h
1659 $(XTCC) -o $(OBJDIR)/winfile.o -c $(OBJDIR)/winfile_.c
1660
1661 $(OBJDIR)/winfile.h: $(OBJDIR)/headers
1662
1663 $(OBJDIR)/winhttp_.c: $(SRCDIR)/winhttp.c $(OBJDIR)/translate
1664 $(TRANSLATE) $(SRCDIR)/winhttp.c >$(OBJDIR)/winhttp_.c
1665
1666 $(OBJDIR)/winhttp.o: $(OBJDIR)/winhttp_.c $(OBJDIR)/winhttp.h $(SRCDIR)/config.h
1667
+11 -1
--- win/Makefile.msc
+++ win/Makefile.msc
@@ -39,11 +39,11 @@
3939
!ifdef FOSSIL_ENABLE_SSL
4040
INCL = $(INCL) -I$(SSLINCDIR)
4141
!endif
4242
4343
CFLAGS = -nologo -MT -O2
44
-LDFLAGS = /NODEFAULTLIB:msvcrt
44
+LDFLAGS = /NODEFAULTLIB:msvcrt /MANIFEST:NO
4545
4646
!ifdef DEBUG
4747
CFLAGS = $(CFLAGS) -Zi
4848
LDFLAGS = $(LDFLAGS) /DEBUG
4949
!endif
@@ -180,10 +180,11 @@
180180
util_.c \
181181
verify_.c \
182182
vfile_.c \
183183
wiki_.c \
184184
wikiformat_.c \
185
+ winfile_.c \
185186
winhttp_.c \
186187
wysiwyg_.c \
187188
xfer_.c \
188189
xfersetup_.c \
189190
zip_.c
@@ -293,10 +294,11 @@
293294
$(OX)\util$O \
294295
$(OX)\verify$O \
295296
$(OX)\vfile$O \
296297
$(OX)\wiki$O \
297298
$(OX)\wikiformat$O \
299
+ $(OX)\winfile$O \
298300
$(OX)\winhttp$O \
299301
$(OX)\wysiwyg$O \
300302
$(OX)\xfer$O \
301303
$(OX)\xfersetup$O \
302304
$(OX)\zip$O \
@@ -420,10 +422,11 @@
420422
echo $(OX)\util.obj >> $@
421423
echo $(OX)\verify.obj >> $@
422424
echo $(OX)\vfile.obj >> $@
423425
echo $(OX)\wiki.obj >> $@
424426
echo $(OX)\wikiformat.obj >> $@
427
+ echo $(OX)\winfile.obj >> $@
425428
echo $(OX)\winhttp.obj >> $@
426429
echo $(OX)\wysiwyg.obj >> $@
427430
echo $(OX)\xfer.obj >> $@
428431
echo $(OX)\xfersetup.obj >> $@
429432
echo $(OX)\zip.obj >> $@
@@ -1110,10 +1113,16 @@
11101113
$(OX)\wikiformat$O : wikiformat_.c wikiformat.h
11111114
$(TCC) /Fo$@ -c wikiformat_.c
11121115
11131116
wikiformat_.c : $(SRCDIR)\wikiformat.c
11141117
translate$E $** > $@
1118
+
1119
+$(OX)\winfile$O : winfile_.c winfile.h
1120
+ $(TCC) /Fo$@ -c winfile_.c
1121
+
1122
+winfile_.c : $(SRCDIR)\winfile.c
1123
+ translate$E $** > $@
11151124
11161125
$(OX)\winhttp$O : winhttp_.c winhttp.h
11171126
$(TCC) /Fo$@ -c winhttp_.c
11181127
11191128
winhttp_.c : $(SRCDIR)\winhttp.c
@@ -1246,10 +1255,11 @@
12461255
util_.c:util.h \
12471256
verify_.c:verify.h \
12481257
vfile_.c:vfile.h \
12491258
wiki_.c:wiki.h \
12501259
wikiformat_.c:wikiformat.h \
1260
+ winfile_.c:winfile.h \
12511261
winhttp_.c:winhttp.h \
12521262
wysiwyg_.c:wysiwyg.h \
12531263
xfer_.c:xfer.h \
12541264
xfersetup_.c:xfersetup.h \
12551265
zip_.c:zip.h \
12561266
--- win/Makefile.msc
+++ win/Makefile.msc
@@ -39,11 +39,11 @@
39 !ifdef FOSSIL_ENABLE_SSL
40 INCL = $(INCL) -I$(SSLINCDIR)
41 !endif
42
43 CFLAGS = -nologo -MT -O2
44 LDFLAGS = /NODEFAULTLIB:msvcrt
45
46 !ifdef DEBUG
47 CFLAGS = $(CFLAGS) -Zi
48 LDFLAGS = $(LDFLAGS) /DEBUG
49 !endif
@@ -180,10 +180,11 @@
180 util_.c \
181 verify_.c \
182 vfile_.c \
183 wiki_.c \
184 wikiformat_.c \
 
185 winhttp_.c \
186 wysiwyg_.c \
187 xfer_.c \
188 xfersetup_.c \
189 zip_.c
@@ -293,10 +294,11 @@
293 $(OX)\util$O \
294 $(OX)\verify$O \
295 $(OX)\vfile$O \
296 $(OX)\wiki$O \
297 $(OX)\wikiformat$O \
 
298 $(OX)\winhttp$O \
299 $(OX)\wysiwyg$O \
300 $(OX)\xfer$O \
301 $(OX)\xfersetup$O \
302 $(OX)\zip$O \
@@ -420,10 +422,11 @@
420 echo $(OX)\util.obj >> $@
421 echo $(OX)\verify.obj >> $@
422 echo $(OX)\vfile.obj >> $@
423 echo $(OX)\wiki.obj >> $@
424 echo $(OX)\wikiformat.obj >> $@
 
425 echo $(OX)\winhttp.obj >> $@
426 echo $(OX)\wysiwyg.obj >> $@
427 echo $(OX)\xfer.obj >> $@
428 echo $(OX)\xfersetup.obj >> $@
429 echo $(OX)\zip.obj >> $@
@@ -1110,10 +1113,16 @@
1110 $(OX)\wikiformat$O : wikiformat_.c wikiformat.h
1111 $(TCC) /Fo$@ -c wikiformat_.c
1112
1113 wikiformat_.c : $(SRCDIR)\wikiformat.c
1114 translate$E $** > $@
 
 
 
 
 
 
1115
1116 $(OX)\winhttp$O : winhttp_.c winhttp.h
1117 $(TCC) /Fo$@ -c winhttp_.c
1118
1119 winhttp_.c : $(SRCDIR)\winhttp.c
@@ -1246,10 +1255,11 @@
1246 util_.c:util.h \
1247 verify_.c:verify.h \
1248 vfile_.c:vfile.h \
1249 wiki_.c:wiki.h \
1250 wikiformat_.c:wikiformat.h \
 
1251 winhttp_.c:winhttp.h \
1252 wysiwyg_.c:wysiwyg.h \
1253 xfer_.c:xfer.h \
1254 xfersetup_.c:xfersetup.h \
1255 zip_.c:zip.h \
1256
--- win/Makefile.msc
+++ win/Makefile.msc
@@ -39,11 +39,11 @@
39 !ifdef FOSSIL_ENABLE_SSL
40 INCL = $(INCL) -I$(SSLINCDIR)
41 !endif
42
43 CFLAGS = -nologo -MT -O2
44 LDFLAGS = /NODEFAULTLIB:msvcrt /MANIFEST:NO
45
46 !ifdef DEBUG
47 CFLAGS = $(CFLAGS) -Zi
48 LDFLAGS = $(LDFLAGS) /DEBUG
49 !endif
@@ -180,10 +180,11 @@
180 util_.c \
181 verify_.c \
182 vfile_.c \
183 wiki_.c \
184 wikiformat_.c \
185 winfile_.c \
186 winhttp_.c \
187 wysiwyg_.c \
188 xfer_.c \
189 xfersetup_.c \
190 zip_.c
@@ -293,10 +294,11 @@
294 $(OX)\util$O \
295 $(OX)\verify$O \
296 $(OX)\vfile$O \
297 $(OX)\wiki$O \
298 $(OX)\wikiformat$O \
299 $(OX)\winfile$O \
300 $(OX)\winhttp$O \
301 $(OX)\wysiwyg$O \
302 $(OX)\xfer$O \
303 $(OX)\xfersetup$O \
304 $(OX)\zip$O \
@@ -420,10 +422,11 @@
422 echo $(OX)\util.obj >> $@
423 echo $(OX)\verify.obj >> $@
424 echo $(OX)\vfile.obj >> $@
425 echo $(OX)\wiki.obj >> $@
426 echo $(OX)\wikiformat.obj >> $@
427 echo $(OX)\winfile.obj >> $@
428 echo $(OX)\winhttp.obj >> $@
429 echo $(OX)\wysiwyg.obj >> $@
430 echo $(OX)\xfer.obj >> $@
431 echo $(OX)\xfersetup.obj >> $@
432 echo $(OX)\zip.obj >> $@
@@ -1110,10 +1113,16 @@
1113 $(OX)\wikiformat$O : wikiformat_.c wikiformat.h
1114 $(TCC) /Fo$@ -c wikiformat_.c
1115
1116 wikiformat_.c : $(SRCDIR)\wikiformat.c
1117 translate$E $** > $@
1118
1119 $(OX)\winfile$O : winfile_.c winfile.h
1120 $(TCC) /Fo$@ -c winfile_.c
1121
1122 winfile_.c : $(SRCDIR)\winfile.c
1123 translate$E $** > $@
1124
1125 $(OX)\winhttp$O : winhttp_.c winhttp.h
1126 $(TCC) /Fo$@ -c winhttp_.c
1127
1128 winhttp_.c : $(SRCDIR)\winhttp.c
@@ -1246,10 +1255,11 @@
1255 util_.c:util.h \
1256 verify_.c:verify.h \
1257 vfile_.c:vfile.h \
1258 wiki_.c:wiki.h \
1259 wikiformat_.c:wikiformat.h \
1260 winfile_.c:winfile.h \
1261 winhttp_.c:winhttp.h \
1262 wysiwyg_.c:wysiwyg.h \
1263 xfer_.c:xfer.h \
1264 xfersetup_.c:xfersetup.h \
1265 zip_.c:zip.h \
1266

Keyboard Shortcuts

Open search /
Next entry (timeline) j
Previous entry (timeline) k
Open focused entry Enter
Show this help ?
Toggle theme Top nav button