emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

w32/gcc/mingw xbm patch


From: Michael Mauger
Subject: w32/gcc/mingw xbm patch
Date: Mon, 23 Feb 2004 18:55:01 -0800 (PST)

I proposed this patch in November, but there wasn't any action taken on
it.  

See: http://mail.gnu.org/archive/html/emacs-devel/2003-11/msg00068.html

The patch declares XBM data bytes as unsigned char's explicitly.  I
believe the issue is only a problem using GCC with MINGW but the patch
shouldn't hurt MSVC builds.

Without this patch, I'm seeing access violations whenever I use
Customize.  

Please consider this updated patch.

Index: emacs/src/w32fns.c
===================================================================
RCS file: /cvsroot/emacs/emacs/src/w32fns.c,v
retrieving revision 1.227
diff -u -r1.227 w32fns.c
--- emacs/src/w32fns.c  7 Feb 2004 17:17:20 -0000       1.227
+++ emacs/src/w32fns.c  24 Feb 2004 01:45:33 -0000
@@ -8243,7 +8243,7 @@
 
***********************************************************************/
 
 static Lisp_Object x_find_image_file P_ ((Lisp_Object));
-static char *slurp_file P_ ((char *, int *));
+static unsigned char *slurp_file P_ ((char *, int *));
 
 
 /* Find image file FILE.  Look in data-directory, then
@@ -8279,13 +8279,13 @@
    with xmalloc holding FILE's contents.  Value is null if an error
    occurred.  *SIZE is set to the size of the file.  */
 
-static char *
+static unsigned char *
 slurp_file (file, size)
      char *file;
      int *size;
 {
   FILE *fp = NULL;
-  char *buf = NULL;
+  unsigned char *buf = NULL;
   struct stat st;
 
   if (stat (file, &st) == 0
@@ -8316,12 +8316,14 @@
                              XBM images
 
***********************************************************************/
 
-static int xbm_scan P_ ((char **, char *, char *, int *));
+static int xbm_scan P_ ((unsigned char **, unsigned char *,
+                        char *, int *));
 static int xbm_load P_ ((struct frame *f, struct image *img));
 static int xbm_load_image P_ ((struct frame *f, struct image *img,
-                              char *, char *));
+                              unsigned char *, unsigned char *));
 static int xbm_image_p P_ ((Lisp_Object object));
-static int xbm_read_bitmap_data P_ ((char *, char *, int *, int *,
+static int xbm_read_bitmap_data P_ ((unsigned char *, unsigned char *,
+                                    int *, int *,
                                     unsigned char **));
 static int xbm_file_p P_ ((Lisp_Object));
 
@@ -8511,11 +8513,11 @@
 
 static int
 xbm_scan (s, end, sval, ival)
-     char **s, *end;
+     unsigned char **s, *end;
      char *sval;
      int *ival;
 {
-  int c;
+  unsigned int c;
 
  loop:
 
@@ -8645,11 +8647,11 @@
 
 static int
 xbm_read_bitmap_data (contents, end, width, height, data)
-     char *contents, *end;
+     unsigned char *contents, *end;
      int *width, *height;
      unsigned char **data;
 {
-  char *s = contents;
+  unsigned char *s = contents;
   char buffer[BUFSIZ];
   int padding_p = 0;
   int v10 = 0;
@@ -8827,7 +8829,7 @@
 xbm_load_image (f, img, contents, end)
      struct frame *f;
      struct image *img;
-     char *contents, *end;
+     unsigned char *contents, *end;
 {
   int rc;
   unsigned char *data;
@@ -8915,7 +8917,7 @@
   if (STRINGP (file_name))
     {
       Lisp_Object file;
-      char *contents;
+      unsigned char *contents;
       int size;
       struct gcpro gcpro1;
 


__________________________________
Do you Yahoo!?
Yahoo! Mail SpamGuard - Read only the mail you want.
http://antispam.yahoo.com/tools




reply via email to

[Prev in Thread] Current Thread [Next in Thread]