On Tue, Feb 11, 2014 at 03:10:37PM +0800, Robin Dong wrote: > From: Robin Dong <sanbai at taobao.com> > > When build sheepdog in centos6, it will report: > > logger.c: In function ‘gdb_cmd’: > logger.c:746: error: ‘ARG_MAX’ undeclared (first use in this function) > logger.c:746: error: (Each undeclared identifier is reported only once > logger.c:746: error: for each function it appears in.) > logger.c:746: warning: unused variable ‘cmd_str’ > logger.c: In function ‘sd_backtrace’: > logger.c:797: error: ‘ARG_MAX’ undeclared (first use in this function) > logger.c:797: warning: unused variable ‘cmd’ > > the reason has been explained here: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=518858 > and the standard revolution is using 'sysconf()'. > > Signed-off-by: Robin Dong <sanbai at taobao.com> > --- > lib/logger.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/lib/logger.c b/lib/logger.c > index 8be2bfd..af2720b 100644 > --- a/lib/logger.c > +++ b/lib/logger.c > @@ -743,7 +743,7 @@ static bool check_gdb(void) > > static int gdb_cmd(const char *cmd) > { > - char time_str[256], cmd_str[ARG_MAX]; > + char time_str[256], cmd_str[sysconf(_SC_ARG_MAX)]; Better introduce #define SD_ARG_MAX sysconf(_SC_ARG_MAX); Thanks Yuan |