err = -errno; 
int os_file_size(char *file, unsigned long long *size_out){	struct uml_stat buf;	int err;	err = os_stat_file(file, &buf);	if(err < 0){		printk("Couldn't stat \"%s\" : err = %d\n", file, -err);		return(err);	}	if(S_ISBLK(buf.ust_mode)){		int fd, blocks;		fd = os_open_file(file, of_read(OPENFLAGS()), 0);		if(fd < 0){			printk("Couldn't open \"%s\", errno = %d\n", file, -fd);			return(fd);		}		if(ioctl(fd, BLKGETSIZE, &blocks) < 0){			printk("Couldn't get the block size of \"%s\", "			       "errno = %d\n", file, errno);			err = -errno;			os_close_file(fd);			return(err);		}		*size_out = ((long long) blocks) * 512;		os_close_file(fd);		return(0);	}	*size_out = buf.ust_size;	return(0);}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/b4fd310e163477236a241580b3b8c29aee65f4cc/file.c/clean/arch/um/os-Linux/file.c