[BusyBox] my_getpw(u/g)id

Vladimir N. Oleynik dzo at simtreas.ru
Mon Sep 6 09:17:17 UTC 2004


Tito,

> 4) I see some differences between GNU id / my_id and the patched one:
> user: pippo, uid 502, gid 504,  default group pippo:504 in /etc/group deleted
> ./busybox id pippo
> my:     uid=502(pippo) gid=504
> GNU:  uid=502(pippo) gid=504 groups=504
> vodz:  uid=502(pippo) gid=504(504)

Oops.I have overlooked to correct the most interesting.

         my_getpug_flags = MY_GETPUG_INTERNAL_LIBC_BUF;
+       if((flags & (JUST_USER | JUST_GROUP)) == 0)
+               my_getpug_flags |= MY_GETPUG_RET_NULL_IF_IDNAME_NOT_EXIST;
         if(flags & NAME_NOT_NUMBER)
                 my_getpug_flags |= MY_GETPUG_IDNAME_MUST_EXIST;

         if(flags & JUST_GROUP) {
PRINT:
-               if(flags & NAME_NOT_NUMBER)
-                       puts(group);
-               else
-                       printf ("%u\n", gid);
+               puts(group);
                 bb_fflush_stdout_and_exit(EXIT_SUCCESS);
         }


Its demostrate size win.


--w
vodz



More information about the busybox mailing list