All pastes #917903 Raw Edit

Anonymous

public c v1 · immutable
#917903 ·published 2008-02-25 19:40 UTC
rendered paste body
#include <string.h>#include <stdio.h>#include <stdlib.h>#define min(a,b)  ((a) < (b) ? (a) : (b))#define max(a,b)  ((a) > (b) ? (a) : (b))#define BLOCK_SIZE 			1024#define BIT_COUNTER_SIZE 	128int main(int argc, char *argv[]){	int i,j;	unsigned char buffer[32];	unsigned int num_tests,num_bytes,num_bits,remaining_bytes;	unsigned int binary_blocks,remaining_blocks,num_bytes_left; 	unsigned int num_blocks;	FILE *infile;	if ( argc != 3) {		printf("Usage: %s <input file> <size>\n",argv[0]);		return 1;	}			infile = fopen(argv[1],"r");		if( infile == 0 ){		printf("Error opening file %s\n", argv[1]);		return 1;	}	num_bytes = atoi(argv[2]);	num_bits  = 8*num_bytes;	num_bytes_left = num_bytes;	binary_blocks = num_bytes / strlen(buffer);	remaining_blocks = num_bytes % strlen(buffer);	if(remaining_blocks != 0){		binary_blocks++;	}	num_blocks = num_bits / (BLOCK_SIZE-BIT_COUNTER_SIZE) + 1;	//remaining_bytes	= num_bytes % strlen(buffer);	printf("binary_blocks = %d\n",binary_blocks);	printf("remaining_blocks = %d\n",remaining_blocks);	printf("num_blocks = %d\n",num_blocks);		//printf("remaining_bytes = %d\n",remaining_bytes);	for(i = 0; i < binary_blocks; i++){		fread(buffer,1,min(num_bytes_left,strlen(buffer)),infile);		for(j = 0; j < min(num_bytes_left,strlen(buffer)); j++){			printf("%X",buffer[j]);		}		num_bytes_left -= max(remaining_blocks,strlen(buffer));		printf("\n");				if( i == binary_blocks - 1 ) {			printf("80\n");		}	}	//fgets(message, num_bytes,infile);	//outputPaddedMessage(message,num_bytes);	fclose(infile);	return 0; }