          <<< NOTED::DISK$NOTES7:[NOTES$LIBRARY_7OF4]HACKERS.NOTE;1 >>>
                               -< ** Hackers ** >-
================================================================================
Note 1533.59          Announcing DFU Disk and File Utility              59 of 76
EPS::VANDENHEUVEL "Things that make you think, Hmm" 139 lines  13-SEP-1995 12:30
--------------------------------------------------------------------------------

> That's why I am just throwing this idea of a new qualifier for DFU (see subject).
    
    Hey, go for it! The sources are on the Freeware CD.
    
    Some hints are included :-) (Fitted readily into lunch break)
    
    Hein.
    
************
File HEER$DKA100:[VANDENHEUVEL.DFU.SRC]DFU_TABLES.CLD;40
   34   DEFINE TYPE version_number_type
   35      KEYWORD minimum,LABEL=vers_min,VALUE (REQUIRED,TYPE=$NUMBER)
   36      KEYWORD maximum,LABEL=vers_max,VALUE (REQUIRED,TYPE=$NUMBER)
   37   
   38   DEFINE TYPE match_type
******
File HEER$DKA100:[VANDENHEUVEL.DFU.SRC]DFU_TABLES.CLD;38
   34   DEFINE TYPE match_type
************
************
File HEER$DKA100:[VANDENHEUVEL.DFU.SRC]DFU_TABLES.CLD;40
  116   	QUALIFIER version_number,LABEL=version_number,NONNEGATABLE,
  117   		VALUE (LIST,TYPE=version_number_type)
  118   	QUALIFIER full,LABEL=full,NONNEGATABLE
******
File HEER$DKA100:[VANDENHEUVEL.DFU.SRC]DFU_TABLES.CLD;38
  112   	QUALIFIER full,LABEL=full,NONNEGATABLE
************
************
File HEER$DKA100:[VANDENHEUVEL.DFU.SRC]DFU_TABLES.CLD;40
  231   	QUALIFIER versions,LABEL=versions,VALUE(REQUIRED,TYPE=$NUMBER)
  232   	disallow test and not compress
  233   	disallow any2(dump,compress,versions,create)
  234   	disallow any2(dump,compress,alias,create)
******
File HEER$DKA100:[VANDENHEUVEL.DFU.SRC]DFU_TABLES.CLD;38
  225   	QUALIFIER version,LABEL=version,VALUE(REQUIRED,TYPE=$NUMBER)
  226   	disallow test and not compress
  227   	disallow any2(dump,compress,version,create)
  228   	disallow any2(dump,compress,alias,create)
************
************
File HEER$DKA100:[VANDENHEUVEL.DFU.SRC]DFU_TABLES.CLD;40
  239   	disallow versions and device
  240           disallow empty and device
******
File HEER$DKA100:[VANDENHEUVEL.DFU.SRC]DFU_TABLES.CLD;38
  233   	disallow version and device
  234           disallow empty and device
************

Number of difference sections found: 4
Number of difference records found: 10

DIFFERENCES /IGNORE=()/MERGED=1/OUTPUT=HEER$DKA100:[VANDENHEUVEL.DFU.SRC]Y.TMP;1-
    HEER$DKA100:[VANDENHEUVEL.DFU.SRC]DFU_TABLES.CLD;40-
    HEER$DKA100:[VANDENHEUVEL.DFU.SRC]DFU_TABLES.CLD;38
************
File HEER$DKA100:[VANDENHEUVEL.DFU.SRC]DFU_IFSCAN.C;86
  154     Boolean matmult, dispfull, matsumm, matplaced, matnovolset,matversion,
  155       matnosearch, mathome, matstat, matalloc, dummy, matlbn,
******
File HEER$DKA100:[VANDENHEUVEL.DFU.SRC]DFU_IFSCAN.C;85
  154     Boolean matmult, dispfull, matsumm, matplaced, matnovolset,
  155       matnosearch, mathome, matstat, matalloc, dummy, matlbn,
