about summary refs log tree commit diff
diff options
context:
space:
mode:
authorgiraffedata <giraffedata@9d0c8265-081b-0410-96cb-a4ca84ce46f8>2015-04-11 15:51:44 +0000
committergiraffedata <giraffedata@9d0c8265-081b-0410-96cb-a4ca84ce46f8>2015-04-11 15:51:44 +0000
commit86c9c123a6a6a6b3650f6f892bd883472bb808c1 (patch)
tree0bbfb7a833c19b3a5d5c73a7690f08a9eff861fa
parentfb6b0caf78f6c73f69eedbee7a597fcd11be889c (diff)
downloadnetpbm-mirror-86c9c123a6a6a6b3650f6f892bd883472bb808c1.tar.gz
netpbm-mirror-86c9c123a6a6a6b3650f6f892bd883472bb808c1.tar.xz
netpbm-mirror-86c9c123a6a6a6b3650f6f892bd883472bb808c1.zip
cleanup
git-svn-id: http://svn.code.sf.net/p/netpbm/code/trunk@2458 9d0c8265-081b-0410-96cb-a4ca84ce46f8
-rw-r--r--converter/pbm/pbmtozinc.c107
1 files changed, 56 insertions, 51 deletions
diff --git a/converter/pbm/pbmtozinc.c b/converter/pbm/pbmtozinc.c
index 2df39f0d..ba649b1d 100644
--- a/converter/pbm/pbmtozinc.c
+++ b/converter/pbm/pbmtozinc.c
@@ -24,29 +24,68 @@
 #include "nstring.h"
 #include "pbm.h"
 
+static int itemsperline;
+static int bitsperitem;
+static int item;
+static int firstitem;
+static const char * const hexchar = "084c2a6e195d3b7f";
+
+
+
+static void
+putitem() {
+    if ( firstitem )
+        firstitem = 0;
+    else
+        putchar( ',' );
+
+    if ( itemsperline == 11 ) {
+        putchar( '\n' );
+        itemsperline = 0;
+        }
+    if ( itemsperline == 0 )
+        putchar( ' ' );
+
+    ++itemsperline;
+    putchar('0');
+    putchar('x');
+    putchar(hexchar[item & 15]);
+    putchar(hexchar[(item >> 4) & 15]);
+    putchar(hexchar[(item >> 8) & 15]);
+    putchar(hexchar[item >> 12]);
+    bitsperitem = 0;
+    item = 0;
+}
+
+
+
+static void
+putbit(const bit b) {
+    if ( bitsperitem == 16 )
+      putitem();
+    if ( (b) == PBM_BLACK )
+      item += 1 << bitsperitem;
+    ++bitsperitem;
+}
+
+
 int
 main(int argc, char * argv[]) {
 
     FILE* ifp;
     bit* bitrow;
-    register bit* bP;
+    bit* bP;
     int rows, cols, format, padright, row;
-    register int col;
+    int col;
     char name[100];
     char* cp;
-    int itemsperline;
-    register int bitsperitem;
-    register int item;
-    int firstitem;
-    const char * const hexchar = "084c2a6e195d3b7f";
 
     pbm_init( &argc, argv );
 
     if ( argc > 2 )
         pm_usage( "[pbmfile]" );
 
-    if ( argc == 2 )
-	{
+    if ( argc == 2 ) {
         ifp = pm_openr( argv[1] );
         strcpy( name, argv[1] );
         if ( streq( name, "-" ) )
@@ -54,12 +93,11 @@ main(int argc, char * argv[]) {
 
         if ( ( cp = strchr( name, '.' ) ) != 0 )
             *cp = '\0';
-	}
-    else
-	{
+        }
+    else {
         ifp = stdin;
         strcpy( name, "noname" );
-	}
+        }
 
     pbm_readpbminit( ifp, &cols, &rows, &format );
     bitrow = pbm_allocrow( cols );
@@ -76,52 +114,19 @@ main(int argc, char * argv[]) {
     item = 0;
     firstitem = 1;
 
-#define PUTITEM \
-    { \
-    if ( firstitem ) \
-	firstitem = 0; \
-    else \
-	putchar( ',' ); \
-    if ( itemsperline == 11 ) \
-	{ \
-	putchar( '\n' ); \
-	itemsperline = 0; \
-	} \
-    if ( itemsperline == 0 ) \
-	putchar( ' ' ); \
-    ++itemsperline; \
-    putchar('0'); \
-    putchar('x'); \
-    putchar(hexchar[item & 15]); \
-    putchar(hexchar[(item >> 4) & 15]); \
-    putchar(hexchar[(item >> 8) & 15]); \
-    putchar(hexchar[item >> 12]); \
-    bitsperitem = 0; \
-    item = 0; \
-    }
-
-#define PUTBIT(b) \
-    { \
-    if ( bitsperitem == 16 ) \
-	PUTITEM; \
-    if ( (b) == PBM_BLACK ) \
-	item += 1 << bitsperitem; \
-    ++bitsperitem; \
-    }
 
-    for ( row = 0; row < rows; ++row )
-	{
+    for ( row = 0; row < rows; ++row ) {
         pbm_readpbmrow( ifp, bitrow, cols, format );
         for ( col = 0, bP = bitrow; col < cols; ++col, ++bP )
-            PUTBIT( *bP );
+            putbit( *bP );
         for ( col = 0; col < padright; ++col )
-            PUTBIT( 0 );
+            putbit( 0 );
     }
 
     pm_close( ifp );
-    
+
     if ( bitsperitem > 0 )
-        PUTITEM;
+        putitem();
     printf( "};\n" );
 
     return 0;