Diff
Not logged in

Differences From Artifact [73e3d5ab08]:

To Artifact [4c78350590]:


69
70
71
72
73
74
75
76

77
78
79
80
81
82
83
69
70
71
72
73
74
75

76
77
78
79
80
81
82
83







-
+







    1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
#else /* Tcl_UtfCharComplete() might point to 2nd byte of valid 4-byte sequence */
    3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,
    3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,
#endif
    2,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,
    3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,
#if TCL_UTF_MAX > 3
#if TCL_UTF_MAX > 4
    4,4,4,4,4,
#else
    1,1,1,1,1,
#endif
    1,1,1,1,1,1,1,1,1,1,1
};

883
884
885
886
887
888
889
890

891
892
893

894
895

896
897
898

899
900
901

902
903
904
905
906
907
908
883
884
885
886
887
888
889

890
891
892

893
894

895
896
897

898
899
900

901
902
903
904
905
906
907
908







-
+


-
+

-
+


-
+


-
+







	     * and exit this loop before we run past the start of the string.
	     */
	    return fallback;
	}

	/* Continue the search backwards... */
	look--;
    } while (trailBytesSeen < TCL_UTF_MAX);
    } while (trailBytesSeen < ((TCL_UTF_MAX > 4) ? 4 : 3));

    /*
     * We've seen TCL_UTF_MAX trail bytes, so we know there will not be a
     * We've seen 3 (or 4) trail bytes, so we know there will not be a
     * properly formed byte sequence to find, and we can stop looking,
     * accepting the fallback (for TCL_UTF_MAX > 3) or just go back as
     * accepting the fallback (for TCL_UTF_MAX > 4) or just go back as
     * far as we can.
     */
#if TCL_UTF_MAX > 3
#if TCL_UTF_MAX > 4
    return fallback;
#else
    return src - TCL_UTF_MAX;
    return src - 3;
#endif
}

/*
 *---------------------------------------------------------------------------
 *
 * Tcl_UniCharAtIndex --