Skip to content

Commit 1288a98

Browse files
committed
remove unneeded internal use of stdlib.join
1 parent 129c90c commit 1288a98

File tree

5 files changed

+27
-7
lines changed

5 files changed

+27
-7
lines changed

+stdlib/canonical.m

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@
4040
return
4141
else
4242
% workaround Java/Matlab limitations
43-
c = stdlib.join(pwd, c);
43+
c = stdlib.posix(pwd()) + "/" + c;
4444
end
4545
else
4646
% for non-existing path, return normalized relative path

+stdlib/expanduser.m

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,14 +15,21 @@
1515

1616
e = p;
1717

18+
1819
if ~startsWith(e, "~") || (strlength(e) > 1 && ~startsWith(e, "~/"))
1920
return
2021
end
2122

2223
home = stdlib.homedir(use_java);
2324

2425
if ~isempty(home)
25-
e = stdlib.join(home, strip(extractAfter(e, 1), "left", "/"));
26+
d = home;
27+
if strlength(e) < 2
28+
e = d;
29+
return
30+
end
31+
32+
e = d + "/" + strip(extractAfter(e, 1), "left", "/");
2633
end
2734

2835
end %function

+stdlib/which.m

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@
4343
for name = names
4444

4545
for p = fpath
46-
exe = stdlib.join(p, name);
46+
exe = stdlib.posix(p) + "/" + name;
4747
if stdlib.is_exe(exe, use_java)
4848
return
4949
end

+stdlib/with_suffix.m

Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,15 +6,26 @@
66
%%% Outputs
77
% * filename: modified filename
88

9-
function filename = with_suffix(filename, suffix)
9+
function f = with_suffix(filename, suffix)
1010
arguments
1111
filename (1,1) string
1212
suffix (1,1) string
1313
end
1414

15-
[direc, name, ext] = fileparts(filename);
16-
if ext ~= suffix
17-
filename = stdlib.join(direc, name + suffix);
15+
p = stdlib.parent(filename);
16+
s = stdlib.stem(filename);
17+
18+
if strlength(s) == 0
19+
f = stdlib.join(filename, suffix);
20+
return
21+
end
22+
23+
if p == "."
24+
f = s;
25+
else
26+
f = p + "/" + s;
1827
end
1928

29+
f = f + suffix;
30+
2031
end

test/TestFilePure.m

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -248,6 +248,8 @@ function test_with_suffix(tc)
248248
tc.verifyEqual(stdlib.with_suffix("c", ""), "c")
249249
tc.verifyEqual(stdlib.with_suffix("c.nc", ""), "c")
250250
tc.verifyEqual(stdlib.with_suffix("", ".nc"), ".nc")
251+
252+
tc.verifyEqual(stdlib.with_suffix("a//b///c///", ".h5"), "a/b/c/.h5")
251253
end
252254

253255

0 commit comments

Comments
 (0)