[systemd-devel] [PATCH] udev: fix printf specifiers

Zbigniew Jędrzejewski-Szmek zbyszek at in.waw.pl
Sat Dec 14 20:11:34 PST 2013


On Sat, Dec 14, 2013 at 06:48:34PM -0800, Shawn Landden wrote:
> This keeps the same behavior, which is wierd.
> ---
>  src/udev/udev-builtin-path_id.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/src/udev/udev-builtin-path_id.c b/src/udev/udev-builtin-path_id.c
> index 7476330..7543a11 100644
> --- a/src/udev/udev-builtin-path_id.c
> +++ b/src/udev/udev-builtin-path_id.c
> @@ -71,9 +71,9 @@ static int format_lun_number(struct udev_device *dev, char **path)
>  
>          /* address method 0, peripheral device addressing with bus id of zero */
>          if (lun < 256)
> -                return path_prepend(path, "lun-%d", lun);
> +                return path_prepend(path, "lun-%hhu", (unsigned char) lun);
>          /* handle all other lun addressing methods by using a variant of the original lun format */
> -        return path_prepend(path, "lun-0x%04x%04x00000000", (lun & 0xffff), (lun >> 16) & 0xffff);
> +        return path_prepend(path, "lun-0x%04hx%04hx00000000", (unsigned short)(lun & 0xffff), (unsigned short)(lun >> 16) & 0xffff);
>  }
Hm, nothing wrong with this approach, but I don't like all those casts.

I pushed a simpler change which adds 'l' in appropriate places.

Zbyszek


More information about the systemd-devel mailing list