34 lines
1.0 KiB
Mathematica
34 lines
1.0 KiB
Mathematica
|
VWHSH3 ;;GpZ; - ; IMPROVED HASHING UTILITY: INSTALL MODULE, OpenM; 01/08/2010
|
||
|
V ;;8.0;KERNEL;;Jul 10, 1995
|
||
|
;
|
||
|
QUIT
|
||
|
;
|
||
|
INIT() S MUMPS=^%ZOSF("OS"),OS=$$OPENM("uname -o","Linux")
|
||
|
IF OS'["Linux" S OS=$$OPENM("Ver","Microsoft") DO
|
||
|
. S PIPE="PATH"
|
||
|
. OPEN PIPE:"Q" USE PIPE READ PATH CLOSE PIPE
|
||
|
. S PATH=PATH_";C:\""Program Files""\GNU\GnuPG\"
|
||
|
. F I=1:1:$L(PATH,";") Q:($P(PATH,";",I)["GnuPG")
|
||
|
. S PATH=$P(PATH,";",I)
|
||
|
ELSE S PATH=$P($P($$OPENM("whereis gpg","gpg")," ",2),"gpg")
|
||
|
S ZUT=$ZUTIL(68,40,1)
|
||
|
S PIPE=$G(PATH)_"gpg --version"
|
||
|
OPEN PIPE:"Q"
|
||
|
F I=1:1:20 USE PIPE R HASHLIST QUIT:$ZEOF<0 D:HASHLIST["'gpg' is not recognized" q:HASHLIST["Hash:"
|
||
|
. S HASHLIST="Hash:gpg_not_found:gpg_HASHES_not_available"
|
||
|
CLOSE PIPE
|
||
|
S ZUT=$ZUTIL(68,40,ZUT)
|
||
|
S HASHLIST=HASHLIST
|
||
|
S HASHLIST=$TR($P(HASHLIST,"Hash:",2),",")
|
||
|
S HASHLIST=HASHLIST_" ||"_PATH_"||"_MUMPS_OS_"||"
|
||
|
QUIT HASHLIST
|
||
|
;
|
||
|
OPENM(PIPE,SEEKING) ;;
|
||
|
N (PIPE,SEEKING)
|
||
|
S ZUT=$ZUTIL(68,40,1)
|
||
|
OPEN PIPE:"Q"
|
||
|
F I=1:1:4 USE PIPE READ X Q:$ZEOF<0 Q:X[SEEKING
|
||
|
CLOSE PIPE
|
||
|
S ZUT=$ZUTIL(68,40,ZUT)
|
||
|
QUIT X
|