Adapt Eval Graph code to new drawing system
[xboard.git] / zic2xpm.c
index 7d816ed..12545ba 100644 (file)
--- a/zic2xpm.c
+++ b/zic2xpm.c
@@ -4,7 +4,7 @@
        Program to convert pieces from ZIICS format to XPM & XIM format.
        (C version)  By Frank McIngvale <frankm@hiwaay.net>.
 
-       Copyright (C) 1996 Free Software Foundation, Inc.
+       Copyright (C) 1996, 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
 
        NOTICE: The piece images distributed with ZIICS are
            copyrighted works of their original creators.  Images 
             by experimentation, and without access to any
             of Borland Inc.'s BGI library source code.
 
-       This program 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 of the License, or
-       (at your option) any later version.  However, the above notices
-       MUST BE RETAINED in any copy that you redistribute or modify.
 
-       This program is distributed in the hope that it will be useful,
-       but WITHOUT ANY WARRANTY; without even the implied warranty of
-       MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-       GNU General Public License for more details.
+           GNU XBoard 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 3 of the License, or (at your option) any
+           later version.
+           
+           GNU XBoard is distributed in the hope that it will be
+           useful, but WITHOUT ANY WARRANTY; without even the implied
+           warranty of 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 this program. If not, see
+           http://www.gnu.org/licenses/.
 
-       You should have received a copy of the GNU General Public License
-       along with this program; if not, write to the Free Software
-       Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111 USA.
 
        ** If you find a bug in zic2xpm.c, please report it to me,
           Frank McIngvale (frankm@hiwaay.net) so that I may fix it. **
@@ -112,6 +115,7 @@ typedef struct {
 } z2xpm;
 
 #define NR_ZIICS_COLORS 4
+#define BUFLEN 100
 
 /* SHOWSETS.PAS (from ZIICS) states that images may only
    use color numbers 0, 2, 14, and 15 */
@@ -128,15 +132,15 @@ z2xpm z2xpm_tab[NR_ZIICS_COLORS] = {
   { 14, '*', "light_square", "gray" },
   { 2, '.', "dark_square", "green" } };
 
-void fatal( str )
-        char *str;
+void
+fatal (char *str)
 {
   printf("Fatal error: %s\n", str );
   exit(1);
 }
 
-z2xim *lookup_xim_color( color )
-        int color;
+z2xim *
+lookup_xim_color (int color)
 {
   int i;
 
@@ -152,8 +156,8 @@ z2xim *lookup_xim_color( color )
   return NULL;                                 /* Make compiler happy */
 }
 
