Sizelock Utility (AREV Specific)
At 08 FEB 1999 04:40:49PM Warren wrote:
Years ago during the ARev 2.0x/2.1x era either Stephan Thomas or David Harmacek (forgive me if I've spelled your names incorrectly) uploaded to the CompuServe library a program/utility to audit the sizelock parameters on all the files.
I appear to have misplaced my working copy and my archive copy is still on QIC tape (I thought I had transfered this tape to CD-ROM - wrong). Getting my QIC drive out of storage I discovered it is no longer usable since the rubber drive roller has gotten sticky with age.
Granted it is probably easy enough to write an OSBREAD routine to do this but a) why reinvent the wheel and b) I'd have to dig up my documentation on the file header layouts.
I suppose you can use LH_VERIFY to do it also, but that takes so long to run on huge systems.
If anybody has copy of this utility handy please let me know and I'll give you an e-mail address to send it to.
At 09 FEB 1999 07:56AM Mike Ruane, WinWin Solutions Inc. wrote:
Here it is:
subroutine sizelock(fileName, newValue, oldValue, flag)
/
VERSION : Advanced Revelation 2.0PURPOSE : Allows you to change the sizelock via a subroutine callAUTHOR :CREATED : April 19, 1993PROCEDURES :WARNINGS :THEORY OF OPERATION :Pass a value, and it becomes the sizelock. We'llhand back the old value in case it is just atemporary change. If newValue is null, then leavesizelock alone.REVISION HISTORY (Most CURRENT first) :DATE IMPLEMENTOR FUNCTION
——- ———– ——–MM-DD-YY initials Modification/
*÷ $INSERT Blocks :
*÷ EQUATE Variables (Terminate with '$') :
EQU TRUE$ TO 1
EQU FALSE$ TO 0
EQU YES$ TO 1
EQU NO$ TO 0
EQU OTHERWISE$ TO 1
EQU NULL$ TO ""
EQU SPACE$ TO \20\
EQU BACKTOVM TO \42FD\
EQU BACKTOSVM TO \42FC\
*÷ COMMON Variables (Terminate with '%') :
*÷ LABELED COMMON Variables (Terminate with '@') :
*÷ MESSAGES called (Terminate with '$') :
*÷ DECLARED - FUNCTIONS called :
*÷ DECLARED - SUBROUTINES called :
declare subroutine fsmsg, msg
/*
÷ INDIRECT - FUNCTIONS/SUBROUTINES called if known (Make COMMENTS) :
*/
*÷÷ PROGRAM TOP
FILENAME=AUTH_DET'
NEWVALUE=0'
flag=FALSE$
open fileName to handle else
flag=TRUE$end
ohandle=handle
if flag else
fh=handle-1,BACKTOVMif fh=S' thenhandle-1, -2='fh=handle-1,BACKTOVMendhandle=fhn=seq(handle1,1)dosName=handlen+1,9999osopen dosName to dosHandle else[email protected]endif flag elsecounter=0looplock ohandle, 0, 04 thenlocked=TRUE$end elselocked=FALSE$counter += 1enduntil locked or counter ] 100repeatif locked thenosbread sizelock from dosHandle at 20 length 2oldvalue=SEQ(SIZELOCK2,1)*256 + SEQ(SIZELOCK1,1)if len(newValue) thenif newValue1,1=+' or newValue1,1=-' thennewValue=oldValue + newValueendSIZELOCK=CHAR(MOD(NEWVALUE,256)):CHAR(INT(NEWVALUE/256))osbwrite sizelock on dosHandle at 20endunlock ohandle, 0, 04 elseflag=status()endend elseflag=status()endendend
*
I think this was from a set of tools from the Pope……
Hope it helps-
Mike Ruane
WinWin Solutions Inc.
WWW.WinWinSol.com
At 09 FEB 1999 10:28AM Warren wrote:
Thanks! I think it was one of our bow-tied guru's gems.
I wish RTI would put the CompuServe libraries on-line via FTP…
At 09 FEB 1999 06:22PM Victor Engel wrote:
Note that this routine will not work if you are using the REVELATION user for additional security, unless you have logged on to the network with scan/write access to the file, since OS level functions are being used. Of course, neither does DUMP.
At 09 FEB 1999 08:09PM Bob Carten, WinWin Solutions, Inc. wrote:
The developer utilities disks are all at this site, demos and downloads…Patches and upgrades … Utilities all.zip
Bob
At 10 FEB 1999 03:03PM Warren wrote:
I downloaded that file some time ago but didn't look at the contents. From the description I took it to be development tools that are included in the REVSRC directories as well as some of the old 'Advantage' development utilities (such as MFSINSTALL). I did not think it would include many of the third party utilities that were uploaded to the CompuServe libraries such as Stephen Thomas' LHFILE, QUICKATTACH, QUICKSORT or my INDEX_REBUILDER, PHONE_DIALER, or CLEAN_ACCOUNT utilities.
An index on the contents of this file would be helpful.
At 19 FEB 1999 05:07PM [email protected] - [url=http://www.sprezzatura.com]Sprezzatura, Inc.[/url] wrote:
There's one on the 5th disk of the Developer's Utility Disks.
At 23 FEB 1999 03:57PM Warren wrote:
Thanks, I'll have to look through those utils again. Maybe I'll index them and it can be added to the download section on the website.
P.S.: Did you dig up the utility to fix the displaced prompt display problems in Paint/Windows in ARev 3.12? I'm making major modifications to 3.12 screens and I'm sure it'll crop up again.
Thanks,
Warren
At 24 FEB 1999 10:56PM [email protected] - [url=http://www.sprezzatura.com]Sprezzatura, Inc.[/url] wrote:
Couldn't find it, but I'll do a heavy disk search over the weekend, I think it got lost in a chair. Don't ask. Anyway, if you want to mail me a window that has the problem, I can just whip it back up. It was only a couple dozen lines of code.
At 11 MAY 1999 04:36AM Oystein Reigem wrote:
Mike (or anybody who knows a little bit about LH table handles),
I suddenly needed a sizelock utility for OI. I searched the site, and found this one.
But I have a problem with the code that extracts the Dos LK file name).
subroutine sizelock(fileName, newValue, oldValue, flag)
… … …
VERSION : Advanced Revelation 2.0
… … …
AUTHOR : Mike Pope
… … …
CREATED : April 19, 1993
… … …
EQU BACKTOVM TO \42FD\
… … …
flag=FALSE$
open fileName to handle else
flag=TRUE$end
if flag else
Ok so far, but what about the following six lines?:
fh=handle-1,BACKTOVMif fh=S' thenhandle-1, -2='fh=handle-1,BACKTOVMendhandle=fhThe rest is probably OK:
n=seq(handle1,1)dosName=handlen+1,9999… … …
(Btw - I've decided to make my utility slightly different from this one. I want one that just lists all tables with sizelocks ] 0. But I still need that Dos handle.)
TIA.
- Oystein -
At 11 MAY 1999 11:51AM Victor Engel wrote:
File handles are not always built the same way, so you may wish to use a different approach. In the FILES (SYSTABLES) file, read the record with*':@account from the revmedia file else
read filename:'*GLOBAL' from the revmedia file.
Your DOS filename is in field 1 of this record.