for (s1 = ebuf; *s1++ = *s2++; )
for (s1 = ebuf; (*s1++ = *s2++); )
extern char *exptilde(ebuf, file)	char *ebuf;	register char *file;{	register char *s1, *s2, *s3;	extern char *homedir;	if (*file != '~') {		(void) strcpy(ebuf, file);		return(ebuf);	}	if (*++file == CNULL) {		s2 = homedir;		s3 = NULL;	} else if (*file == '/') {		s2 = homedir;		s3 = file;	} else {		s3 = file;		while (*s3 && *s3 != '/')			s3++;		if (*s3 == '/')			*s3 = CNULL;		else			s3 = NULL;		if (pw == NULL || strcmp(pw->pw_name, file) != 0) {			if ((pw = getpwnam(file)) == NULL) {				error("%s: unknown user name", file);				if (s3 != NULL)					*s3 = '/';				return(NULL);			}		}		if (s3 != NULL)			*s3 = '/';		s2 = pw->pw_dir;	}	for (s1 = ebuf; *s1++ = *s2++; )		;	s2 = --s1;	if (s3 != NULL) {		s2++;		while (*s1++ = *s3++)			;	}	return(s2);}