[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v1 2/8] migration: Don't use '#' flag of printf format
From: |
Peter Maydell |
Subject: |
Re: [PATCH v1 2/8] migration: Don't use '#' flag of printf format |
Date: |
Sun, 11 Oct 2020 19:19:15 +0100 |
On Sun, 11 Oct 2020 at 14:52, Bihong Yu <yubihong@huawei.com> wrote:
> @@ -998,7 +998,7 @@ static int block_load(QEMUFile *f, void *opaque, int
> version_id)
> (addr == 100) ? '\n' : '\r');
> fflush(stdout);
> } else if (!(flags & BLK_MIG_FLAG_EOS)) {
> - fprintf(stderr, "Unknown block migration flags: %#x\n", flags);
> + fprintf(stderr, "Unknown block migration flags: %0x\n", flags);
This doesn't look right. "%#x" will print a number in hex with a leading '0x'.
To get the same effect without using "#" you need "0x%x" (that is,
the format string provides the 0x characters literally).
What you've written is '%0x", which is a format string where the '0' is
a request to print with zero padding (which is ignored since there's no
field width given), so the result is the same as if you'd just said '%x',
and there is no '0x' in the output.
$ cat /tmp/zz9.c
#include <stdio.h>
int main(void) {
printf("%#x\n", 42);
printf("%0x\n", 42);
printf("0x%x\n", 42);
return 0;
}
$ gcc -g -Wall -o /tmp/zz9 /tmp/zz9.c
$ /tmp/zz9
0x2a
2a
0x2a
> default:
> - error_report("Unknown combination of migration flags: %#x"
> + error_report("Unknown combination of migration flags: %0x"
> " (postcopy mode)", flags);
> ret = -EINVAL;
> break;
> @@ -3576,7 +3576,7 @@ static int ram_load_precopy(QEMUFile *f)
> if (flags & RAM_SAVE_FLAG_HOOK) {
> ram_control_load_hook(f, RAM_CONTROL_HOOK, NULL);
> } else {
> - error_report("Unknown combination of migration flags: %#x",
> + error_report("Unknown combination of migration flags: %0x",
> flags);
> ret = -EINVAL;
> }
These two similarly should be "0x%x".
thanks
-- PMM
- [PATCH v1 7/8] migration: Open brace '{' following function declarations go on the next line, (continued)
- [PATCH v1 7/8] migration: Open brace '{' following function declarations go on the next line, Bihong Yu, 2020/10/11
- [PATCH v1 6/8] migration: Do not initialise statics and globals to 0 or NULL, Bihong Yu, 2020/10/11
- [PATCH v1 8/8] migration: Delete redundant spaces, Bihong Yu, 2020/10/11
- [PATCH v1 5/8] migration: Add braces {} for if statement, Bihong Yu, 2020/10/11
- [PATCH v1 2/8] migration: Don't use '#' flag of printf format, Bihong Yu, 2020/10/11
- [PATCH v1 4/8] migration: Open brace '{' following struct go on the same line, Bihong Yu, 2020/10/11
- Re: [PATCH v1 0/8] Fix some style problems in migration, no-reply, 2020/10/11
- [PATCH v1 0/8] Fix some style problems in migration, Bihong Yu, 2020/10/11
- [PATCH v1 1/8] migration: Do not use C99 // comments, Bihong Yu, 2020/10/11
- [PATCH v1 7/8] migration: Open brace '{' following function declarations go on the next line, Bihong Yu, 2020/10/11
- [PATCH v1 6/8] migration: Do not initialise statics and globals to 0 or NULL, Bihong Yu, 2020/10/11
- [PATCH v1 3/8] migration: Add spaces around operator, Bihong Yu, 2020/10/11
- [PATCH v1 8/8] migration: Delete redundant spaces, Bihong Yu, 2020/10/11
- [PATCH v1 5/8] migration: Add braces {} for if statement, Bihong Yu, 2020/10/11
- Re: [PATCH v1 0/8] Fix some style problems in migration, no-reply, 2020/10/11