汇编源代码大全

源代码在线查看: file.fix

软件大小: 13238 K
上传用户: ggh062
关键词: 汇编 代码大全
下载地址: 免注册下载 普通下载 VIP

相关代码

				          Making the "file" command recognize zoo archives
				
				Zoo archives have the following magic number:  Beginning at offset 20
				decimal, there are four bytes with the values 0xdc, 0xa7, 0xc4, and
				0xfd.  (But if you call the first byte of a zoo archive byte 1, then
				the magic bytes will be bytes 21 through 24.)
				
				To make the "file" command identify zoo archives, changes can be made
				as follows.
				
				4.3BSD:  See the context diff near the end of this document, suitable
				for application with the "patch" utility, that works with the 4.3BSD 
				"file" command on a VAX-11/785.  I don't know if this will also work 
				under 4.2BSD or with any other implementation of the "file" command 
				or on any other CPU.
				
				System V Release 2 (as exemplified by Microport System V/AT):  At the
				end of the file "/etc/magic", add the following line:
				
				20	long		0xfdc4a7dc	zoo archive
				
				This should work on a little-endian machine, in which the long value
				0xfdc4a7dc is stored with the least-significant byte first.  For a big-
				endian machine, you will probably need to replace it with 0xdca7c4fd.
				This assumes that long occupies 4 bytes.  If not, use a data type name
				that is exactly 4 bytes.
				
				=====
				Changes needed to make the 4.3BSD "file" command recognize zoo
				archives.  Known to work on a VAX-11/785.
				
				*** file.c.old	Thu Mar  6 19:34:29 1986
				--- file.c	Sat Feb 21 19:28:52 1987
				***************
				*** 172,181 ****
				--- 172,187 ----
				  	case 070707:
				  		printf("cpio data\n");
				  		return;
				  	}
				  
				+ 	if (buf[20] == (char) 0xdc && buf[21] == (char) 0xa7 && 
				+             		buf[22] == (char) 0xc4 && buf[23] == (char) 0xfd) {
				+ 		printf ("zoo archive\n");
				+ 		return;
				+ 	}
				+ 
				  	if (buf[0] == '#' && buf[1] == '!' && shellscript(buf+2, &mbuf))
				  		return;
				  	if (buf[0] == '\037' && buf[1] == '\235') {
				  		if (buf[2]&0x80)
				  			printf("block ");
							

相关资源