Esempio n. 1
0
        // returns zero on success and -1 on failure
        public override int Seek(long offset, FS_SEEK origin)
        {
            SeekOrigin _origin;

            switch (origin)
            {
            case FS_SEEK.CUR: { _origin = SeekOrigin.Current; break; }

            case FS_SEEK.END: { _origin = SeekOrigin.End; break; }

            case FS_SEEK.SET: { _origin = SeekOrigin.Begin; break; }

            default: { _origin = SeekOrigin.Current; common.FatalError($"File_Permanent::Seek: bad origin for {name}\n"); break; }
            }

            return((int)o.Seek(offset, _origin));
        }
Esempio n. 2
0
        public override int Seek(long offset, FS_SEEK origin)
        {
            switch (origin)
            {
            case FS_SEEK.CUR: { curPtr += (int)offset; break; }

            case FS_SEEK.END: { curPtr = fileSize - (int)offset; break; }

            case FS_SEEK.SET: { curPtr = (int)offset; break; }

            default: { common.FatalError($"File_Memory::Seek: bad origin for {name}\n"); return(-1); }
            }
            if (curPtr < 0)
            {
                curPtr = 0; return(-1);
            }
            if (curPtr > fileSize)
            {
                curPtr = fileSize; return(-1);
            }
            return(0);
        }
Esempio n. 3
0
 public override int Seek(long offset, FS_SEEK origin) => - 1;
Esempio n. 4
0
 // Seek on a file.
 public virtual int Seek(long offset, FS_SEEK origin) => - 1;