[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