On Thu, Feb 13, 2014 at 06:08:41PM +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 | 6 ++++-- > 1 file changed, 4 insertions(+), 2 deletions(-) > > diff --git a/lib/logger.c b/lib/logger.c > index 8be2bfd..af7b32a 100644 > --- a/lib/logger.c > +++ b/lib/logger.c > @@ -741,9 +741,11 @@ static bool check_gdb(void) > return system("which gdb > /dev/null") == 0; > } > > +#define SD_ARG_MAX (sysconf(_SC_ARG_MAX)) > + > static int gdb_cmd(const char *cmd) > { > - char time_str[256], cmd_str[ARG_MAX]; > + char time_str[256], cmd_str[SD_ARG_MAX]; > time_t ti; > struct tm tm; > > @@ -794,7 +796,7 @@ void sd_backtrace(void) > > for (i = 1; i < n; i++) { /* addrs[0] is here, so skip it */ > void *addr = addrs[i]; > - char cmd[ARG_MAX], info[256], **str; > + char cmd[SD_ARG_MAX], info[256], **str; > FILE *f; > > /* > -- > 1.7.12.4 > > -- > sheepdog mailing list > sheepdog at lists.wpkg.org > http://lists.wpkg.org/mailman/listinfo/sheepdog Applied thanks Yuan |