[BusyBox] CONFIG_USE_BB_PWD_GRP is broken in CVS head

Robert Griebl griebl at gmx.de
Sun May 26 15:15:03 UTC 2002


Hi all,

I found some errors regarding the pwd/grp function handling in BusyBox. 

1) Why is the config setting for BB/libc functions in the group "Login/... 
utils" ? 
Do a 'find <bb dir> -name "*.c" | xargs grep getpw' and you will see that 
many applets use this functionality -- IMHO this config should be moved to 
"General settings"

2) I think the pwd_grp/libpwd_grp files should then be moved to libbb (and 
libbb/Makefile.in should obey the CONFIG_ settings)

3) The config is named "CONFIG_USE_BB_PWD_GRP" and the headers include/pwd.h 
and include/grp.h check for "USE_SYSTEM_PWD_GRP"

4) Even if you correct 3) and specify "#undef CONFIG_USE_BB_PWD_GRP", the 
system header files are NOT included. Here is an excerpt from 'info cpp':
[...]
writing `#include <sys/signal.h>' in that file doesn't work,
because it includes your own version of the file, not the standard
system version.  Used in that file itself, this leads to an infinite
recursion and a fatal error in compilation.
[...] 
   The clean way to solve this problem is to use `#include_next', which
means, "Include the _next_ file with this name."
[...]

Changing the #include to #include_next really solves the problem -- is this 
ok to go in, even if it is not "normal, everyday" C syntax ?

--
cu
Robert

--
Real programmers dont write documentation -
leave that to the maintenance people.



More information about the busybox mailing list