From b86408f869e4a8a1c7bfcb88d066c1f19b871727 Mon Sep 17 00:00:00 2001 From: fzielcke Date: Thu, 14 Aug 2008 18:46:47 +0000 Subject: [PATCH] 2008-08-14 Felix Zielcke * include/grub/err.h (grub_err_printf): New function prototype. * util/misc.c (grub_err_printf): New function. * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for grub_printf. * kern/err.c (grub_print_error): Use grub_err_printf. --- ChangeLog | 8 ++++++++ include/grub/err.h | 4 +++- kern/err.c | 6 +++--- kern/misc.c | 5 +++++ util/misc.c | 15 ++++++++++++++- 5 files changed, 33 insertions(+), 5 deletions(-) diff --git a/ChangeLog b/ChangeLog index 2a7ae8dd3..9e22291f2 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +2008-08-14 Felix Zielcke + + * include/grub/err.h (grub_err_printf): New function prototype. + * util/misc.c (grub_err_printf): New function. + * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for + grub_printf. + * kern/err.c (grub_print_error): Use grub_err_printf. + 2008-08-13 Robert Millan * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry. diff --git a/include/grub/err.h b/include/grub/err.h index 317bda436..50a9ea455 100644 --- a/include/grub/err.h +++ b/include/grub/err.h @@ -1,7 +1,7 @@ /* err.h - error numbers and prototypes */ /* * GRUB -- GRand Unified Bootloader - * Copyright (C) 2002,2005,2007 Free Software Foundation, Inc. + * Copyright (C) 2002,2005,2007,2008 Free Software Foundation, Inc. * * GRUB is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -64,5 +64,7 @@ void EXPORT_FUNC(grub_fatal) (const char *fmt, ...) __attribute__ ((noreturn)); void EXPORT_FUNC(grub_error_push) (void); int EXPORT_FUNC(grub_error_pop) (void); void EXPORT_FUNC(grub_print_error) (void); +int EXPORT_FUNC(grub_err_printf) (const char *fmt, ...) +__attribute__ ((format (printf, 1, 2))); #endif /* ! GRUB_ERR_HEADER */ diff --git a/kern/err.c b/kern/err.c index 837707971..8c78cb7b0 100644 --- a/kern/err.c +++ b/kern/err.c @@ -1,7 +1,7 @@ /* err.c - error handling routines */ /* * GRUB -- GRand Unified Bootloader - * Copyright (C) 2002,2005,2007 Free Software Foundation, Inc. + * Copyright (C) 2002,2005,2007,2008 Free Software Foundation, Inc. * * GRUB is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -121,14 +121,14 @@ grub_print_error (void) do { if (grub_errno != GRUB_ERR_NONE) - grub_printf ("error: %s\n", grub_errmsg); + grub_err_printf ("error: %s\n", grub_errmsg); } while (grub_error_pop ()); /* If there was an assert while using error stack, report about it. */ if (grub_error_stack_assert) { - grub_printf ("assert: error stack overflow detected!\n"); + grub_err_printf ("assert: error stack overflow detected!\n"); grub_error_stack_assert = 0; } } diff --git a/kern/misc.c b/kern/misc.c index 83fcc1684..bec6ebd33 100644 --- a/kern/misc.c +++ b/kern/misc.c @@ -134,6 +134,11 @@ grub_printf (const char *fmt, ...) return ret; } +#ifndef GRUB_UTIL +int grub_err_printf (const char *fmt, ...) +__attribute__ ((alias("grub_printf"))); +#endif + void grub_real_dprintf (const char *file, const int line, const char *condition, const char *fmt, ...) diff --git a/util/misc.c b/util/misc.c index ce98665c8..7d877ccf3 100644 --- a/util/misc.c +++ b/util/misc.c @@ -1,6 +1,6 @@ /* * GRUB -- GRand Unified Bootloader - * Copyright (C) 2002,2003,2005,2006,2007 Free Software Foundation, Inc. + * Copyright (C) 2002,2003,2005,2006,2007,2008 Free Software Foundation, Inc. * * GRUB is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -74,6 +74,19 @@ grub_util_error (const char *fmt, ...) exit (1); } +int +grub_err_printf (const char *fmt, ...) +{ + va_list ap; + int ret; + + va_start (ap, fmt); + ret = vfprintf (stderr, fmt, ap); + va_end (ap); + + return ret; +} + void * xmalloc (size_t size) {