Fossil

Check-in [4f510b66cb]
Login

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

Overview
Comment:one more: if we already know the character is in the range U+E000 - U+FFFF, it cannot be a surrogate any more.
Downloads: Tarball | ZIP archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: 4f510b66cb76c42e804e308f8f29e7de0b332b3f
User & Date: jan.nijtmans 2013-01-15 10:21:36.296
Context
2013-01-15
18:32
Expanded the "dbstat" command output a bit. check-in: 29a9e237d8 user: stephan tags: trunk
10:22
merge trunk check-in: 5e710f01b5 user: jan.nijtmans tags: allow-backslash-in-card-filename
10:21
one more: if we already know the character is in the range U+E000 - U+FFFF, it cannot be a surrogate any more. check-in: 4f510b66cb user: jan.nijtmans tags: trunk
10:15
Eliminate "continue" statement, makes control flow easier to understand. If we already know a character is non-ASCII, don't need to check for '\\' any more. check-in: 886e1bb2a8 user: jan.nijtmans tags: trunk
Changes
Unified Diff Ignore Whitespace Patch
Changes to src/file.c.
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
        if ( (c & 0xfe) == 0xee ){
          /* Range U+E000 - U+FFFF (Starting with 0xee or 0xef in UTF-8 ) */
          if ( !(c & 1) || ((z[i+1] & 0xff) < 0xa4) ){
            /* Unicode character in the range U+E000 - U+F8FF are for
             * private use, they shouldn't occur in filenames.  */
            return 0;
          }
        }
        if( ((c & 0xff) == 0xed) && ((z[i+1] & 0xe0) == 0xa0) ){
          /* Unicode character in the range U+D800 - U+DFFF are for
           * surrogate pairs, they shouldn't occur in filenames. */
          return 0;
        }
      }
    }else if( c=='\\' ){
      return 0;







<
|







516
517
518
519
520
521
522

523
524
525
526
527
528
529
530
        if ( (c & 0xfe) == 0xee ){
          /* Range U+E000 - U+FFFF (Starting with 0xee or 0xef in UTF-8 ) */
          if ( !(c & 1) || ((z[i+1] & 0xff) < 0xa4) ){
            /* Unicode character in the range U+E000 - U+F8FF are for
             * private use, they shouldn't occur in filenames.  */
            return 0;
          }

        }else if( ((c & 0xff) == 0xed) && ((z[i+1] & 0xe0) == 0xa0) ){
          /* Unicode character in the range U+D800 - U+DFFF are for
           * surrogate pairs, they shouldn't occur in filenames. */
          return 0;
        }
      }
    }else if( c=='\\' ){
      return 0;