[684] | 1 | VWHSH0 ;;GpZ; - ; IMPROVED HASHING UTILITY: MAIN INSTALL MODULE; 01/08/2010
|
---|
| 2 | V ;;8.0;KERNEL;;Jul 10, 1995
|
---|
| 3 | ;; VWHSH
|
---|
| 4 | CHECK ;;
|
---|
| 5 | N %S,%D,%ZR,HSH,HASH,HASHLIST,MUMPS,OS,PATH,SCR,ZTOS
|
---|
| 6 | DO
|
---|
| 7 | . IF $$EN^XUSHSH("TEST")="TEST" S HASH="NONE" QUIT
|
---|
| 8 | . S HASH=$P($G(^%ZOSF("HASHLIST")),"|") ; ID installed HASH from earlier version.
|
---|
| 9 | . S HASH=$S($$EN^XUSHSH("TEST")="TEST":"NONE",$L($G(HASH))>0:HASH,1:"LEGACY") ; query current XUSHSH
|
---|
| 10 | DO DEFHASH
|
---|
| 11 | IF HASHLIST'[" MD5 " S ABORT="gpg FAILURE; CHECK for gnupg dependency & its PATH" GOTO ABORT
|
---|
| 12 | S %S=$S(ZTOS=8:"VWHSHGTM",HASHLIST["Linux":"VWHSHCLX",1:"VWHSHCWN")
|
---|
| 13 | S %D="XUSHSH",U="^",SCR="I 1"
|
---|
| 14 | IF $T(^VWHSHLEG)="" S %S="XUSHSH^"_%S,%D="VWHSHLEG^"_%D
|
---|
| 15 | ; preserve old ^XUSHSH as ^VWHSHLEG
|
---|
| 16 | S U="^",SCR="I 1"
|
---|
| 17 | DO MOVE^ZTMGRSET
|
---|
| 18 | QUIT
|
---|
| 19 | ;
|
---|
| 20 | DEFHASH ;; Entry point for changing default hash.
|
---|
| 21 | IF '$L($G(HASH)) DO
|
---|
| 22 | . S HASH=$P($G(^%ZOSF("HASHLIST")),"|")
|
---|
| 23 | . QUIT:$L($G(HASH))
|
---|
| 24 | . S:$T(^VWHSHLEG)>"" HASH=$S($$EN^VWHSHLEG("TEST")="TEST":"NONE",1:"LEGACY")
|
---|
| 25 | . QUIT:$L($G(HASH))
|
---|
| 26 | . S HASH="LEGACY" ; hard-coded default hash is LEGACY
|
---|
| 27 | . QUIT
|
---|
| 28 | S HASH=$TR(HASH,"abcdefghijklmnopqrstuvwxyz- ","ABCDEFGHIJKLMNOPQRSTUVWXYZ")
|
---|
| 29 | S MUMPS=^%ZOSF("OS"),ZTOS=$S(MUMPS["GT.M":8,MUMPS["OpenM":3)
|
---|
| 30 | ; SHOULD ERROR IF neither GTM nor Cache.
|
---|
| 31 | S HASHLIST=HASH_"||"_$$INIT^@("VWHSH"_ZTOS)()
|
---|
| 32 | S ^%ZOSF("HASHLIST")=HASHLIST
|
---|
| 33 | QUIT
|
---|
| 34 | ;
|
---|
| 35 | ABORT ;; Failed to find gpg hashes.
|
---|
| 36 | U 0 W !,ABORT,! W $G(^%ZOSF("HASHLIST")),!
|
---|