UNIX V6のchmodはコンパイルがそのまま通る

小ネタですが、UNIX V6のs1\chmod.cを現代のコンパイラ(Visual C++ 2012)でコンパイルしてみました。UNIX V6といえば1975年にリリースされたPDP-11向けに書かれたコードですが、警告が出るもののどこも変更することなくコンパイルが通ります。
countを初期化しなかったり、'0'〜'7'が連続していることを想定したコードとなっていたりとかなり処理系依存なものとなっています。

main(argc, argv)
char **argv;
{
	register i, m;
	register char *c;
	int count;

	if(argc < 3) {
		printf("arg count\n");
		exit(1);
	}
	c = argv[1];
	m = 0;
	for(m=0; *c; c++) {
		if(*c < '0' || *c > '7') {
			printf("bad mode\n");
			exit(1);
		}
		m = (m<<3) | *c - '0';
	}
	for(i=2; i<argc; i++)
		if(chmod(argv[i], m) < 0) {
			count++;
			perror(argv[i]);
		}
	exit(count);
}

Microsoft(R) C/C++ Optimizing Compiler Version 17.00.60610.1 for x86
Copyright (C) Microsoft Corporation. All rights reserved.

chmod.c
c:\users\user\desktop\chmod.c(23) : warning C4700: 初期化されていないローカル変数 'count' が使用されます
Microsoft (R) Incremental Linker Version 11.00.60610.1
Copyright (C) Microsoft Corporation. All rights reserved.

/out:chmod.exe
chmod.obj