Fossil

Check-in [b178bcb897]
Login

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

Overview
Comment:don't let fossil choke any more (syntax error) when a card contains a backslash in a filename. This doesn't mean that a backslash is now allowed in a filename, only that fossil can handle the card, and show what's wrong.
Downloads: Tarball | ZIP archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: b178bcb897f186238dd4b0658a7bdd5fbd0b0344
User & Date: jan.nijtmans 2013-01-26 17:56:24.457
Context
2013-01-27
11:24
Typo fixes from Edward Berner. check-in: 0421c136f2 user: stephan tags: trunk
2013-01-26
17:56
don't let fossil choke any more (syntax error) when a card contains a backslash in a filename. This doesn't mean that a backslash is now allowed in a filename, only that fossil can handle the card, and show what's wrong. check-in: b178bcb897 user: jan.nijtmans tags: trunk
16:27
merge trunk Closed-Leaf check-in: 013854ae76 user: jan.nijtmans tags: allow-backslash-in-card-filename
08:26
Fix revert tests 5 and 6 so they aren't carbon copies. Minor comment cleanup check-in: 1a5ac30583 user: joel tags: trunk
Changes
Unified Diff Ignore Whitespace Patch
Changes to src/file.c.
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
          return 0;
        }
        if( (z[++i]&0xc0)!=0x80 ){
          /* Invalid second continuation byte */
          return 0;
        }
      }
    }else if( c=='\\' ){
      return 0;
    }
    if( c=='/' ){
      if( z[i+1]=='/' ) return 0;
      if( z[i+1]=='.' ){
        if( z[i+2]=='/' || z[i+2]==0 ) return 0;
        if( z[i+2]=='.' && (z[i+3]=='/' || z[i+3]==0) ) return 0;







|







545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
          return 0;
        }
        if( (z[++i]&0xc0)!=0x80 ){
          /* Invalid second continuation byte */
          return 0;
        }
      }
    }else if( bStrictUtf8 && (c=='\\') ){
      return 0;
    }
    if( c=='/' ){
      if( z[i+1]=='/' ) return 0;
      if( z[i+1]=='.' ){
        if( z[i+2]=='/' || z[i+2]==0 ) return 0;
        if( z[i+2]=='.' && (z[i+3]=='/' || z[i+3]==0) ) return 0;