changed: #primUserInfoOf:
authorStefan Vogel <sv@exept.de>
Mon, 12 Apr 2010 19:07:56 +0200
changeset 12870 a2e6de216c3b
parent 12869 1976f873e0de
child 12871 4b2f341b457d
changed: #primUserInfoOf:
UnixOperatingSystem.st
--- a/UnixOperatingSystem.st	Mon Apr 12 18:30:42 2010 +0200
+++ b/UnixOperatingSystem.st	Mon Apr 12 19:07:56 2010 +0200
@@ -9052,13 +9052,13 @@
      entries (i.e. not just the name), separated by commas. You may want to
      extract any substring, up to the first comma to get the real life name."
 
-    |returnArray|
 
 %{ /* UNLIMITEDSTACK */  /* Don't know whether NIS, LDAP or whatever is consulted */
 #if !defined(NO_PWD)
     struct passwd *result = 0;
     int ret;
     int idx = 0;
+    OBJ returnArray;
     OBJ tmp;
 
 #if defined(_POSIX_SOURCE)
@@ -9080,6 +9080,7 @@
 
     if (result) {
         returnArray = __MKARRAY(20);
+        __PROTECT__(returnArray);
         tmp = __MKSTRING(result->pw_name);
         __arrayVal(returnArray)[idx++] = @symbol(name);
         __arrayVal(returnArray)[idx++] = tmp; __STORE(returnArray, tmp);
@@ -9113,10 +9114,12 @@
 
         __arrayVal(returnArray)[idx++] = @symbol(gid);
         __arrayVal(returnArray)[idx++] = __mkSmallInteger(result->pw_gid);
+        __UNPROTECT__(returnArray);
+        RETURN(returnArray);
     }
 # endif /* ! NO_PWD */
 %}.
-    ^ returnArray
+    ^ nil
 
     "
      OperatingSystem primUserInfoOf:'root'
@@ -12706,11 +12709,11 @@
 !UnixOperatingSystem class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libbasic/UnixOperatingSystem.st,v 1.271 2010-04-12 12:11:14 stefan Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic/UnixOperatingSystem.st,v 1.272 2010-04-12 17:07:56 stefan Exp $'
 !
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libbasic/UnixOperatingSystem.st,v 1.271 2010-04-12 12:11:14 stefan Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic/UnixOperatingSystem.st,v 1.272 2010-04-12 17:07:56 stefan Exp $'
 ! !
 
 UnixOperatingSystem initialize!