jpeglib should not define EXTERN & friends
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
lsb |
Fix Released
|
Medium
|
Unassigned | ||
Mandriva |
Won't Fix
|
Low
|
Bug Description
Like a number of libraries, libjepg uses some macros in the code to make the
API more clear to readers. libncurses does the same, as do otehrs. Here are
the ones for jpeg:
/* a function called through method pointers: */
#define METHODDEF(type) static type
/* a function used only in its module: */
#define LOCAL(type) static type
/* a function referenced thru EXTERNs: */
#define GLOBAL(type) type
/* a reference to a GLOBAL function: */
#define EXTERN(type) extern type
The thing is, while these four defines appear in LSB, they are unused - because
of the way the database is used to define function signatures, it has to use
bare types, unadorned by macro definitions.
Since the above four defines are entirely unused, they should be removed from
LSB so they don't contribute noise to the compilation namespace. Their presence
is a non-fatal error, but EXTERN, at least, does contribute warnings to the
build of an application in the appbat.
Two approaches: either mark them as never appeared in LSB, or mark them
withdrawn in 4.1. In either case, an erratum for maintained spec releases
should be written.
This should do the withdraw-in-4.1 version:
UPDATE ArchConst JOIN Constant on Cid=ACcid SET ACwithdrawnin='4.1'
WHERE Cname='
UPDATE ArchConst JOIN Constant on Cid=ACcid SET ACwithdrawnin='4.1'
WHERE Cname='
UPDATE ArchConst JOIN Constant on Cid=ACcid SET ACwithdrawnin='4.1'
WHERE Cname='
UPDATE ArchConst JOIN Constant on Cid=ACcid SET ACwithdrawnin='4.1'
WHERE Cname='
Changed in mandriva: | |
importance: | Unknown → Low |
status: | Unknown → Won't Fix |