Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
| Comment: | Minor fix in checking for drive-prefix (!= absolute filename) |
|---|---|
| Downloads: | Tarball | ZIP archive |
| Timelines: | family | ancestors | descendants | both | ticket-d17d6e5b17 |
| Files: | files | file ages | folders |
| SHA1: |
6119cb310da07498cc8863ed6baf6eb0 |
| User & Date: | jan.nijtmans 2012-11-22 12:58:26.810 |
| Original Comment: | Minor fix in checking for drive-prefix (!= absolute filename) <p>merge trunk |
Context
|
2012-11-22
| ||
| 12:59 | merge trunk check-in: 6e9c044e3b user: jan.nijtmans tags: ticket-d17d6e5b17 | |
| 12:58 | Minor fix in checking for drive-prefix (!= absolute filename) check-in: 6119cb310d user: jan.nijtmans tags: ticket-d17d6e5b17 | |
| 09:32 | merge trunk <p>Functional complete and well-tested check-in: e6a1910fa8 user: jan.nijtmans tags: ticket-d17d6e5b17 | |
Changes
Changes to src/file.c.
| ︙ | ︙ | |||
1190 1191 1192 1193 1194 1195 1196 |
**
*/
void *fossil_utf8_to_filename(const char *zUtf8){
#ifdef _WIN32
WCHAR *zUnicode = fossil_utf8_to_unicode(zUtf8);
WCHAR *wUnicode = zUnicode;
/* If path starts with "<drive>:/" or "<drive>:\", don't translate the ':' */
| > | | 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 |
**
*/
void *fossil_utf8_to_filename(const char *zUtf8){
#ifdef _WIN32
WCHAR *zUnicode = fossil_utf8_to_unicode(zUtf8);
WCHAR *wUnicode = zUnicode;
/* If path starts with "<drive>:/" or "<drive>:\", don't translate the ':' */
if( fossil_isalpha(zUtf8[0]) && zUtf8[1]==':'
&& (zUtf8[2]=='\\' || zUtf8[2]=='/')) {
wUnicode += 3;
}
while( *wUnicode != '\0' ){
if ( (*wUnicode < 32) || wcschr(L"\"*<>?|:", *wUnicode) ){
*wUnicode |= 0xF000;
}
++wUnicode;
|
| ︙ | ︙ |
Changes to src/main.c.
| ︙ | ︙ | |||
341 342 343 344 345 346 347 |
#endif
free(g.zErrMsg);
if(g.db){
db_close(0);
}
}
| | | 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 |
#endif
free(g.zErrMsg);
if(g.db){
db_close(0);
}
}
#if defined(_WIN32) && !defined(__MINGW32__)
/*
** Parse the command-line arguments passed to windows. We do this
** ourselves to work around bugs in the command-line parsing of MinGW.
** It is possible (in theory) to only use this routine when compiling
** with MinGW and to use built-in command-line parsing for MSVC and
** MinGW-64. However, the code is here, it is efficient, and works, and
** by using it in all cases we do a better job of testing it. If you suspect
|
| ︙ | ︙ | |||
454 455 456 457 458 459 460 |
*arg = '\0';
argSpace = arg + 1;
}
argv[argc] = NULL;
*argcPtr = argc;
*((WCHAR ***)argvPtr) = argv;
}
| | | 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 |
*arg = '\0';
argSpace = arg + 1;
}
argv[argc] = NULL;
*argcPtr = argc;
*((WCHAR ***)argvPtr) = argv;
}
#endif /* defined(_WIN32) && !defined(__MINGW32__) */
/*
** Convert all arguments from mbcs (or unicode) to UTF-8. Then
** search g.argv for arguments "--args FILENAME". If found, then
** (1) remove the two arguments from g.argv
** (2) Read the file FILENAME
|
| ︙ | ︙ | |||
478 479 480 481 482 483 484 | unsigned int nLine; /* Number of lines in the file*/ unsigned int i, j, k; /* Loop counters */ int n; /* Number of bytes in one line */ char *z; /* General use string pointer */ char **newArgv; /* New expanded g.argv under construction */ char const * zFileName; /* input file name */ FILE * zInFile; /* input FILE */ | | | | 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 | unsigned int nLine; /* Number of lines in the file*/ unsigned int i, j, k; /* Loop counters */ int n; /* Number of bytes in one line */ char *z; /* General use string pointer */ char **newArgv; /* New expanded g.argv under construction */ char const * zFileName; /* input file name */ FILE * zInFile; /* input FILE */ #if defined(_WIN32) && !defined(__MINGW32__) WCHAR buf[MAX_PATH]; #endif g.argc = argc; g.argv = argv; #if defined(_WIN32) && !defined(__MINGW32__) parse_windows_command_line(&g.argc, &g.argv); GetModuleFileNameW(NULL, buf, MAX_PATH); g.nameOfExe = fossil_unicode_to_utf8(buf); for(i=0; i<g.argc; i++) g.argv[i] = fossil_unicode_to_utf8(g.argv[i]); #else g.nameOfExe = g.argv[0]; #endif |
| ︙ | ︙ |
Changes to win/Makefile.mingw.
| ︙ | ︙ | |||
11 12 13 14 15 16 17 | # This is a makefile for use on Windows/Linux/Darwin/Cygwin using MinGW or # MinGW-w64. # #### Select one of MinGW, MinGW-64 (32-bit) or MinGW-w64 (64-bit) compilers. # By default, this is an empty string (i.e. use the native compiler). # | | | > > > > | 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 | # This is a makefile for use on Windows/Linux/Darwin/Cygwin using MinGW or # MinGW-w64. # #### Select one of MinGW, MinGW-64 (32-bit) or MinGW-w64 (64-bit) compilers. # By default, this is an empty string (i.e. use the native compiler). # PREFIX = # PREFIX = mingw32- # PREFIX = i686-pc-mingw32- # PREFIX = i686-w64-mingw32- # PREFIX = x86_64-w64-mingw32- #### The toplevel directory of the source tree. Fossil can be built # in a directory that is separate from the source tree. Just change # the following to point from the build directory to the src/ folder. # SRCDIR = src #### The directory into which object code files should be written. # OBJDIR = wbld #### C Compiler and options for use in building executables that # will run on the platform that is doing the build. This is used # to compile code-generator programs as part of the build process. # See TCC below for the C compiler for building the finished binary. # BCC = gcc #### Enable compiling with debug symbols (much larger binary) # # FOSSIL_ENABLE_SYMBOLS = 1 #### Enable JSON (http://www.json.org) support using "cson" # # FOSSIL_ENABLE_JSON = 1 #### Enable HTTPS support via OpenSSL (links to libssl and libcrypto) # |
| ︙ | ︙ | |||
110 111 112 113 114 115 116 | #### C Compile and options for use in building executables that # will run on the target platform. This is usually the same # as BCC, unless you are cross-compiling. This C compiler builds # the finished binary for fossil. The BCC compiler above is used # for building intermediate code-generator tools. # | | > > > > > > > | 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 | #### C Compile and options for use in building executables that # will run on the target platform. This is usually the same # as BCC, unless you are cross-compiling. This C compiler builds # the finished binary for fossil. The BCC compiler above is used # for building intermediate code-generator tools. # TCC = $(PREFIX)gcc -Os -Wall -L$(ZLIBDIR) -I$(ZINCDIR) #### Add the necessary command line options to build with debugging # symbols, if enabled. # ifdef FOSSIL_ENABLE_SYMBOLS TCC += -g endif #### Compile resources for use in building executables that will run # on the target platform. # RCC = $(PREFIX)windres -I$(SRCDIR) -I$(ZINCDIR) # With HTTPS support |
| ︙ | ︙ |