error() function is an orphan
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,
extern unsigned int error_message_
extern int error_one_per_line;
extern void (* error_print_
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 |
tags: | added: spec |
tags: | added: zdecide |
Changed in mandriva: | |
status: | In Progress → Confirmed |
Changed in lsb: | |
status: | In Progress → Confirmed |
Changed in mandriva: | |
status: | Confirmed → In Progress |