************
************
File HEER$DKA100:[VANDENHEUVEL.DFU.SRC]DFU_IFSCAN.C;86
  163       retr_min, retr_max, hdrs, rtvptr, lbn, vers_min, vers_max;
  164     int parse_item(), read_indexf_multi(), dfu_check();
******
File HEER$DKA100:[VANDENHEUVEL.DFU.SRC]DFU_IFSCAN.C;85
  163       retr_min, retr_max, hdrs, rtvptr, lbn;
  164     int parse_item(), read_indexf_multi(), dfu_check();
************
************
File HEER$DKA100:[VANDENHEUVEL.DFU.SRC]DFU_IFSCAN.C;86
  274     status = parse_item("version_number", &dummy_descr, 0, &matversion, 2);
  275     if (matversion == TRUE) 
  276     { vers_min = 0; vers_max = 0;
  277       status = parse_item("vers_min", &dummy_descr, &vers_min, &matfragment , 1);
  278       if ((status & 1) != 1) return(status); 
  279       status = parse_item("vers_max", &dummy_descr, &vers_max, &matfragment , 1);
  280       if ((status & 1) != 1) return(status); 
  281       matversion = TRUE;
  282     }
  283   /* Date and time options */
******
File HEER$DKA100:[VANDENHEUVEL.DFU.SRC]DFU_IFSCAN.C;85
  274   /* Date and time options */
************
************
File HEER$DKA100:[VANDENHEUVEL.DFU.SRC]DFU_IFSCAN.C;86
  540   	if (matname || matexcl || matversion)
  541           { memcpy(&name[0],id->filename,20);
******
File HEER$DKA100:[VANDENHEUVEL.DFU.SRC]DFU_IFSCAN.C;85
  531   	if (matname || matexcl)
  532           { memcpy(&name[0],id->filename,20);
************
************
File HEER$DKA100:[VANDENHEUVEL.DFU.SRC]DFU_IFSCAN.C;86
  545   	if (matversion == TRUE)
  546   	{
  547             name[name_descr.dsc$w_length]=0;
  548   	  j = atol ( &name[strindex(name,";",86)+1] );
  549   	  if ( j < vers_min) goto nexti;
  550   	  if ( vers_max != 0) if ( j > vers_max ) goto nexti;
  551   	}
  552   	if (matname == TRUE)
******
File HEER$DKA100:[VANDENHEUVEL.DFU.SRC]DFU_IFSCAN.C;85
  536   	if (matname == TRUE)
************

Number of difference sections found: 5
Number of difference records found: 19

DIFFERENCES /IGNORE=()/MERGED=1/OUTPUT=HEER$DKA100:[VANDENHEUVEL.DFU.SRC]DFU_IFSCAN.TMP;1-
    HEER$DKA100:[VANDENHEUVEL.DFU.SRC]DFU_IFSCAN.C;86-
    HEER$DKA100:[VANDENHEUVEL.DFU.SRC]DFU_IFSCAN.C;85
************
File HEER$DKA100:[VANDENHEUVEL.DFU.SRC]DFU_FILEDIR.C;135
 1066     status = parse_item("versions", &dummy_descr, &version, &matversion, 1);
 1067   /* Allocate size  */
******
File HEER$DKA100:[VANDENHEUVEL.DFU.SRC]DFU_FILEDIR.C;134
 1066     status = parse_item("version", &dummy_descr, &version, &matversion, 1);
 1067   /* Allocate size  */
************

Number of difference sections found: 1
Number of difference records found: 1

DIFFERENCES /IGNORE=()/MERGED=1/OUTPUT=HEER$DKA100:[VANDENHEUVEL.DFU.SRC]X.TMP;1-
    HEER$DKA100:[VANDENHEUVEL.DFU.SRC]DFU_FILEDIR.C;135-
    HEER$DKA100:[VANDENHEUVEL.DFU.SRC]DFU_FILEDIR.C;134

