[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