[PATCH] libbb: restore special handling of nomsg errors
Denys Vlasenko
vda.linux at googlemail.com
Sun Jun 26 15:19:42 UTC 2022
Applied, thank you.
On Thu, Apr 21, 2022 at 9:02 AM Ron Yorston <rmy at pobox.com> wrote:
>
> The functions bb_perror_nomsg() and bb_perror_nomsg_and_die() are
> used to print error messages where no specific information is
> available. For example:
>
> $ busybox mktemp -p /
> mktemp: (null): Permission denied
>
> mktemp(3) doesn't tell us the name of the file it tried to create.
>
> However, printing '(null)' is a regression introduced by commit
> 6937487be (libbb: reduce the overhead of single parameter bb_error_msg()
> calls). Restore the previous behaviour by reverting the changes to
> the two functions mentioned:
>
> $ busybox mktemp -p /
> mktemp: Permission denied
>
> function old new delta
> bb_perror_nomsg_and_die 7 14 +7
> bb_perror_nomsg 7 14 +7
> ------------------------------------------------------------------------------
> (add/remove: 0/0 grow/shrink: 2/0 up/down: 14/0) Total: 14 bytes
>
> Signed-off-by: Ron Yorston <rmy at pobox.com>
> ---
> libbb/perror_nomsg.c | 4 ++--
> libbb/perror_nomsg_and_die.c | 4 ++--
> 2 files changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/libbb/perror_nomsg.c b/libbb/perror_nomsg.c
> index d7d53de44..a2a11cc8e 100644
> --- a/libbb/perror_nomsg.c
> +++ b/libbb/perror_nomsg.c
> @@ -12,11 +12,11 @@
> * instead of including libbb.h */
> //#include "libbb.h"
> #include "platform.h"
> -extern void bb_simple_perror_msg(const char *s) FAST_FUNC;
> +extern void bb_perror_msg(const char *s, ...) FAST_FUNC;
>
> /* suppress gcc "no previous prototype" warning */
> void FAST_FUNC bb_perror_nomsg(void);
> void FAST_FUNC bb_perror_nomsg(void)
> {
> - bb_simple_perror_msg(0);
> + bb_perror_msg(0);
> }
> diff --git a/libbb/perror_nomsg_and_die.c b/libbb/perror_nomsg_and_die.c
> index bea5f25a5..543ff5178 100644
> --- a/libbb/perror_nomsg_and_die.c
> +++ b/libbb/perror_nomsg_and_die.c
> @@ -12,11 +12,11 @@
> * instead of including libbb.h */
> //#include "libbb.h"
> #include "platform.h"
> -extern void bb_simple_perror_msg_and_die(const char *s) FAST_FUNC;
> +extern void bb_perror_msg_and_die(const char *s, ...) FAST_FUNC;
>
> /* suppress gcc "no previous prototype" warning */
> void FAST_FUNC bb_perror_nomsg_and_die(void);
> void FAST_FUNC bb_perror_nomsg_and_die(void)
> {
> - bb_simple_perror_msg_and_die(0);
> + bb_perror_msg_and_die(0);
> }
> --
> 2.35.1
>
> _______________________________________________
> busybox mailing list
> busybox at busybox.net
> http://lists.busybox.net/mailman/listinfo/busybox
More information about the busybox
mailing list