works with custom tree dir.

This commit is contained in:
Norayr Chilingarian 2022-01-20 01:04:00 +04:00
parent 208f1d777b
commit 2813f7ce44
3 changed files with 25 additions and 4 deletions

View file

@ -3,6 +3,7 @@ IMPORT Files, Platform, Strings, Out, vpkSettings, vpkFiles, StringList;
VAR VAR
conf, confDir : ARRAY 256 OF CHAR; conf, confDir : ARRAY 256 OF CHAR;
pkgTreeDir: POINTER TO ARRAY OF CHAR;
PROCEDURE getHome*(VAR path: ARRAY OF CHAR); PROCEDURE getHome*(VAR path: ARRAY OF CHAR);
BEGIN BEGIN
@ -149,11 +150,24 @@ BEGIN
RETURN vpkFiles.Exists(file); RETURN vpkFiles.Exists(file);
END checkConfig; END checkConfig;
PROCEDURE setTreeDir*(VAR path: ARRAY OF CHAR);
VAR
ln: INTEGER;
BEGIN
ln := Strings.Length(path) + 1;
NEW(pkgTreeDir, ln);
COPY (path, pkgTreeDir^);
END setTreeDir;
PROCEDURE getTreeDir*(VAR path: ARRAY OF CHAR); PROCEDURE getTreeDir*(VAR path: ARRAY OF CHAR);
BEGIN BEGIN
IF pkgTreeDir = NIL THEN
COPY(confDir, path); COPY(confDir, path);
Strings.Append("/", path); Strings.Append("/", path);
Strings.Append(vpkSettings.vpkTreeDir, path); Strings.Append(vpkSettings.vpkTreeDir, path);
ELSE
COPY(pkgTreeDir^, path);
END
END getTreeDir; END getTreeDir;
PROCEDURE checkEnv*; PROCEDURE checkEnv*;
@ -187,5 +201,5 @@ END checkEnv;
BEGIN BEGIN
setConfFileName; setConfFileName;
pkgTreeDir := NIL;
END vpkEnv. END vpkEnv.

View file

@ -195,6 +195,8 @@ BEGIN
opts.valOfOpt("-P", foptions, prefix); opts.valOfOpt("-P", foptions, prefix);
opts.valOfOpt("-t", foptions, pkgTree); opts.valOfOpt("-t", foptions, pkgTree);
IF pkgTree # "" THEN vpkConf.setTreeDir(pkgTree) END;
IF sync THEN IF sync THEN
vpkSyncer.sync vpkSyncer.sync
ELSE ELSE

View file

@ -73,4 +73,9 @@ BEGIN
END; END;
END getConfigTreeVal; END getConfigTreeVal;
PROCEDURE setTreeDir*(VAR a: ARRAY OF CHAR);
BEGIN
vpkEnv.setTreeDir(a)
END setTreeDir;
END vpkConf. END vpkConf.