[sheepdog] [PATCH] lib: fix compile error in logger.c

Liu Yuan namei.unix at gmail.com
Wed Feb 12 08:02:18 CET 2014


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


More information about the sheepdog mailing list