代码格式转换

发布时间 2023-03-27 16:46:01作者: 迷人的危险~
#include "../head.h"



/*
 * 去掉代码中的dbg整行打印信息 
 */


int main(int agrc, char **argv)
{		
//	get_variable_size(); 
	
	if(agrc != 2) dbge("%d", agrc);

	if(mkdir("out", 0777) && errno != 17) dbge();  

	char outfile[50]; 
	sprintf(outfile, "out/%s", argv[1]);
 	
	dbg("%s %s", argv[1], outfile);
	
	int ofd, ifd;
	if(-1 == (ofd = open(outfile, 2 | O_CREAT | O_TRUNC))) dbge(); 
	if(-1 == (ifd = open(argv[1], 2))) dbge(); 
	
	struct stat stat;
	if(fstat(ifd, &stat)) dbge();
	dbg("%ld %ldk", stat.st_size, stat.st_size >> 10);
	
	char *buf = malloc(stat.st_size);
	if(NULL == buf) dbge();
	if(-1 == read(ifd, buf, stat.st_size)) dbge();
	
	char *p = buf;
	char *start = buf; 
	char *end = p + stat.st_size;
	do {
		if('d' == *p) { 
			if(0x28676264 == *I(p)) {   							 				
				if(-1 == write(ofd, start, p - start)) dbge();
				
				p += 4;  
				while(*++p != '\n');   
				start = ++p;  	      
			}
		}
	} while(++p < end); 
 
	if(p > start)    
		if(-1 == write(ofd, start, p - start)) dbge();   
	 
	free(buf);
	dbg("转换成功");
	 
	return 0; 
}