2 THE COMPUTER CODE CONTAINED HEREIN IS THE SOLE PROPERTY OF PARALLAX
3 SOFTWARE CORPORATION ("PARALLAX"). PARALLAX, IN DISTRIBUTING THE CODE TO
4 END-USERS, AND SUBJECT TO ALL OF THE TERMS AND CONDITIONS HEREIN, GRANTS A
5 ROYALTY-FREE, PERPETUAL LICENSE TO SUCH END-USERS FOR USE BY SUCH END-USERS
6 IN USING, DISPLAYING, AND CREATING DERIVATIVE WORKS THEREOF, SO LONG AS
7 SUCH USE, DISPLAY OR CREATION IS FOR NON-COMMERCIAL, ROYALTY OR REVENUE
8 FREE PURPOSES. IN NO EVENT SHALL THE END-USER USE THE COMPUTER CODE
9 CONTAINED HEREIN FOR REVENUE-BEARING PURPOSES. THE END-USER UNDERSTANDS
10 AND AGREES TO THE TERMS HEREIN AND ACCEPTS THE SAME BY USE OF THIS FILE.
11 COPYRIGHT 1993-1999 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED.
16 #include <sys/types.h>
24 int filelength(int fd)
28 cur_pos = lseek(fd, 0, SEEK_CUR);
29 lseek(fd, 0, SEEK_END);
30 end_pos = lseek(fd, 0, SEEK_CUR);
31 lseek(fd, cur_pos, SEEK_SET);
35 byte file_read_byte(FILE *fp)
39 if (fread(&b, 1, 1, fp) != 1)
40 Error("Error reading byte in file_read_byte()");
44 short file_read_short(FILE *fp)
48 if (fread(&s, 2, 1, fp) != 1)
49 Error("Error reading short in file_read_short()");
50 return INTEL_SHORT(s);
53 int file_read_int(FILE *fp)
57 if (fread(&i, 4, 1, fp) != 1)
58 Error("Error reading int in file_read_int()");
62 fix file_read_fix(FILE *fp)
66 if (fread(&f, 4, 1, fp) != 1)
67 Error("Error reading fix in file_read_fix()");
71 int file_write_byte(FILE *fp, byte b)
73 return (fwrite(&b, 1, 1, fp));
76 int file_write_short(FILE *fp, short s)
79 return (fwrite(&s, 2, 1, fp));
82 int file_write_int(FILE *fp, int i)
85 return (fwrite(&i, 4, 1, fp));
88 int write_fix_swap(FILE *fp, fix f)
90 f = (fix)INTEL_INT((int)f);
91 return (fwrite(&f, 4, 1, fp));