hhctrl.ocx: Parse HTML entities in the table of contents.

Alexandre Julliard julliard at winehq.org
Tue May 1 06:48:51 CDT 2007


Robert Shearman <rob at codeweavers.com> writes:

> +                /* hexadecimal entity */
> +                while ((*p >= '0' && *p <= '9') || (*p >= 'a' && *p <= 'f') ||
> +                       (*p >= 'A' && *p <= 'F') || (*p == ';'))
> +                    p++;

You should exit the loop at the first ';'. Also you have to increment
p first.

> +            while (isalpha(*p))
> +                p++;

You can't use ASCII ctype functions on Unicode chars.

> +            for (i = 0; i < sizeof(char_refs)/sizeof(char_refs[0]); i++)
> +                if (p - start - 1 <= sizeof(char_refs[i].name))
> +                {
> +                    if (!strncmpW(char_refs[i].name, start + 1, p - start - 1))
> +                        break;
> +                }

The sizeof check doesn't make much sense, especially inside the
loop. What you need is to check that you reached the end of the string
if the strncmpW succeeded.

-- 
Alexandre Julliard
julliard at winehq.org




More information about the wine-devel mailing list