Changeset 1556 for trunk/dll/avl.c


Ignore:
Timestamp:
Nov 22, 2010, 12:17:01 AM (15 years ago)
Author:
Gregg Young
Message:

Check if archiver.bb2 has been changed on disk before editing (ticket 441)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/dll/avl.c

    r1546 r1556  
    4646#include <ctype.h>
    4747#include <share.h>
     48#include <sys/stat.h>
    4849
    4950#define INCL_DOS
     
    8687BOOL arcsigsloaded;
    8788BOOL arcsigsmodified;
     89static struct stat Archiverbb2Stats;
    8890
    8991#define ARCHIVER_LINE_BYTES     256
     
    378380    return -1;
    379381  }
     382  stat(psz, &Archiverbb2Stats);
    380383  fp = xfsopen(psz, moder, SH_DENYWR, pszSrcFile, __LINE__, TRUE);
    381384  DosReleaseMutexSem(hmtxFM2Globals);
     
    783786    if (!arcsigsloaded)
    784787      load_archivers();
     788    else {
     789      struct stat Buffer;
     790
     791      stat(searchpath(PCSZ_ARCHIVERBB2), &Buffer);
     792      if (Archiverbb2Stats.st_size != Buffer.st_size ||
     793          Archiverbb2Stats.st_mtime != Buffer.st_mtime)       
     794        if (saymsg(MB_YESNO,                                   
     795                   hwnd,
     796                   GetPString(IDS_ADCHANGESONDISKTEXT),
     797                   GetPString(IDS_ADRELOADMEMTEXT)) == MBID_YES)
     798          load_archivers();
     799    }
    785800    if (!(ARC_TYPE **) mp2) {
    786801      Runtime_Error(pszSrcFile, __LINE__, NULL);
Note: See TracChangeset for help on using the changeset viewer.