[ltt-dev] [PATCH] Remove format strings warnings when compiling on 32 bits

David Goulet david.goulet at polymtl.ca
Wed Jul 20 16:25:14 EDT 2011


Merged! Thanks

FIN
David

On 11-07-20 03:31 PM, simon.marchi at polymtl.ca wrote:
> From: Simon Marchi <simon.marchi at ericsson.com>
> 
> On 32 bits, %lu expects a 32 bits integer, so changed some %lu for PRIu64 when printing a 64 bits integer.
> 
> Signed-off-by: Simon Marchi <simon.marchi at polymtl.ca>
> ---
>  lttng/commands/enable_channels.c |    5 +++--
>  lttng/commands/enable_events.c   |   13 +++++++------
>  2 files changed, 10 insertions(+), 8 deletions(-)
> 
> diff --git a/lttng/commands/enable_channels.c b/lttng/commands/enable_channels.c
> index 1878096..efd075b 100644
> --- a/lttng/commands/enable_channels.c
> +++ b/lttng/commands/enable_channels.c
> @@ -24,6 +24,7 @@
>  #include <sys/stat.h>
>  #include <sys/types.h>
>  #include <unistd.h>
> +#include <inttypes.h>
>  
>  #include "../cmd.h"
>  #include "../conf.h"
> @@ -197,11 +198,11 @@ int cmd_enable_channels(int argc, const char **argv)
>  			break;
>  		case OPT_SUBBUF_SIZE:
>  			chan.attr.subbuf_size = atol(poptGetOptArg(pc));
> -			DBG("Channel subbuf size set to %lu", chan.attr.subbuf_size);
> +			DBG("Channel subbuf size set to %" PRIu64, chan.attr.subbuf_size);
>  			break;
>  		case OPT_NUM_SUBBUF:
>  			chan.attr.num_subbuf = atoi(poptGetOptArg(pc));
> -			DBG("Channel subbuf num set to %lu", chan.attr.num_subbuf);
> +			DBG("Channel subbuf num set to %" PRIu64, chan.attr.num_subbuf);
>  			break;
>  		case OPT_SWITCH_TIMER:
>  			chan.attr.switch_timer_interval = atoi(poptGetOptArg(pc));
> diff --git a/lttng/commands/enable_events.c b/lttng/commands/enable_events.c
> index 70caf6f..9fa2349 100644
> --- a/lttng/commands/enable_events.c
> +++ b/lttng/commands/enable_events.c
> @@ -24,6 +24,7 @@
>  #include <sys/stat.h>
>  #include <sys/types.h>
>  #include <unistd.h>
> +#include <inttypes.h>
>  
>  #include "../cmd.h"
>  #include "../conf.h"
> @@ -110,30 +111,30 @@ static int parse_kprobe_opts(struct lttng_event *ev, char *opt)
>  	}
>  
>  	/* Check for symbol+offset */
> -	ret = sscanf(opt, "%[^'+']+%li", name, &hex);
> +	ret = sscanf(opt, "%[^'+']+%" SCNu64, name, &hex);
>  	if (ret == 2) {
>  		strncpy(ev->attr.probe.symbol_name, name, LTTNG_SYMBOL_NAME_LEN);
>  		DBG("kprobe symbol %s", ev->attr.probe.symbol_name);
>  		if (hex == 0) {
> -			ERR("Invalid kprobe offset %lu", hex);
> +			ERR("Invalid kprobe offset %" PRIu64, hex);
>  			ret = -1;
>  			goto error;
>  		}
>  		ev->attr.probe.offset = hex;
> -		DBG("kprobe offset %lu", ev->attr.probe.offset);
> +		DBG("kprobe offset %" PRIu64, ev->attr.probe.offset);
>  		goto error;
>  	}
>  
>  	/* Check for address */
> -	ret = sscanf(opt, "%li", &hex);
> +	ret = sscanf(opt, "%" SCNu64, &hex);
>  	if (ret > 0) {
>  		if (hex == 0) {
> -			ERR("Invalid kprobe address %lu", hex);
> +			ERR("Invalid kprobe address %" PRIu64, hex);
>  			ret = -1;
>  			goto error;
>  		}
>  		ev->attr.probe.addr = hex;
> -		DBG("kprobe addr %lu", ev->attr.probe.addr);
> +		DBG("kprobe addr %" PRIu64, ev->attr.probe.addr);
>  		goto error;
>  	}
>  




More information about the lttng-dev mailing list