about summary refs log tree commit diff
path: root/converter/pbm
diff options
context:
space:
mode:
authorgiraffedata <giraffedata@9d0c8265-081b-0410-96cb-a4ca84ce46f8>2010-03-04 03:10:40 +0000
committergiraffedata <giraffedata@9d0c8265-081b-0410-96cb-a4ca84ce46f8>2010-03-04 03:10:40 +0000
commit382ad0b54fd68a84d349cf1a4d714841755c367a (patch)
treee328b2eb633d18077e0f84ebfd4f66f24f044373 /converter/pbm
parentbf76a94423bbb9f4fb66ffea261f677702e0d4f4 (diff)
downloadnetpbm-mirror-382ad0b54fd68a84d349cf1a4d714841755c367a.tar.gz
netpbm-mirror-382ad0b54fd68a84d349cf1a4d714841755c367a.tar.xz
netpbm-mirror-382ad0b54fd68a84d349cf1a4d714841755c367a.zip
cleanup
git-svn-id: http://svn.code.sf.net/p/netpbm/code/trunk@1137 9d0c8265-081b-0410-96cb-a4ca84ce46f8
Diffstat (limited to 'converter/pbm')
-rw-r--r--converter/pbm/pbmtoybm.c140
1 files changed, 84 insertions, 56 deletions
diff --git a/converter/pbm/pbmtoybm.c b/converter/pbm/pbmtoybm.c
index 88172788..3fdd805d 100644
--- a/converter/pbm/pbmtoybm.c
+++ b/converter/pbm/pbmtoybm.c
@@ -16,6 +16,8 @@
 */
 
 #include <stdio.h>
+
+#include "pm.h"
 #include "pbm.h"
 
 #define YBM_MAGIC  ( ( '!' << 8 ) | '!' )
@@ -26,84 +28,110 @@ static int bitsperitem, bitshift;
 
 
 static void
-putitem( )
-    {
-    pm_writebigshort( stdout, item );
-    item = 0;
+putitem(void) {
+
+    pm_writebigshort(stdout, item);
+
+    item        = 0;
     bitsperitem = 0;
-    bitshift = 0;
-    }
+    bitshift    = 0;
+}
+
+
 
 static void
-putinit(int const cols, int const rows )
-    {
-    pm_writebigshort( stdout, YBM_MAGIC );
-    pm_writebigshort( stdout, cols );
-    pm_writebigshort( stdout, rows );
-    item = 0;
+putinit(int const cols,
+        int const rows) {
+
+    pm_writebigshort(stdout, YBM_MAGIC);
+    pm_writebigshort(stdout, cols);
+    pm_writebigshort(stdout, rows);
+
+    item        = 0;
     bitsperitem = 0;
-    bitshift = 0;
-    }
+    bitshift    = 0;
+}
+
+
 
 static void
-putbit( bit const b )
-    {
-    if ( bitsperitem == 16 )
-        putitem( );
+putbit(bit const b) {
+
+    if (bitsperitem == 16)
+        putitem();
+
     ++bitsperitem;
-    if ( b == PBM_BLACK )
+
+    if (b == PBM_BLACK)
         item += 1 << bitshift;
+
     ++bitshift;
-    }
+}
+
+
 
 static void
-putrest( )
-    {
-    if ( bitsperitem > 0 )
-        putitem( );
-    }
+putrest(void) {
 
+    if (bitsperitem > 0)
+        putitem();
+}
 
-int
-main( int argc, char *argv[] )
-    {
-    FILE* ifp;
-    bit* bitrow;
-    int rows, cols, format, padright, row, col;
 
-    pbm_init( &argc, argv );
 
-    if ( argc > 2 )
-        pm_usage( "[pbmfile]" );
-    if ( argc == 2 )
-        ifp = pm_openr( argv[1] );
-    else
-        ifp = stdin;
+int
+main(int argc, const char *argv[]) {
+
+    FILE * ifP;
+    bit * bitrow;
+    int rows;
+    int cols;
+    int format;
+    unsigned int padright;
+    unsigned int row;
+    const char * inputFile;
+
+    pm_proginit(&argc, argv);
+
+    if (argc-1 < 1)
+        inputFile = "-";
+    else {
+        inputFile = argv[1];
+
+        if (argc-1 > 2)
+            pm_error("Too many arguments.  The only argument is the optional "
+                     "input file name");
+    }
+
+    ifP = pm_openr(inputFile);
 
-    pbm_readpbminit( ifp, &cols, &rows, &format );
+    pbm_readpbminit(ifP, &cols, &rows, &format);
 
-    if( rows>INT16MAX || cols>INT16MAX )
-      pm_error ("Input image is too large.");
+    if (rows > INT16MAX || cols > INT16MAX)
+        pm_error("Input image is too large.");
 
-    bitrow = pbm_allocrow( cols );
+    bitrow = pbm_allocrow(cols);
     
     /* Compute padding to round cols up to the nearest multiple of 16. */
-    padright = ( ( cols + 15 ) / 16 ) * 16 - cols;
+    padright = ((cols + 15) / 16) * 16 - cols;
 
-    putinit( cols, rows );
-    for ( row = 0; row < rows; ++row )
-        {
-        pbm_readpbmrow( ifp, bitrow, cols, format );
-        for ( col = 0; col < cols; ++col )
-            putbit(  bitrow[col] );
-        for ( col = 0; col < padright; ++col )
-            putbit( 0 );
-        }
+    putinit(cols, rows);
+    for (row = 0; row < rows; ++row) {
+        unsigned int col;
 
-    if ( ifp != stdin )
-        fclose( ifp );
+        pbm_readpbmrow(ifP, bitrow, cols, format);
 
-    putrest( );
+        for (col = 0; col < cols; ++col)
+            putbit(bitrow[col]);
 
-    exit( 0 );
+        for (col = 0; col < padright; ++col)
+            putbit(0);
     }
+
+    if (ifP != stdin)
+        fclose(ifP);
+
+    putrest();
+
+    return 0;
+}