aboutsummaryrefslogtreecommitdiff
path: root/sandbox/testAppNevena/Front/node_modules/tar/lib/strip-absolute-path.js
diff options
context:
space:
mode:
authorDanijel Andjelkovic <adanijel99@gmail.com>2022-03-01 21:54:41 +0100
committerDanijel Andjelkovic <adanijel99@gmail.com>2022-03-01 21:54:41 +0100
commit6c8128f9fd5a5d0be115806c35a21b3d683df8d6 (patch)
treef46c2f6b3b9b294ff32bd75c08ccdc9e7a8cc4ef /sandbox/testAppNevena/Front/node_modules/tar/lib/strip-absolute-path.js
parent2400b84e95913665da6279114168148444b8f9ab (diff)
parent7d3640f824f46490b47bd95f1c5a16644f712068 (diff)
Merge branch 'dev' of http://gitlab.pmf.kg.ac.rs/igrannonica/neuronstellar into logo
Diffstat (limited to 'sandbox/testAppNevena/Front/node_modules/tar/lib/strip-absolute-path.js')
-rw-r--r--sandbox/testAppNevena/Front/node_modules/tar/lib/strip-absolute-path.js24
1 files changed, 24 insertions, 0 deletions
diff --git a/sandbox/testAppNevena/Front/node_modules/tar/lib/strip-absolute-path.js b/sandbox/testAppNevena/Front/node_modules/tar/lib/strip-absolute-path.js
new file mode 100644
index 00000000..1aa2d2ae
--- /dev/null
+++ b/sandbox/testAppNevena/Front/node_modules/tar/lib/strip-absolute-path.js
@@ -0,0 +1,24 @@
+// unix absolute paths are also absolute on win32, so we use this for both
+const { isAbsolute, parse } = require('path').win32
+
+// returns [root, stripped]
+// Note that windows will think that //x/y/z/a has a "root" of //x/y, and in
+// those cases, we want to sanitize it to x/y/z/a, not z/a, so we strip /
+// explicitly if it's the first character.
+// drive-specific relative paths on Windows get their root stripped off even
+// though they are not absolute, so `c:../foo` becomes ['c:', '../foo']
+module.exports = path => {
+ let r = ''
+
+ let parsed = parse(path)
+ while (isAbsolute(path) || parsed.root) {
+ // windows will think that //x/y/z has a "root" of //x/y/
+ // but strip the //?/C:/ off of //?/C:/path
+ const root = path.charAt(0) === '/' && path.slice(0, 4) !== '//?/' ? '/'
+ : parsed.root
+ path = path.substr(root.length)
+ r += root
+ parsed = parse(path)
+ }
+ return [r, path]
+}