variable target ui flush & message bitcount function
[vg.git] / src / msgdump.c
index 253233802005316a431fa264aea0401d6dcac1a4..65cdd5adb4621dbc45c3fc6fcc37376095116431 100644 (file)
@@ -14,42 +14,46 @@ int main( int argc, char *argv[] ){
                return 0;
        }
 
-   FILE *f = fopen( argv[1], "rb" );
-       if( !f ){
-      vg_error( "vg_disk_open_read: %s\n", strerror(errno) );
-   }
+   for( int i=0; i<argc-1; i++ ){
+      FILE *f = fopen( argv[i+1], "rb" );
+      if( !f ){
+         vg_error( "vg_disk_open_read: %s\n", strerror(errno) );
+      }
 
-   void *buffer = NULL;
-   u64 current = 0;
+      void *buffer = NULL;
+      u64 current = 0;
 
-   /* read in chunks */
-   for( u32 i=0; 1; i++ ){
-      buffer = realloc( buffer, current + CHUNK_SIZE );
-      u64 l = fread( buffer + current, 1, CHUNK_SIZE, f );
-      current += l;
+      /* read in chunks */
+      for( u32 i=0; 1; i++ ){
+         buffer = realloc( buffer, current + CHUNK_SIZE );
+         u64 l = fread( buffer + current, 1, CHUNK_SIZE, f );
+         current += l;
 
-      if( l != CHUNK_SIZE ){
-         if( feof( f ) ){
-            break;
-         }
-         else{
-            if( ferror( f ) ){
-               fclose(f);
-               vg_fatal_error( "read error" );
+         if( l != CHUNK_SIZE ){
+            if( feof( f ) ){
+               break;
             }
             else{
-               fclose(f);
-               vg_fatal_error( "unknown error codition" );
+               if( ferror( f ) ){
+                  fclose(f);
+                  vg_fatal_error( "read error" );
+               }
+               else{
+                  fclose(f);
+                  vg_fatal_error( "unknown error codition" );
+               }
             }
          }
       }
-   }
 
-   fclose( f );
+      fclose( f );
+
+      printf( "%s (%u bytes):", argv[i+1], (u32)current );
 
-   vg_msg msg;
-   vg_msg_init( &msg, buffer, current );
-   vg_msg_print( &msg, current );
+      vg_msg msg;
+      vg_msg_init( &msg, buffer, current );
+      vg_msg_print( &msg, current );
 
-   free( buffer );
+      free( buffer );
+   }
 }