home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
rtsi.com
/
2014.01.www.rtsi.com.tar
/
www.rtsi.com
/
OS9
/
MM1
/
UTIL
/
rsdsk.lzh
/
RSDSK
/
SRC
/
rsreaddir.c
< prev
next >
Wrap
Text File
|
1997-03-05
|
1KB
|
45 lines
/* rsreaddir() function to read Jeff Vavasour's emulator .DSK files */
/* copyright (c) 1997, by Bob Devries */
#include <stdio.h>
#include "rsdir.h"
int
rsreaddir(dskfile, dirptr)
FILE *dskfile;
RSDIR *dirptr;
{
static long diroffset = 0L;
char dirent[33];
if (diroffset >= 2176L)
return(-1);
do {
if (fseek(dskfile, 0x13400L + diroffset, 0) == -1)
return(-1);
if (fread(dirent, 32, 1, dskfile) == 0)
return(-1);
memcpy(dirptr->rs_filename,dirent,8);
dirptr->rs_filename[8] = '\0';
memcpy(dirptr->rs_extension,dirent+8,3);
dirptr->rs_extension[3] = '\0';
memcpy(&dirptr->rs_filetype,dirent+11,1);
memcpy(&dirptr->rs_ascii_flag,dirent+12,1);
memcpy(&dirptr->rs_first_gran,dirent+13,1);
memcpy(&dirptr->rs_last_sect,dirent+14,2);
diroffset += RSDIRSIZE;
if (*dirptr->rs_filename == (char)0xff)
return(-1);
if (*dirptr->rs_filename != '\0')
return(0);
} while ((*dirptr->rs_filename == '\0') || (diroffset < 2176L));
}
/* EOF rsreaddir.c */