-z2xpm *lookup_xpm_color( color )
-        int color;
+z2xpm *
+lookup_xpm_color (int color)
 {
   int i;
 
@@ -171,8 +175,8 @@ z2xpm *lookup_xpm_color( color )
 
 char *src_name;
 
-int up8( i )
-        int i;
+int
+up8 (int i)
 {
   int r;
 
@@ -183,8 +187,8 @@ int up8( i )
   return i + 8 - r;
 }
 
-unsigned int vga_imagesize( w, h )
-        int w, h;
+unsigned int
+vga_imagesize (int w, int h)
 {
   int w8;
   unsigned int s;
@@ -196,9 +200,8 @@ unsigned int vga_imagesize( w, h )
   return s;
 }
 
-unsigned char *decode_byte( dest, b, w )
-        unsigned char *dest, *b;
-        int w;
+unsigned char *
+decode_byte (unsigned char *dest, unsigned char *b, int w)
 {
   int i, j;
   unsigned char byte, bit;
@@ -228,9 +231,8 @@ unsigned char *decode_byte( dest, b, w )
    SRC is in packed pixel format.
    DEST is filled with 1 BYTE per PIXEL.
 */
-unsigned char *decode_line( dest, src, w )
-        unsigned char *dest, *src;
-        int w;
+unsigned char *
+decode_line (unsigned char *dest, unsigned char *src, int w)
 {
   unsigned int w8;
   unsigned int bpp;
@@ -262,9 +264,8 @@ unsigned char *decode_line( dest, src, w )
   return (src + bpp * 4);
 }
 
-int write_xim_header( fp, w, h )
-        FILE *fp;
-        int w, h;
+int
+write_xim_header (FILE *fp, int w, int h)
 {
   fputc( w, fp );
   fputc( h, fp );
@@ -272,9 +273,8 @@ int write_xim_header( fp, w, h )
   return 0;
 }
 
-int write_xpm_header( fp, w, h )
-        FILE *fp;
-        int w, h;
+int
+write_xpm_header (FILE *fp, int w, int h)
 {
   int i;
   z2xpm *cv;
@@ -304,10 +304,8 @@ int write_xpm_header( fp, w, h )
   return 0;
 }
 
-void create_piece_xim( outname, fpin, W, H )
-        char *outname;
-        FILE *fpin;
-        int W, H;
+void
+create_piece_xim (char *outname, FILE *fpin, int W, int H)
 {
   FILE *fpout;
   int w, h, i, j, c;
@@ -362,10 +360,8 @@ void create_piece_xim( outname, fpin, W, H )
   fclose( fpout );
 }
 
-void create_piece_xpm( outname, fpin, W, H )
-        char *outname;
-        FILE *fpin;
-        int W, H;
+void
+create_piece_xpm (char *outname, FILE *fpin, int W, int H)
 {
   FILE *fpout;
   int w, h, i, j, c;
@@ -431,14 +427,14 @@ char *pname[] = { "Pawn", "Rook", "King", "Queen", "Bishop", "Knight" };
 /* The suborder - Light/Light, Light/Dark, etc. */
 char *prefixes[] = { "ll", "ld", "dl", "dd" };
 
-int process_file_xim( filename )
-        char *filename;
+int
+process_file_xim (char *filename)
 {
   int w, h, piece, kind, c;
   int nr_pieces = 6;
   int nr_kinds = 4;
   FILE *fp;
-  char buf[100];
+  char buf[BUFLEN];
 
   src_name = filename;
   
@@ -475,18 +471,18 @@ int process_file_xim( filename )
                {
                  printf( "." );
                  /* Form output filename -- <piece><kind><size>.xim */
-                 sprintf(buf, "%c%s%d.xim", pieces[piece], prefixes[kind], w);
+                 snprintf(buf, BUFLEN, "%c%s%d.xim", pieces[piece], prefixes[kind], w);
                  create_piece_xim( buf, fp, w, h );
                }
          printf("\n");
        }
 
   /* Write the light & dark squares */
-  sprintf( buf, "lsq%d.xim", w );
+  snprintf( buf, BUFLEN, "lsq%d.xim", w );
   printf("Light Square" );
   create_piece_xim( buf, fp, w, h );
 
-  sprintf( buf, "dsq%d.xim", w );
+  snprintf( buf, BUFLEN, "dsq%d.xim", w );
   printf("\nDark Square" );
   create_piece_xim( buf, fp, w, h );  
   printf("\n");
@@ -498,14 +494,14 @@ int process_file_xim( filename )
   return 0;
 }
 
-int process_file_xpm( filename )
-        char *filename;
+int
+process_file_xpm (char *filename)
 {
   int w, h, piece, kind, c;
   int nr_pieces = 6;
   int nr_kinds = 4;
   FILE *fp;
-  char buf[100];
+  char buf[BUFLEN];
 
   src_name = filename;
   
@@ -542,18 +538,18 @@ int process_file_xpm( filename )
                {
                  printf( "." );
                  /* Form output filename -- <piece><kind><size>.xpm */
-                 sprintf(buf, "%c%s%d.xpm", pieces[piece], prefixes[kind], w);
+                 snprintf(buf, BUFLEN, "%c%s%d.xpm", pieces[piece], prefixes[kind], w);
                  create_piece_xpm( buf, fp, w, h );
                }
          printf("\n");
        }
 
   /* Write the light & dark squares */
-  sprintf( buf, "lsq%d.xpm", w );
+  snprintf( buf, BUFLEN, "lsq%d.xpm", w );
   printf("Light Square" );
   create_piece_xpm( buf, fp, w, h );
 
-  sprintf( buf, "dsq%d.xpm", w );
+  snprintf( buf, BUFLEN, "dsq%d.xpm", w );
   printf("\nDark Square" );
   create_piece_xpm( buf, fp, w, h );  
   printf("\n");
@@ -565,9 +561,8 @@ int process_file_xpm( filename )
   return 0;
 }
 
-int main( argc, argv )
-        int argc;
-        char *argv[];
+int
+main (int argc, char **argv)
 {
   int i;