From ceb1287747df12542ea692dbedd116e6530284dc Mon Sep 17 00:00:00 2001 From: Andrew Innes Date: Wed, 6 Dec 2000 15:54:02 +0000 Subject: [PATCH] (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. --- src/w32fns.c | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/src/w32fns.c b/src/w32fns.c index 9fe4a451b3..50c86d5e94 100644 --- a/src/w32fns.c +++ b/src/w32fns.c @@ -5459,12 +5459,10 @@ char * xlfd_charset_of_font (char * fontname) 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 @@ w32_codepage_for_font (char *fontname) 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 @@ w32_codepage_for_font (char *fontname) 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 @@ w32_codepage_for_font (char *fontname) else if (INTEGERP (codepage)) return XINT (codepage); else - return CP_INVALID; + return CP_UNKNOWN; } @@ -6705,7 +6703,8 @@ w32_list_fonts (FRAME_PTR f, Lisp_Object pattern, int size, int maxnames ) 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. -- 2.39.2