|
|
1.1 root 1: /*
2: *
3: * (c) 2005-2009 Laurent Vivier <[email protected]>
4: *
5: * This file has been copied from EMILE, http://emile.sf.net
6: *
7: */
8:
9: #include "libiso9660.h"
10:
11: int iso9660_lseek(iso9660_FILE *_file, long offset, int whence)
12: {
13: iso9660_FILE *file = (iso9660_FILE*)_file;
14: long new_offset;
15:
16: switch(whence)
17: {
18: case SEEK_SET:
19: new_offset = offset;
20: break;
21: case SEEK_CUR:
22: new_offset = file->offset + offset;
23: break;
24: case SEEK_END:
25: new_offset = file->size + offset;
26: break;
27: default:
28: return -1;
29: }
30:
31: if ( (new_offset < 0) || (new_offset > file->size) )
32: return -1;
33:
34: file->offset = new_offset;
35:
36: return new_offset;
37: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.