Annotation of qemu/roms/openbios/fs/ext2/ext2_lseek.c, revision 1.1.1.1

1.1       root        1: /*
                      2:  *
                      3:  * (c) 2008-2009 Laurent Vivier <[email protected]>
                      4:  *
                      5:  * This file has been copied from EMILE, http://emile.sf.net
                      6:  *
                      7:  */
                      8: 
                      9: #include "libext2.h"
                     10: #include "ext2.h"
                     11: 
                     12: int ext2_lseek(ext2_FILE *file, long offset, int whence)
                     13: {
                     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->inode->i_size + offset;
                     26:                break;
                     27:        default:
                     28:                return -1;
                     29:        }
                     30: 
                     31:        if ( (new_offset < 0) ||
                     32:             (new_offset > file->inode->i_size) )
                     33:                return -1;
                     34: 
                     35:        file->offset = new_offset;
                     36: 
                     37:        return new_offset;
                     38: }

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.