Skip to content

Commit ee6f062

Browse files
committed
is_admin: work under more limitations
1 parent 444a6f7 commit ee6f062

File tree

2 files changed

+5
-4
lines changed

2 files changed

+5
-4
lines changed

+stdlib/is_admin.m

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,11 @@
1414
identity = System.Security.Principal.WindowsIdentity.GetCurrent();
1515
principal = System.Security.Principal.WindowsPrincipal(identity);
1616
y = principal.IsInRole(System.Security.Principal.WindowsBuiltInRole.Administrator);
17-
else
17+
elseif stdlib.has_java()
1818
y = com.sun.security.auth.module.UnixSystem().getUid() == 0;
19+
else
20+
[s, r] = system('id -u');
21+
y = s == 0 && strip(r) == "0";
1922
end
2023

2124
end

test/TestFileImpure.m

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -61,9 +61,7 @@ function test_get_pid(tc)
6161

6262

6363
function test_is_admin(tc)
64-
tc.assumeTrue(ispc() || stdlib.has_java() || stdlib.is_mex_fun("stdlib.is_admin"))
65-
66-
tc.verifyClass(stdlib.is_admin(), "logical")
64+
tc.verifyClass(stdlib.is_admin(), "logical")
6765
end
6866

6967

0 commit comments

Comments
 (0)