]> gitweb.factorcode.org Git - factor.git/commitdiff
Fix user-name in unix.users, add unit test
authorDoug Coleman <doug.coleman@gmail.com>
Fri, 5 Feb 2010 03:50:33 +0000 (21:50 -0600)
committerDoug Coleman <doug.coleman@gmail.com>
Fri, 5 Feb 2010 04:14:53 +0000 (22:14 -0600)
basis/unix/groups/groups.factor
basis/unix/users/users-tests.factor
basis/unix/users/users.factor

index c34affb9c33344c0dc0025faa85982498491a9ab..b009fe529fca0e4d1fd459da38fa54ac20a09c2c 100644 (file)
@@ -59,7 +59,7 @@ PRIVATE>
     [ nip ] [ number>string ] if* ;
 
 : group-id ( string -- id/f )
-    group-struct [ gr_gid>> ] [ f ] if* ;
+    group-struct dup [ gr_gid>> ] when ;
 
 <PRIVATE
 
index cf3747b346a65600641bd1de8173a0f4f5256df5..f2059a1a8c51c7bb74b03abcb258b3d478b65169 100644 (file)
@@ -25,3 +25,5 @@ IN: unix.users.tests
 [ "9999999999999999999" ] [ 9999999999999999999 user-name ] unit-test
 
 [ f ] [ 89898989898989898989898989898 user-passwd ] unit-test
+
+[ f ] [ "thisusershouldnotexistabcdefg12345asdfasdfasdfasdfasdfasdfasdf" user-id ] unit-test
index adf7f5ce4f320f63911dd72ca5f8d4a718ab6fb2..5de176e2424cab7cad635cc40dec93470234a638 100644 (file)
@@ -61,8 +61,8 @@ M: string user-passwd ( string -- passwd/f )
     dup user-passwd
     [ nip user-name>> ] [ number>string ] if* ;
 
-: user-id ( string -- id )
-    user-passwd uid>> ;
+: user-id ( string -- id/f )
+    user-passwd dup [ uid>> ] when ;
 
 : real-user-id ( -- id )
     unix.ffi:getuid ; inline