Make "xfree (NULL)" a no-op; remove useless if-before-xfree.
[bpt/emacs.git] / src / w32bdf.c
index 40e705a..e9a1e63 100644 (file)
@@ -1,13 +1,13 @@
 /* Implementation of BDF font handling on the Microsoft W32 API.
    Copyright (C) 1999, 2001, 2002, 2003, 2004, 2005,
-                 2006, 2007  Free Software Foundation, Inc.
+                 2006, 2007, 2008  Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
 
-GNU Emacs is free software; you can redistribute it and/or modify
+GNU Emacs is free software: you can redistribute it and/or modify
 it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
 
 GNU Emacs is distributed in the hope that it will be useful,
 but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -15,9 +15,7 @@ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License
-along with GNU Emacs; see the file COPYING.  If not, write to
-the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
-Boston, MA 02110-1301, USA.  */
+along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.  */
 
 /* Based heavily on code by H. Miyashita for Meadow (a descendant of
    MULE for W32). */
@@ -29,7 +27,7 @@ Boston, MA 02110-1301, USA.  */
 #endif
 
 #include "lisp.h"
-#include "charset.h"
+#include "character.h"
 #include "keyboard.h"
 #include "frame.h"
 #include "dispextern.h"
@@ -93,7 +91,7 @@ proceed_file_line(char *key, char *start, int *len, char **val, char **next)
   return 1;
 }
 
-char*
+static char*
 get_quoted_string(char *start, char *end)
 {
   char *p, *q, *result;
@@ -202,7 +200,7 @@ set_bdf_font_info(bdffont *fontp)
     else if (search_file_line("CHARSET_ENCODING", start, len,
                              (char **)&p, (char **)&q) == 1)
       {
-        fontp->encoding = get_quoted_string(p, q);
+       fontp->encoding = get_quoted_string(p, q);
       }
     else if (search_file_line("SLANT", start, len,
                              (char **)&p, (char **)&q) == 1)
@@ -261,7 +259,7 @@ w32_init_bdf_font(char *filename)
       error("Fail to open BDF file");
     }
   hfilemap = CreateFileMapping(hfile, NULL, PAGE_READONLY, 0, 0, NULL);
-  if (hfilemap == INVALID_HANDLE_VALUE)
+  if (!hfilemap)
     {
       CloseHandle(hfile);
       error("Can't map font");
@@ -306,10 +304,10 @@ w32_free_bdf_font(bdffont *fontp)
   CloseHandle(fontp->hfilemap);
   CloseHandle(fontp->hfile);
 
-  if (fontp->registry) xfree(fontp->registry);
-  if (fontp->encoding) xfree(fontp->encoding);
-  if (fontp->slant) xfree(fontp->slant);
-/*  if (fontp->width) xfree(fontp->width); */
+  xfree(fontp->registry);
+  xfree(fontp->encoding);
+  xfree(fontp->slant);
+/*  xfree(fontp->width); */
 
   xfree(fontp->filename);
   for(i = 0;i < BDF_FIRST_OFFSET_TABLE;i++)
@@ -790,7 +788,7 @@ struct font_info *w32_load_bdf_font (struct frame *f, char *fontname,
        uses this font.  So, we set informatoin in fontp->encoding[1]
        which is never used by any charset.  If mapping can't be
        decided, set FONT_ENCODING_NOT_DECIDED.  */
-    fontp->encoding[1] = FONT_ENCODING_NOT_DECIDED;
+    fontp->encoding_type = FONT_ENCODING_NOT_DECIDED;
     fontp->baseline_offset = bdf_font->yoffset;
     fontp->relative_compose = bdf_font->relative_compose;
     fontp->default_ascent = bdf_font->default_ascent;
@@ -828,7 +826,7 @@ int w32_BDF_to_x_font (char *file, char* xstr, int len)
   size = fileinfo.nFileSizeLow;
 
   hfilemap = CreateFileMapping (hfile, NULL, PAGE_READONLY, 0, 0, NULL);
-  if (hfilemap == INVALID_HANDLE_VALUE)
+  if (!hfilemap)
     {
       CloseHandle (hfile);
       return 0;