Tk Source Code

Check-in [3a32cd8c]
Login

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

Overview
Comment:make sure that "burly wood" is not a valid color
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | rfe-3503317
Files: files | file ages | folders
SHA1: 3a32cd8ceea21f26def79c9ce5db61178e205cad
User & Date: jan.nijtmans 2012-03-13 15:05:36
Context
2012-03-16
22:36
further reduction of color table to 147 entries! check-in: 7f343b6e user: jan.nijtmans tags: rfe-3503317
2012-03-13
15:05
make sure that "burly wood" is not a valid color check-in: 3a32cd8c user: jan.nijtmans tags: rfe-3503317
10:14
rfe-3503317: XParseColor speedup check-in: b6dabd0a user: jan.nijtmans tags: rfe-3503317
Changes
Hide Diffs Unified Diffs Ignore Whitespace Patch

Changes to xlib/xcolors.c.

728
729
730
731
732
733
734

735
736
737
738
739

740
741







742
743
744
745
746
747
748





749
750
751
752
753
754
755
#else
#   define _strtoi64 strtoll
#endif

static int colorcmp(const char *spec, const char *pname) {
    int r;
    int c, d;

    do {
	d = *pname++;
	if ((d >= 'A') && (d <= 'Z')) {
	    d += 'a' - 'A';
	    if (*spec == ' ') {

		spec++;
	    }







	}
	c = *spec++;
	if ((c >= 'A') && (c <= 'Z')) {
	    c += 'a' - 'A';
	}
	r = c - d;
    } while(!r && c);





    return r;
}

Status
XParseColor(
    Display *display,
    Colormap map,







>


<
<
|
>
|
|
>
>
>
>
>
>
>







>
>
>
>
>







728
729
730
731
732
733
734
735
736
737


738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
#else
#   define _strtoi64 strtoll
#endif

static int colorcmp(const char *spec, const char *pname) {
    int r;
    int c, d;
    int notequal = 0;
    do {
	d = *pname++;


	c = (*spec == ' ');
	if (c) {
	    spec++;
	}
	if ((d >= 'A') && (d <= 'Z')) {
	    d += 'a' - 'A';
	} else if (c) {
	    /* A space doesn't match a lowercase, but we don't know
	     * yet whether we should return a negative or positive
	     * number. That depends on what follows. */
	    notequal = 1;
	}
	c = *spec++;
	if ((c >= 'A') && (c <= 'Z')) {
	    c += 'a' - 'A';
	}
	r = c - d;
    } while(!r && c);
    if (!r && notequal) {
	/* Strings are equal, but difference in spacings only. We should still
	 * report not-equal, so "burly wood" is not a valid color */
	r = 1;
    }
    return r;
}

Status
XParseColor(
    Display *display,
    Colormap map,