On 06/04/2023 11:54 am, Roger Pau Monné wrote:
> On Thu, Apr 06, 2023 at 10:36:37AM +0100, Andrew Cooper wrote:
>> On 06/04/2023 10:18 am, Roger Pau Monne wrote:
>>> It's a GNU libc specific header which prevents building on musl for
>>> example.  Instead open code an equivalent replacement for the usage
>>> of ERROR() and DIFF_FATAL() macros.
>>>
>>> Signed-off-by: Roger Pau Monné <roger....@citrix.com>
>>> ---
>>> Cc: Konrad Rzeszutek Wilk <konrad.w...@oracle.com>
>>> Cc: Ross Lagerwall <ross.lagerw...@citrix.com>
>>> ---
>>>  common.h             | 10 ++++++----
>>>  create-diff-object.c |  1 -
>>>  lookup.c             |  7 +++++--
>>>  prelink.c            |  1 -
>>>  4 files changed, 11 insertions(+), 8 deletions(-)
>>>
>>> diff --git a/common.h b/common.h
>>> index 9a9da79..ec2ea33 100644
>>> --- a/common.h
>>> +++ b/common.h
>>> @@ -1,18 +1,20 @@
>>>  #ifndef _COMMON_H_
>>>  #define _COMMON_H_
>>>  
>>> -#include <error.h>
>>> -
>>>  extern char *childobj;
>>>  
>>>  #define ERROR(format, ...) \
>>> -   error(1, 0, "ERROR: %s: %s: %d: " format, childobj, __FUNCTION__, 
>>> __LINE__, ##__VA_ARGS__)
>>> +({ \
>>> +   fflush(stdout); \
>>> +   fprintf(stderr, "ERROR: %s: %s: %d: " format "\n", childobj, 
>>> __FUNCTION__, __LINE__, ##__VA_ARGS__); \
>>> +   exit(1); \
>>> +})
>>>  
>>>  #define DIFF_FATAL(format, ...) \
>>>  ({ \
>>>     fflush(stdout); \
>>>     fprintf(stderr, "ERROR: %s: " format "\n", childobj, ##__VA_ARGS__); \
>>> -   error(2, 0, "unreconcilable difference"); \
>>> +   exit(2); \
>>>  })
>> Looking at the usage, can't we just use err() instead?
> Hm, err() will unconditionaly use errno, which doesn't seem wanted
> here, as in both cases errnum is passed as 0, effectively preventing
> printing it.
>
> I could use errx(), as that doesn't append an error message, I think
> that's available on musl.
>
> Let me know if you agree with that substitution.

Yeah, anything in err.h ought to be fine.

>
>> Also, I suspect you don't intend to delete the error message in
>> DIFF_FATAL() ?
> I didn't think it was that helpful, but I could keep it.

I'd be hesitant to drop it, considering how much shell parsing there is
of these tools.

But ultimately it's up to Konrad/Ross.

~Andrew

Reply via email to