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
conf, confDir : ARRAY 256 OF CHAR;
pkgTreeDir: POINTER TO ARRAY OF CHAR;
PROCEDURE getHome*(VAR path: ARRAY OF CHAR);
BEGIN
@ -149,11 +150,24 @@ BEGIN
RETURN vpkFiles.Exists(file);
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);
BEGIN
COPY(confDir, path);
Strings.Append("/", path);
Strings.Append(vpkSettings.vpkTreeDir, path);
IF pkgTreeDir = NIL THEN
COPY(confDir, path);
Strings.Append("/", path);
Strings.Append(vpkSettings.vpkTreeDir, path);
ELSE
COPY(pkgTreeDir^, path);
END
END getTreeDir;
PROCEDURE checkEnv*;
@ -187,5 +201,5 @@ END checkEnv;
BEGIN
setConfFileName;
pkgTreeDir := NIL;
END vpkEnv.

View file

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

View file

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