# HG changeset patch # User Andrew Innes # Date 976118042 0 # Node ID 3a21ff35392b598941c0934b6092572d65eca656 # Parent 335a6482fca0bc7de8f60bdf575b1a1a440d91f3 (xlfd_charset_of_font): Don't overwrite fontname argument. (w32_codepage_for_font): Rename CP_INVALID to CP_UNKNOWN. (w32_list_fonts): Don't choke if pattern doesn't specify a codepage. diff -r 335a6482fca0 -r 3a21ff35392b src/w32fns.c --- a/src/w32fns.c Wed Dec 06 15:53:27 2000 +0000 +++ b/src/w32fns.c Wed Dec 06 15:54:02 2000 +0000 @@ -5459,12 +5459,10 @@ char *charset, *encoding; encoding = strrchr(fontname, '-'); - if (!encoding) + if (!encoding || encoding == fontname) return NULL; - *encoding = 0; - charset = strrchr(fontname, '-'); - *encoding = '-'; + charset = strrchr(encoding - 1, '-'); if (!charset || strcmp(charset, "-*-*") == 0) return NULL; @@ -6030,7 +6028,7 @@ charset = xlfd_charset_of_font (fontname); if (!charset) - return CP_INVALID; + return CP_UNKNOWN; charset_str = (char *) alloca (strlen (charset)); strcpy (charset_str, charset); @@ -6051,7 +6049,7 @@ entry = Fassoc (build_string(charset), Vw32_charset_info_alist); if (NILP (entry)) - return CP_INVALID; + return CP_UNKNOWN; codepage = Fcdr (Fcdr (entry)); @@ -6062,7 +6060,7 @@ else if (INTEGERP (codepage)) return XINT (codepage); else - return CP_INVALID; + return CP_UNKNOWN; } @@ -6705,7 +6703,8 @@ going to be able to output one of these anyway. */ codepage = w32_codepage_for_font (XSTRING (tpat)->data); if (codepage != CP_8BIT && codepage != CP_UNICODE - && codepage != CP_DEFAULT && !IsValidCodePage(codepage)) + && codepage != CP_DEFAULT && codepage != CP_UNKNOWN + && !IsValidCodePage(codepage)) continue; /* See if we cached the result for this particular query.