More xmalloc and related cleanup.
[bpt/emacs.git] / src / ftxfont.c
index 0a91376..6ebe079 100644 (file)
@@ -1,6 +1,6 @@
 /* ftxfont.c -- FreeType font driver on X (without using XFT).
-   Copyright (C) 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
-   Copyright (C) 2006, 2007, 2008, 2009, 2010
+   Copyright (C) 2006-2012 Free Software Foundation, Inc.
+   Copyright (C) 2006, 2007, 2008, 2009, 2010, 2011
      National Institute of Advanced Industrial Science and Technology (AIST)
      Registration Number H13PRO009
 
@@ -38,19 +38,24 @@ along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.  */
 
 static Lisp_Object Qftx;
 
+#if defined HAVE_XFT || !defined HAVE_FREETYPE
+static
+#endif
+struct font_driver ftxfont_driver;
+
 /* Prototypes for helper function.  */
 static GC *ftxfont_get_gcs (FRAME_PTR, unsigned long, unsigned long);
 static int ftxfont_draw_bitmap (FRAME_PTR, GC, GC *, struct font *,
                                 unsigned, int, int, XPoint *, int, int *,
                                 int);
-static void ftxfont_draw_backgrond (FRAME_PTR, struct font *, GC,
-                                    int, int, int);
+static void ftxfont_draw_background (FRAME_PTR, struct font *, GC,
+                                    int, int, int);
 
 struct ftxfont_frame_data
 {
   /* Background and foreground colors.  */
   XColor colors[2];
-  /* GCs interporationg the above colors.  gcs[0] is for a color
+  /* GCs interpolating the above colors.  gcs[0] is for a color
    closest to BACKGROUND, and gcs[5] is for a color closest to
    FOREGROUND.  */
   GC gcs[6];
@@ -85,7 +90,7 @@ ftxfont_get_gcs (FRAME_PTR f, long unsigned int foreground, long unsigned int ba
        }
     }
 
-  new = malloc (sizeof (struct ftxfont_frame_data));
+  new = malloc (sizeof *new);
   if (! new)
     return NULL;
   new->next = this;
@@ -214,7 +219,8 @@ ftxfont_draw_bitmap (FRAME_PTR f, GC gc_fore, GC *gcs, struct font *font, unsign
 }
 
 static void
-ftxfont_draw_backgrond (FRAME_PTR f, struct font *font, GC gc, int x, int y, int width)
+ftxfont_draw_background (FRAME_PTR f, struct font *font, GC gc, int x, int y,
+                        int width)
 {
   XGCValues xgcv;
 
@@ -233,13 +239,11 @@ static Lisp_Object ftxfont_open (FRAME_PTR, Lisp_Object, int);
 static void ftxfont_close (FRAME_PTR, struct font *);
 static int ftxfont_draw (struct glyph_string *, int, int, int, int, int);
 
-struct font_driver ftxfont_driver;
-
 static Lisp_Object
 ftxfont_list (Lisp_Object frame, Lisp_Object spec)
 {
   Lisp_Object list = ftfont_driver.list (frame, spec), tail;
-  
+
   for (tail = list; CONSP (tail); tail = XCDR (tail))
     ASET (XCAR (tail), FONT_TYPE_INDEX, Qftx);
   return list;
@@ -293,7 +297,7 @@ ftxfont_draw (struct glyph_string *s, int from, int to, int x, int y, int with_b
 
   BLOCK_INPUT;
   if (with_background)
-    ftxfont_draw_backgrond (f, font, s->gc, x, y, s->width);
+    ftxfont_draw_background (f, font, s->gc, x, y, s->width);
   code = alloca (sizeof (unsigned) * len);
   for (i = 0; i < len; i++)
     code[i] = ((XCHAR2B_BYTE1 (s->char2b + from + i) << 8)
@@ -350,13 +354,13 @@ static int
 ftxfont_end_for_frame (FRAME_PTR f)
 {
   struct ftxfont_frame_data *data = font_get_frame_data (f, &ftxfont_driver);
-  
+
   BLOCK_INPUT;
   while (data)
     {
       struct ftxfont_frame_data *next = data->next;
       int i;
-      
+
       for (i = 0; i < 6; i++)
        XFreeGC (FRAME_X_DISPLAY (f), data->gcs[i]);
       free (data);
@@ -384,6 +388,3 @@ syms_of_ftxfont (void)
   ftxfont_driver.end_for_frame = ftxfont_end_for_frame;
   register_font_driver (&ftxfont_driver, NULL);
 }
-
-/* arch-tag: 59bd3469-5330-413f-b29d-1aa36492abe8
-   (do not change this comment) */