Diff for /xmil/statsave.c between versions 1.1 and 1.5

version 1.1, 2004/08/12 17:57:36 version 1.5, 2004/08/15 12:32:11
Line 108  typedef struct { Line 108  typedef struct {
         NP2FHDR         f;          NP2FHDR         f;
 } _SFFILEH, *SFFILEH;  } _SFFILEH, *SFFILEH;
   
 static SFFILEH statflag_open(const char *filename, char *err, int errlen) {  static SFFILEH statflag_open(const OEMCHAR *filename,
                                                                                                   OEMCHAR *err, UINT errlen) {
   
         FILEH   fh;          FILEH   fh;
         SFFILEH ret;          SFFILEH ret;
Line 145  sfo_err1: Line 146  sfo_err1:
 static int statflag_closesection(SFFILEH sffh) {  static int statflag_closesection(SFFILEH sffh) {
   
         UINT    leng;          UINT    leng;
         BYTE    zero[16];          UINT8   zero[16];
   
         if (sffh == NULL) {          if (sffh == NULL) {
                 goto sfcs_err1;                  goto sfcs_err1;
Line 220  sfr_err: Line 221  sfr_err:
         return(STATFLAG_FAILURE);          return(STATFLAG_FAILURE);
 }  }
   
 static SFFILEH statflag_create(const char *filename) {  static SFFILEH statflag_create(const OEMCHAR *filename) {
   
         SFFILEH ret;          SFFILEH ret;
         FILEH   fh;          FILEH   fh;
Line 314  static void statflag_close(SFFILEH sffh) Line 315  static void statflag_close(SFFILEH sffh)
         }          }
 }  }
   
 void statflag_seterr(STFLAGH sfh, const char *str) {  void statflag_seterr(STFLAGH sfh, const OEMCHAR *str) {
   
         if ((sfh) && (sfh->errlen)) {          if ((sfh) && (sfh->errlen)) {
                 milstr_ncat(sfh->err, str, sfh->errlen);                  milstr_ncat(sfh->err, str, sfh->errlen);
Line 466  static int flagload_evt(STFLAGH sfh, con Line 467  static int flagload_evt(STFLAGH sfh, con
 // ---- disk  // ---- disk
   
 typedef struct {  typedef struct {
         OEMCHAR path[MAX_PATH];          OEMCHAR fname[MAX_PATH];
         int             readonly;          UINT32  ftype;
           UINT    readonly;
         DOSDATE date;          DOSDATE date;
         DOSTIME time;          DOSTIME time;
 } STATDISK;  } STATDISK;
Line 476  static const OEMCHAR str_fddx[] = OEMTEX Line 478  static const OEMCHAR str_fddx[] = OEMTEX
 static const OEMCHAR str_updated[] = OEMTEXT("%s: updated");  static const OEMCHAR str_updated[] = OEMTEXT("%s: updated");
 static const OEMCHAR str_notfound[] = OEMTEXT("%s: not found");  static const OEMCHAR str_notfound[] = OEMTEXT("%s: not found");
   
 static int disksave(STFLAGH sfh, const OEMCHAR *path, int readonly) {  static int disksave(STFLAGH sfh, const _FDDFILE *fdd) {
   
         STATDISK        st;          STATDISK        st;
         FILEH           fh;          FILEH           fh;
   
         ZeroMemory(&st, sizeof(st));          ZeroMemory(&st, sizeof(st));
         if ((path) && (path[0])) {          if (fdd->type != DISKTYPE_NOTREADY) {
                 file_cpyname(st.path, path, sizeof(st.path));                  file_cpyname(st.fname, fdd->fname, NELEMENTS(st.fname));
                 st.readonly = readonly;                  st.ftype = fdd->ftype;
                 fh = file_open_rb(path);                  st.readonly = fdd->protect;
                   fh = file_open_rb(st.fname);
                 if (fh != FILEH_INVALID) {                  if (fh != FILEH_INVALID) {
                         file_getdatetime(fh, &st.date, &st.time);                          file_getdatetime(fh, &st.date, &st.time);
                         file_close(fh);                          file_close(fh);
Line 500  static int flagsave_disk(STFLAGH sfh, co Line 503  static int flagsave_disk(STFLAGH sfh, co
         REG8    i;          REG8    i;
   
         ret = STATFLAG_SUCCESS;          ret = STATFLAG_SUCCESS;
         for (i=0; i<4; i++) {          for (i=0; i<MAX_FDDFILE; i++) {
                 ret |= disksave(sfh, fddfile_diskname(i), fddfile_diskprotect(i));                  ret |= disksave(sfh, fddfile + i);
         }          }
         (void)tbl;          (void)tbl;
         return(ret);          return(ret);
Line 517  static int diskcheck(STFLAGH sfh, const  Line 520  static int diskcheck(STFLAGH sfh, const 
         DOSTIME         time;          DOSTIME         time;
   
         ret = statflag_read(sfh, &st, sizeof(st));          ret = statflag_read(sfh, &st, sizeof(st));
         if (st.path[0]) {          if (st.fname[0]) {
                 fh = file_open_rb(st.path);                  fh = file_open_rb(st.fname);
                 if (fh != FILEH_INVALID) {                  if (fh != FILEH_INVALID) {
                         file_getdatetime(fh, &date, &time);                          file_getdatetime(fh, &date, &time);
                         file_close(fh);                          file_close(fh);
Line 545  static int flagcheck_disk(STFLAGH sfh, c Line 548  static int flagcheck_disk(STFLAGH sfh, c
         OEMCHAR buf[8];          OEMCHAR buf[8];
   
         ret = 0;          ret = 0;
         for (i=0; i<4; i++) {          for (i=0; i<MAX_FDDFILE; i++) {
                 OEMSPRINTF(buf, str_fddx, i+1);                  OEMSPRINTF(buf, str_fddx, i+1);
                 ret |= diskcheck(sfh, buf);                  ret |= diskcheck(sfh, buf);
         }          }
Line 560  static int flagload_disk(STFLAGH sfh, co Line 563  static int flagload_disk(STFLAGH sfh, co
         STATDISK        st;          STATDISK        st;
   
         ret = STATFLAG_SUCCESS;          ret = STATFLAG_SUCCESS;
         for (i=0; i<4; i++) {          for (i=0; i<MAX_FDDFILE; i++) {
                 ret |= statflag_read(sfh, &st, sizeof(st));                  ret |= statflag_read(sfh, &st, sizeof(st));
                 if (st.path[0]) {                  if (st.fname[0]) {
                         fddfile_set(i, st.path, FTYPE_NONE, st.readonly);                          fddfile_set(i, st.fname, st.ftype, st.readonly);
                 }                  }
         }          }
         (void)tbl;          (void)tbl;
Line 592  static int flagcheck_veronly(STFLAGH sfh Line 595  static int flagcheck_veronly(STFLAGH sfh
   
 // ----  // ----
   
 int statsave_save(const char *filename) {  int statsave_save(const OEMCHAR *filename) {
   
         SFFILEH         sffh;          SFFILEH         sffh;
         int                     ret;          int                     ret;
Line 629  const SFENTRY *tblterm; Line 632  const SFENTRY *tblterm;
         return(ret);          return(ret);
 }  }
   
 int statsave_check(const char *filename, char *buf, int size) {  int statsave_check(const OEMCHAR *filename, OEMCHAR *buf, UINT size) {
   
         SFFILEH         sffh;          SFFILEH         sffh;
         int                     ret;          int                     ret;
Line 685  const SFENTRY *tblterm; Line 688  const SFENTRY *tblterm;
         return(ret);          return(ret);
 }  }
   
 int statsave_load(const char *filename) {  int statsave_load(const OEMCHAR *filename) {
   
         SFFILEH         sffh;          SFFILEH         sffh;
         int                     ret;          int                     ret;
Line 759  const SFENTRY *tblterm; Line 762  const SFENTRY *tblterm;
         statflag_close(sffh);          statflag_close(sffh);
   
         memio_update();          memio_update();
         crtc_bankupdate();          crtc_update();
         crtc_regupdate();  
         sndboard_update();          sndboard_update();
   
         pal_reset();          pal_reset();

Removed from v.1.1  
changed lines
  Added in v.1.5


RetroPC.NET-CVS <cvs@retropc.net>