Fossil

Check-in [42bf80978d]
Login

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:On windows, if the first character of a pathname is '\' then assume that is a full pathname, not a relative pathname. Ticket [cdd360438de].
Downloads: Tarball | ZIP archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: 42bf80978d9740dbac8c762033348fbb1da9b0de
User & Date: drh 2009-09-13 16:19:43.000
References
2009-09-13
16:21 Fixed ticket [cdd360438d]: Fossil does not handle absolute paths without disk drives in Windows. plus 2 other changes artifact: 1314ea49b2 user: drh
Context
2009-09-14
14:08
Construct event records for tickets correctly even when the ticket change artifacts arrive out of order. check-in: 95f5520a09 user: drh tags: trunk
2009-09-13
16:19
On windows, if the first character of a pathname is '\' then assume that is a full pathname, not a relative pathname. Ticket [cdd360438de]. check-in: 42bf80978d user: drh tags: trunk
2009-09-12
21:53
Update the proxy handler so that it supports basic authorization. check-in: 9e274a2e7b user: drh tags: trunk
Changes
Unified Diff Ignore Whitespace Patch
Changes to src/file.c.
242
243
244
245
246
247
248

249
250
251
252
253
254
255
** Remove redundant / characters
** Remove all /./ path elements.
** Convert /A/../ to just /
*/
void file_canonical_name(const char *zOrigName, Blob *pOut){
  if( zOrigName[0]=='/' 
#ifdef __MINGW32__

      || (strlen(zOrigName)>3 && zOrigName[1]==':'
           && (zOrigName[2]=='\\' || zOrigName[2]=='/'))
#endif
  ){
    blob_set(pOut, zOrigName);
    blob_materialize(pOut);
  }else{







>







242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
** Remove redundant / characters
** Remove all /./ path elements.
** Convert /A/../ to just /
*/
void file_canonical_name(const char *zOrigName, Blob *pOut){
  if( zOrigName[0]=='/' 
#ifdef __MINGW32__
      || zOrigName[0]=='\\'
      || (strlen(zOrigName)>3 && zOrigName[1]==':'
           && (zOrigName[2]=='\\' || zOrigName[2]=='/'))
#endif
  ){
    blob_set(pOut, zOrigName);
    blob_materialize(pOut);
  }else{