lsb

error() function is an orphan

Bug #1327285 reported by Jeff Johnson
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
lsb
Confirmed
Medium
Unassigned
Mandriva
In Progress
Medium

Bug Description

This is carved off from bug 3403 since it's a separate issue, although it was
discovered during that investigation.

The interface 'error' is assigned to the header 'err.h' but should not be, it
belongs to a different set of interfaces, described thus:

SYNOPSIS
       #include <error.h>

       void error(int status, int errnum, const char *format, ...);

       void error_at_line(int status, int errnum, const char *filename,
                          unsigned int linenum, const char *format, ...);

       extern unsigned int error_message_count;

       extern int error_one_per_line;

       extern void (* error_print_progname) (void);

CONFORMING TO
       These functions and variables are GNU extensions, and should not be
       used in programs intended to be portable.

'error' is the only one of this batch in LSB, and LSB does not include the
<error.h> header. The problem with incorrect header assignment is if someone
brings a piece of code that uses this they will include <error.h>, and the
interface will have no prototype unless they also happened to include <err.h> -
these headers are not otherwise related.

Navigator shows a fair bit of usage of this function, so dropping it does not
seem a useful plan (37 versions of 34 apps), do we need to add the other parts
of the interface set?

Changed in mandriva:
importance: Unknown → Medium
status: Unknown → In Progress
Jeff Johnson (n3npq)
tags: added: spec
Jeff Johnson (n3npq)
tags: added: zdecide
Changed in mandriva:
status: In Progress → Confirmed
Jeff Johnson (n3npq)
Changed in lsb:
status: In Progress → Confirmed
Changed in mandriva:
status: Confirmed → In Progress
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.