1 /* @(#)filesize.c 1.14 06/09/13 Copyright 1986, 1995-2003 J. Schilling */ 2 /* 3 * Copyright (c) 1986, 1995-2003 J. Schilling 4 */ 5 /* 6 * The contents of this file are subject to the terms of the 7 * Common Development and Distribution License, Version 1.0 only 8 * (the "License"). You may not use this file except in compliance 9 * with the License. 10 * 11 * See the file CDDL.Schily.txt in this distribution for details. 12 * A copy of the CDDL is also available via the Internet at 13 * http://www.opensource.org/licenses/cddl1.txt 14 * 15 * When distributing Covered Code, include this CDDL HEADER in each 16 * file and include the License file CDDL.Schily.txt from this distribution. 17 */ 18 19 #include "schilyio.h" 20 #include <schily/stat.h> 21 22 EXPORT off_t filesize(f)23filesize(f) 24 register FILE *f; 25 { 26 struct stat buf; 27 28 down(f); 29 if (fstat(fileno(f), &buf) < 0) { 30 raisecond("filesize", 0L); 31 return (-1); 32 } 33 return (buf.st_size); 34 } 35