(void) fwrite((genericptr_T) types, (fwrite_size_T) sizeof types[0], (fwrite_size_T) timecnt, fp);
(void) fwrite((void *) types, (size_t) sizeof types[0], (size_t) timecnt, fp);
writezone(name)const char * const	name;{	register FILE *		fp;	register int		i, j;	static char *		fullname;	static struct tzhead	tzh;	fullname = erealloc(fullname,		(int) (strlen(directory) + 1 + strlen(name) + 1));	(void) sprintf(fullname, "%s/%s", directory, name);	if ((fp = fopen(fullname, "wb")) == NULL) {		if (mkdirs(fullname) != 0)			(void) exit(EXIT_FAILURE);		if ((fp = fopen(fullname, "wb")) == NULL) {			(void) fprintf(stderr, "%s: Can't create ", progname);			(void) perror(fullname);			(void) exit(EXIT_FAILURE);		}	}	convert(eitol(typecnt), tzh.tzh_ttisstdcnt);	convert(eitol(leapcnt), tzh.tzh_leapcnt);	convert(eitol(timecnt), tzh.tzh_timecnt);	convert(eitol(typecnt), tzh.tzh_typecnt);	convert(eitol(charcnt), tzh.tzh_charcnt);	(void) fwrite((genericptr_T) &tzh,		(fwrite_size_T) sizeof tzh,		(fwrite_size_T) 1, fp);	for (i = 0; i < timecnt; ++i) {		j = leapcnt;		while (--j >= 0)			if (ats[i] >= trans[j]) {				ats[i] = tadd(ats[i], corr[j]);				break;			}		puttzcode((long) ats[i], fp);	}	if (timecnt > 0)		(void) fwrite((genericptr_T) types,			(fwrite_size_T) sizeof types[0],			(fwrite_size_T) timecnt, fp);	for (i = 0; i < typecnt; ++i) {		puttzcode((long) gmtoffs[i], fp);		(void) putc(isdsts[i], fp);		(void) putc(abbrinds[i], fp);	}	if (charcnt != 0)		(void) fwrite((genericptr_T) chars,			(fwrite_size_T) sizeof chars[0],			(fwrite_size_T) charcnt, fp);	for (i = 0; i < leapcnt; ++i) {		if (roll[i]) {			if (timecnt == 0 || trans[i] < ats[0]) {				j = 0;				while (isdsts[j])					if (++j >= typecnt) {						j = 0;						break;					}			} else {				j = 1;				while (j < timecnt && trans[i] >= ats[j])					++j;				j = types[j - 1];			}			puttzcode((long) tadd(trans[i], -gmtoffs[j]), fp);		} else	puttzcode((long) trans[i], fp);		puttzcode((long) corr[i], fp);	}	for (i = 0; i < typecnt; ++i)		(void) putc(ttisstds[i], fp);	if (ferror(fp) || fclose(fp)) {		(void) fprintf(stderr, "%s: Write error on ", progname);		(void) perror(fullname);		(void) exit(EXIT_FAILURE);	}}