Hi,
* Wu Zhangjin <wuzhangjin@gmail.com> [2010-06-01 21:11:56+0800]:
>
> Changes:
>
> v1 -> v2:
> o make it more portable (feedback from Alexander Clouter)
> use EXIT_SUCCESS and EXIT_FAILURE as the return value, and use uint64_t
> instead of "unsigned long long".
> o add a missing return value (feedback from Alexander Clouter)
> return EXIT_FAILURE if (n != 1).
>
> We have calculated VMLINUZ_LOAD_ADDRESS in shell, which is awful. This patch
> rewrites it in C.
>
s/awful/indecipherable/
:)
> Signed-off-by: Wu Zhangjin <wuzhangjin@gmail.com>
> ---
> arch/mips/boot/.gitignore | 1 +
> arch/mips/boot/compressed/Makefile | 22 ++++----
> arch/mips/boot/compressed/calc_vmlinuz_load_addr.c | 55
> ++++++++++++++++++++
> 3 files changed, 66 insertions(+), 12 deletions(-)
> create mode 100644 arch/mips/boot/compressed/calc_vmlinuz_load_addr.c
>
> diff --git a/arch/mips/boot/compressed/calc_vmlinuz_load_addr.c
> b/arch/mips/boot/compressed/calc_vmlinuz_load_addr.c
> new file mode 100644
> index 0000000..81176b1
> --- /dev/null
> +++ b/arch/mips/boot/compressed/calc_vmlinuz_load_addr.c
> @@ -0,0 +1,55 @@
>
> [snipped]
>
> +
> + /* Convert hex characters to dec number */
> + errno = 0;
> + n = sscanf(argv[2], "%llx", &vmlinux_load_addr);
> + if (n != 1) {
>
you can drop the 'n' with:
if (sscanf(argv[2], "%llx", &vmlinux_load_addr) != 1) {
> + if (errno != 0)
> + perror("sscanf");
> + else
> + fprintf(stderr, "No matching characters\n");
> +
> + return EXIT_FAILURE;
> + }
> +
> + vmlinux_size = (unsigned long long)sb.st_size;
>
I'm guessing this should probably be uint64_t also?
Other than that, makes me happy :)
Cheers
--
Alexander Clouter
.sigmonster says: And furthermore, my bowling average is unimpeachable!!!
|